/* counter maps zero to 0x10000 */ #define I8254_MAX_COUNT 0x10000
struct comedi_8254;
/** * typedef comedi_8254_iocb_fn - call-back function type for 8254 register access * @i8254: pointer to struct comedi_8254 * @dir: direction (0 = read, 1 = write) * @reg: register number * @val: value to write * * Return: Register value when reading, 0 when writing.
*/ typedefunsignedint comedi_8254_iocb_fn(struct comedi_8254 *i8254, int dir, unsignedint reg, unsignedint val);
/** * struct comedi_8254 - private data used by this module * @iocb: I/O call-back function for register access * @context: context for register access (e.g. a base address) * @iosize: I/O size used to access the registers (b/w/l) * @regshift: register gap shift * @osc_base: cascaded oscillator speed in ns * @divisor: divisor for single counter * @divisor1: divisor loaded into first cascaded counter * @divisor2: divisor loaded into second cascaded counter * #next_div: next divisor for single counter * @next_div1: next divisor to use for first cascaded counter * @next_div2: next divisor to use for second cascaded counter * @clock_src; current clock source for each counter (driver specific) * @gate_src; current gate source for each counter (driver specific) * @busy: flags used to indicate that a counter is "busy" * @insn_config: driver specific (*insn_config) callback
*/ struct comedi_8254 {
comedi_8254_iocb_fn *iocb; unsignedlong context; unsignedint iosize; unsignedint regshift; unsignedint osc_base; unsignedint divisor; unsignedint divisor1; unsignedint divisor2; unsignedint next_div; unsignedint next_div1; unsignedint next_div2; unsignedint clock_src[3]; unsignedint gate_src[3]; bool busy[3];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.