Sets AI scan trigger
mdaqAIScanTrigger(triggerType, p1,...,pn); mdaqAIScanTrigger(linkID, triggerType, p1,...,pn);
This function configures and sets a trigger for analog input scan session. If a trigger is used, after starting analog input scanning with mdaqAIScanStart() scan operation is blocked until certain condition defined by trigger occurs. In this state, analog input samples are not acquired by MicroDAQ device. Blocked scanning session can be interrupted by calling mdaqAIScanStop(). The mdaqAIScanTrigger() function can be called only after scan initialization function mdaqAIScanInit() call and before scan start function mdaqAIScanStart() call. When scanning session uses a trigger, it is recommended to read data with timeout different than -1 (infinity) this will prevent from freezing Scilab in the case when the trigger will not occur. Only one trigger type can be used for analog input scanning session. When a function is called more then one time it will overwrite previous trigger configuration. Function mdaqAIScanInit() disables trigger.
The function allows configuring different trigger types which are defined by trigger type string.
Supported triggers types:
"none": disables trigger for analog input scan
"dio": trigger occurs when state (0|1) is present on one of DIO1...8 digital input channel. /para>
Function parameters: p1 - DIO channel number in range 1...8, p2 - DIO state which which triggers AI scan start
"dioPattern": trigger occurs when defined digital pattern matches DIO1...8 digital input channels state
Function parameters: p1 - DIO pattern string containing eight characters (x|1|0) defining desired DIO1...8 state. The 'x' character indicates that DIO is state is ignored, while 0 and 1 indicated low and high state respectively. DIO pattern defines DIO state in the following order DIO1, DIO2, DIO3, DIO4, DIO5, DIO6, DIO7, DIO8 e.g pattern '11xxxxxx' is related to DIO1 and DIO2 state.
"encoder": trigger occurs when value of selected encoder module is greater or lower then provided value
Function parameters: p1 - encoder module number (1|2), p2 - encoder value, p3 - defines if trigger shall occur for value greater(1) or lower(0) then p2 argument
"dsp": trigger occurs when DSP application is started on MicroDAQ DSP
"ao": trigger occurs when AO scan session is started
linkID: Valid connection link id (optional)
triggerType: Trigger type string
p1,...,pn: Trigger parameters
dioValue trigger type - start data acquisition from AI1 analog input when DIO7 state is high
mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("dio", 7, 1); data = mdaqAIScanRead(10000, 10); plot(data); | ![]() | ![]() |
dioPattern trigger type - start data acquisition from AI1 analog input when DIO7 state is high
mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("dioPattern", "xxxxxx1x"); data = mdaqAIScanRead(10000, 10); plot(data); | ![]() | ![]() |
dioPattern trigger type - start data acquisition from AI1 analog input when DIO7 state is high and DIO6 is low
mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("dioPattern", "xxxxx01x"); data = mdaqAIScan(10000, 10); plot(data); | ![]() | ![]() |
encoderValue trigger type - start data acquisition from AI1 analog input when encoder channel 1 value is greater then 1000
mdaqEncoderInit(1, 0); mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("encoder", 1, 1000, 1); data = mdaqAIScanRead(10000, 10); plot(data); | ![]() | ![]() |
encoderValue trigger type - start data acquisition from AI1 analog input when encoder channel 2 value is lower then 0
mdaqEncoderInit(2, 0, "quadrature"); mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("encoder", 2, 0, 0); data = mdaqAIScanRead(10000, 10); plot(data); | ![]() | ![]() |
dspStart trigger type - synchronize AI scan start with DSP application start
mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("dsp"); data = mdaqAIScanRead(10000, 2); plot(data); | ![]() | ![]() |
aoStart trigger type - synchronize AI scan start with AO scan start
mdaqAIScanInit(1, [-10,10], %F, 10000, 1) mdaqAIScanTrigger("dsp"); data = mdaqAIScanRead(10000, 2); plot(data); | ![]() | ![]() |