s->subdev_flags |= SDF_GROUND | SDF_COMMON | SDF_OTHER;
if(boardtype.adbits > 16)
s->subdev_flags |= SDF_LSAMPL;
+ if(boardtype.reg_type == ni_reg_m_series)
+ s->subdev_flags |= SDF_SOFT_CALIBRATED;
s->n_chan=boardtype.n_adchan;
s->len_chanlist=512;
s->maxdata=(1<<boardtype.adbits)-1;
dev->write_subdev=s;
s->type=COMEDI_SUBD_AO;
s->subdev_flags=SDF_WRITABLE|SDF_DEGLITCH|SDF_GROUND;
+ if(boardtype.reg_type == ni_reg_m_series)
+ s->subdev_flags |= SDF_SOFT_CALIBRATED;
s->n_chan=boardtype.n_aochan;
s->maxdata=(1<<boardtype.aobits)-1;
s->range_table = boardtype.ao_range_table;
#define SDF_MODE3 0x0400 /* can do mode 3 */
#define SDF_MODE4 0x0800 /* can do mode 4 */
#define SDF_CMD 0x1000 /* can do commands */
+#define SDF_SOFT_CALIBRATED 0x2000 /* subdevice uses software calibration */
#define SDF_READABLE 0x00010000 /* subdevice can be read (e.g. analog input) */
#define SDF_WRITABLE 0x00020000 /* subdevice can be written (e.g. analog output) */
// X2 encoding
#define GPCT_X2 0x02
// X3 encoding
-#define GPCT_X4 0x04
+#define GPCT_X4 0x04
// When to take into account the indexpulse:
#define GPCT_IndexPhaseHighHigh 0
#define GPCT_IndexPhaseLowHigh 1