s->state |= (data[0]&data[1]);
outl(s->state & 0x0f, dev->iobase + PCI9118_DO);
}
- data[1] = inl(dev->iobase + PCI9118_DI) & 0x0f;
+ data[1] = s->state;
return 2;
}
s->state |= (data[0]&data[1]);
outw(s->state, dev->iobase + PCI171x_DO);
}
- data[1] = inw(dev->iobase + PCI171x_DI);
+ data[1] = s->state;
return 2;
}
switch(cmd->stop_src)
{
- case TRIG_EXT:
- if(cmd->stop_arg)
- {
- cmd->stop_arg = 0;
- err++;
- }
- break;
case TRIG_COUNT:
if(!cmd->stop_arg)
{
if(insn->n!=2)return -EINVAL;
s->state &= ~data[0];
- s->state |= data[1];
+ s->state |= data[0] & data[1];
outb(s->state, dev->iobase + DT2811_DIO);
+ data[1] = s->state;
+
return 2;
}
s->state |= (data[0]&data[1]);
outw(s->state, dev->iobase + MULTIQ3_DIGOUT_PORT);
+ data[1] = s->state;
+
return 2;
}
outb(s->state&0xff,dev->iobase+this_board->do_lo);
if(data[1]&0xff00)
outb((s->state>>8),dev->iobase+this_board->do_hi);
-
+
+ data[1] = s->state;
+
return 2;
}
outb(s->state & 0xff, dev->iobase + PCL818_DO_LO);
outb((s->state >> 8), dev->iobase + PCL818_DO_HI);
+ data[1] = s->state;
+
return 2;
}
-/*
+/*
==============================================================================
analog input interrupt mode 1 & 3, 818 cards
one sample per interrupt version
outb(s->state ^ 0xff, dev->iobase + RTI800_DO);
}
+ data[1] = s->state;
+
return 2;
}
/* Write out the new digital output lines */
//outw(s->state,dev->iobase + SKEL_DIO);
}
+
/* on return, data[1] contains the value of the digital
- * input lines. */
+ * input and output lines. */
//data[1]=inw(dev->iobase + SKEL_DIO);
+ /* or we could just return the software copy of the output values if
+ * it was a purely digital output subdevice */
+ //data[1]=s->state;
return 2;
}
/* The input or output configuration of each digital line is
* configured by a special insn_config instruction. chanspec
- * contains the channel to be changed, and data[0] contains the
+ * contains the channel to be changed, and data[0] contains the
* value COMEDI_INPUT or COMEDI_OUTPUT. */
-
+
if(data[0]==COMEDI_OUTPUT){
s->io_bits |= 1<<chan;
}else{