fix 671x analog output insn that i broke
authorFrank Mori Hess <fmhess@speakeasy.net>
Sat, 11 Jan 2003 05:18:56 +0000 (05:18 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Sat, 11 Jan 2003 05:18:56 +0000 (05:18 +0000)
comedi/drivers/ni_mio_common.c

index a12f2a72055d325896688cd417ae3f5738e497ee..a35646cb27c6d3da02f147742354fe70abc254c4 100644 (file)
@@ -1948,7 +1948,7 @@ static int ni_ao_config_chanlist(comedi_device *dev, comedi_subdevice *s,
        int i, bits;
        int invert = 0;
 
-       if( boardtype.ao_671x ){
+       if( boardtype.reg_611x ){
                ao_win_out( CLEAR_WG, AO_Misc_611x);
 
                bits = 0;
@@ -2025,8 +2025,11 @@ static int ni_ao_insn_write_671x(comedi_device *dev,comedi_subdevice *s,
        unsigned int invert;
 
        ao_win_out(1 << chan, AO_Immediate_671x);
-
        invert = 1 << (boardtype.aobits - 1);
+
+       if( boardtype.reg_611x == 0 )
+               ni_ao_config_chanlist(dev,s,&insn->chanspec,1);
+
        devpriv->ao[chan] = data[0];
        ao_win_out(data[0] ^ invert, DACx_Direct_Data_671x(chan));