VTI Instruments Corp.
108 EX10xxA Programming
an array of four 8-bit values representing the enabling of events from any of the 8 channels of
the digital I/O port. The order of the values is: positive edge, negative edge, positive level,
negative level. Each value is specified in either decimal (0 through 255) or hex (0x00 through
0xFF). Within the 8-bit field, the MSB corresponds to DIO channel 7 and the LSB
corresponds to DIO channel 0.
an array of four 8-bit values representing the enabling of events from any of the eight LAN
events. The order of the values is: positive edge, negative edge, positive level, negative level.
Each value is specified in either decimal (0 through 255) or hex (0x00 through 0xFF). Within
the 8-bit field, the MSB corresponds to LAN 7 and the LSB corresponds to LAN 0.
a Boolean value indicating the enable status of the Timer event
a Boolean value indicating the enable status of the Immediate event.
a Boolean value indicating the enable status of the LXI alarm event
Regardless of this setting, software arms are always enabled.
Example #1: This code block enables arm on the timer only.
ViUInt16 vtb_masks[4] = {0,0,0,0};
ViUInt16 dio_masks[4] = {0,0,0,0};
ViUInt16 lan_masks[4] = {0,0,0,0};
vtex10xxA_set_arm_sourceEx(vi, vtb_masks, dio_masks, lan_masks, 1, 0, 0);
Example #2: This code block enables arm on a positive level on DIO channels 0 through 3 and a
negative edge on VTB channel 6.
ViUInt16 vtb_masks[4] = {0,64,0,0};
ViUInt16 dio_masks[4] = {0,0,0x0F,0};
ViUInt16 lan_masks[4] = {0,0,0,0};
vtex10xxA_set_arm_sourceEx(vi, vtb_masks, dio_masks, lan_masks, 0, 0, 0);
Example #3: This code block enables software arm only.
ViUInt16 vtb_masks[4] = {0,0,0,0};
ViUInt16 dio_masks[4] = {0,0,0,0};
ViUInt16lan_masks[4] = {0,0,0,0};
vtex10xxA_set_arm_sourceEx(vi, vtb_masks, dio_masks, lan_masks, 0, 0, 0);
The current ARM source is queried with the vtex10xxA_get_arm_sourceEx query.
The ARM count is configured with the vtex10xxA_set_arm_count function, specified with a value
from 1 to (2
31
-1). This value is reset with each trigger initialize or automatically upon reaching zero
when init continuous is enabled.
Example: This code block sets an ARM count of 10.
vtex10xxA_set_arm_count(vi, 10);
The current ARM count is queried with the vtex10xxA_get_arm_count query.
Alternatively, the ARM count can be set to infinity, overriding any manual setting of ARM count,
with the vtex10xxA_set_arm_infinite function. This function simply accepts a Boolean value
indicating the enable status of an infinite ARM count.
The current setting of an infinite ARM count is queried with the vtex10xxA_get_arm_infinite
query.