.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
.n_aochan = 2,
.aobits = 12,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.n_aochan = 2,
.aobits = 12,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.aobits = 16,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
for (i = 0; i < length; i++) {
range = CR_RANGE(cmd->chanlist[chan_index]);
- if (board->ao_unipolar == 0 || (range & 1) == 0)
+
+ if (comedi_range_is_bipolar(s, range))
array[i] -= offset;
#ifdef PCIDMA
array[i] = cpu_to_le16(array[i]);
range = CR_RANGE(chanspec[i]);
conf = AO_Channel(chan);
- if (board->ao_unipolar) {
- if ((range & 1) == 0) {
- conf |= AO_Bipolar;
- invert = (1 << (board->aobits - 1));
- } else {
- invert = 0;
- }
- if (range & 2)
- conf |= AO_Ext_Ref;
- } else {
+ if (comedi_range_is_bipolar(s, range)) {
conf |= AO_Bipolar;
invert = (1 << (board->aobits - 1));
+ } else {
+ invert = 0;
}
+ if (comedi_range_is_external(s, range))
+ conf |= AO_Ext_Ref;
/* not all boards can deglitch, but this shouldn't hurt */
if (chanspec[i] & CR_DEGLITCH)
.aobits = 16,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
.aobits = 16,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
.aobits = 12,
.ao_fifo_depth = 512,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug }, /* doc says mb88341 */
.aobits = 12,
.ao_fifo_depth = 512,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
.aobits = 16,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.n_aochan = 2,
.aobits = 12,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 100000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug }, /* manual is wrong */
.ai_speed = 3000,
.n_aochan = 2,
.aobits = 16,
- .ao_unipolar = 1,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
.ao_speed = 3000,
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.aobits = 12,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 1000,
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
.ai_speed = 3000,
.n_aochan = 2,
.aobits = 16,
- .ao_unipolar = 1,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
.ao_speed = 3000,
.aobits = 16,
.ao_fifo_depth = 2048,
.ao_range_table = &range_ni_E_ao_ext,
- .ao_unipolar = 1,
.ao_speed = 10000,
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
.ao_fifo_depth = 8191,
.ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x,
- .ao_unipolar = 1,
.ao_speed = 350,
.num_p0_dio_channels = 8,
.caldac = { caldac_none },
.ao_fifo_depth = 8191,
.ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x,
- .ao_unipolar = 1,
.ao_speed = 350,
.num_p0_dio_channels = 8,
.caldac = { caldac_none },
.ao_fifo_depth = 8191,
.ao_range_table = &range_ni_M_628x_ao,
.reg_type = ni_reg_628x,
- .ao_unipolar = 1,
.ao_speed = 350,
.num_p0_dio_channels = 32,
.caldac = { caldac_none },