static void handle_a_interrupt(struct comedi_device *dev, unsigned short status,
unsigned ai_mite_status)
{
- struct ni_private *devpriv = dev->private;
struct comedi_subdevice *s = dev->read_subdev;
+ struct comedi_cmd *cmd = &s->async->cmd;
/* 67xx boards don't have ai subdevice, but their gpct0 might generate an a interrupt */
if (s->type == COMEDI_SUBD_UNUSED)
return;
}
if (status & AI_SC_TC_St) {
- if (!devpriv->ai_continuous)
+ if (cmd->stop_src == TRIG_COUNT)
shutdown_ai_command(dev);
}
}
/* load SC (Scan Count) */
ni_stc_writew(dev, AI_SC_Load, AI_Command_1_Register);
- devpriv->ai_continuous = 0;
if (stop_count == 0) {
devpriv->ai_cmd2 |= AI_End_On_End_Of_Scan;
interrupt_a_enable |= AI_STOP_Interrupt_Enable;
/* load SC (Scan Count) */
ni_stc_writew(dev, AI_SC_Load, AI_Command_1_Register);
-
- devpriv->ai_continuous = 1;
-
break;
}
unsigned short dio_output;
unsigned short dio_control;
int aimode;
- int ai_continuous;
unsigned int ai_calib_source;
unsigned int ai_calib_source_enabled;
spinlock_t window_lock;