unsigned int ai_act_chanlist[16]; // MUX setting for actual AI operations
unsigned int ai_act_chanlist_len; // how long is actual MUX list
unsigned int ai_act_chanlist_pos; // actual position in MUX list
+ unsigned int ai_n_chan; // how many channels is measured
unsigned int ai_poll_ptr; // how many sampes transfer poll
comedi_subdevice *sub_ai; // ptr to AI subdevice
#ifdef unused
if (++devpriv->ai_act_chanlist_pos >= devpriv->ai_act_chanlist_len)
devpriv->ai_act_chanlist_pos = 0;
- if (s->async->cur_chan == 0) {
+ s->async->cur_chan++;
+ if (s->async->cur_chan >= devpriv->ai_n_chan) {
+ s->async->cur_chan = 0;
devpriv->ai_act_scan++;
}
if (++devpriv->ai_act_chanlist_pos >=
devpriv->ai_act_chanlist_len) {
devpriv->ai_act_chanlist_pos = 0;
+ }
+
+ s->async->cur_chan++;
+ if (s->async->cur_chan >= devpriv->ai_n_chan) {
+ s->async->cur_chan = 0;
devpriv->ai_act_scan++;
}
return -EINVAL;
comedi_udelay(1);
+ devpriv->ai_n_chan = cmd->chanlist_len;
devpriv->ai_act_scan = 0;
s->async->cur_chan = 0;
devpriv->irq_blocked = 1;