int board_type;
int n_aichan;
int n_aochan;
- int ai_maxdata;
unsigned int ai_ns_min;
const struct comedi_lrange *rangelist_ai;
unsigned int IRQbits;
unsigned int has_dma:1;
+ unsigned int has_16bit_ai:1;
unsigned int has_mpc508_mux:1;
unsigned int has_dio:1;
};
.board_type = boardPCL812,
.n_aichan = 16,
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 33000,
.rangelist_ai = &range_bipolar10,
.IRQbits = 0xdcfc,
.board_type = boardPCL812PG,
.n_aichan = 16,
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 33000,
.rangelist_ai = &range_pcl812pg_ai,
.IRQbits = 0xdcfc,
.board_type = boardPCL812PG,
.n_aichan = 16,
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_pcl812pg_ai,
.IRQbits = 0xdcfc,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_acl8112dg_ai,
.IRQbits = 0xdcfc,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_acl8112hg_ai,
.IRQbits = 0xdcfc,
.board_type = boardA821,
.n_aichan = 16, /* 8 differential */
.n_aochan = 1,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_pcl813b_ai,
.IRQbits = 0x000c,
.name = "a821pglnda",
.board_type = boardA821,
.n_aichan = 16, /* 8 differential */
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_pcl813b_ai,
.IRQbits = 0x000c,
.board_type = boardA821,
.n_aichan = 16, /* 8 differential */
.n_aochan = 1,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_a821pgh_ai,
.IRQbits = 0x000c,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_acl8112dg_ai,
.IRQbits = 0xdcfc,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 10000,
.rangelist_ai = &range_acl8112hg_ai,
.IRQbits = 0xdcfc,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 8000,
.rangelist_ai = &range_acl8112dg_ai,
.IRQbits = 0xdcfc,
.board_type = boardACL8112,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0x0fff,
.ai_ns_min = 8000,
.rangelist_ai = &range_acl8112hg_ai,
.IRQbits = 0xdcfc,
.name = "pcl813",
.board_type = boardPCL813,
.n_aichan = 32,
- .ai_maxdata = 0x0fff,
.rangelist_ai = &range_pcl813b_ai,
}, {
.name = "pcl813b",
.board_type = boardPCL813B,
.n_aichan = 32,
- .ai_maxdata = 0x0fff,
.rangelist_ai = &range_pcl813b_ai,
}, {
.name = "acl8113",
.board_type = boardACL8113,
.n_aichan = 32,
- .ai_maxdata = 0x0fff,
.rangelist_ai = &range_acl8113_1_ai,
}, {
.name = "iso813",
.board_type = boardISO813,
.n_aichan = 32,
- .ai_maxdata = 0x0fff,
.rangelist_ai = &range_iso813_1_ai,
}, {
.name = "acl8216",
.board_type = boardACL8216,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0xffff,
.ai_ns_min = 10000,
.rangelist_ai = &range_pcl813b2_ai,
.IRQbits = 0xdcfc,
.has_dma = 1,
+ .has_16bit_ai = 1,
.has_mpc508_mux = 1,
.has_dio = 1,
}, {
.board_type = boardACL8216,
.n_aichan = 16, /* 8 differential */
.n_aochan = 2,
- .ai_maxdata = 0xffff,
.ai_ns_min = 10000,
.rangelist_ai = &range_pcl813b2_ai,
.IRQbits = 0xdcfc,
.has_dma = 1,
+ .has_16bit_ai = 1,
.has_dio = 1,
},
};
s->subdev_flags |= SDF_GROUND;
s->n_chan = board->n_aichan;
}
- s->maxdata = board->ai_maxdata;
+ s->maxdata = board->has_16bit_ai ? 0xffff : 0x0fff;
pcl812_set_ai_range_table(dev, s, it);