GX5055, GX5295, File
Sets the channel operating mode.
DioSetupChannelMode (nHandle, nChannelListMode, nCountOrFirstChannel, panChannelList, nLastChannel, nMode, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
DIO Master handle, Slave handle or File board handle. |
nChannelListMode |
SHORT |
Channel list mode dictates how nCountOrFirstChannel and panChannelList parameters are used. Channel list mode options are as follows:0 DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS: The user specifies an array of channels where nCountOrFirstChannel is the number of elements in the list array and panChannelList is an array contains the channels numbers. In this mode nLastChannel is ignored.1 DIO_CH_LIST_MODE_ALL_BOARD_CHANNELS: Apply the settings to all the board’s channels associated with this board handle. In this mode nCountOrFirstChannel, panChannelList and nLastChannel variavles are ignored.2 DIO_CH_LIST_MODE_ALL_DOMAIN_CHANNELS: Apply the settings to all the channels in the domain, e.g. if there are two boards in the domain (Master and a Slave), then all 64 channels will be set. In this mode nCountOrFirstChannel, panChannelList and nLastChannel variavles are ignored.3 DIO_CH_LIST_MODE_RANGE_OF_CHANNELS: Apply settings to a range of channels where nCountOrFirstChannel is the first channel number and nLastChannel is the last channel number. In this mode panChannelList variavle is ignored. |
nCountOrFirstChannel |
SHORT |
If nChannelListMode parameter is set to DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, then it is specifying the number of elements in the panChannelList array parameter.If nChannelListMode parameter is set to DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, then it is specifying the first channel number to apply the settings to,otherwise it is ignored and should set to zero.Channel number in the DIO domain, each DIO board adds 32 I/O channels. I/O channels number range is 0-991 (1 master and 30 slaves).Gx5295: Each DIO board adds 4 Auxiliary channels, Auxiliary channels number range is 0-123 (1 master and 30 slaves). |
panChannelList |
PSHORT |
Array of channels numbers. Channels numbers can be from 0 to the last channel in the domain. E.g., if the domain has two boards then the last channel is 63.This parameter is only used if nChannelListMode parameter is set to DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, otherwise is should be passed as NULL.Channel number in the DIO domain, each DIO board adds 32 I/O channels. I/O channels number range is 0-991 (1 master and 30 slaves).Gx5295: Each DIO board adds 4 Auxiliary channels, Auxiliary channels number range is 0-123 (1 master and 30 slaves). |
nLastChannel |
SHORT |
If nChannelListMode parameter is set to DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, then it is specifying the last channel number to apply the settings to,otherwise it is ignored and should set to zero.Channel number in the DIO domain, each DIO board adds 32 I/O channels. I/O channels number range is 0-991 (1 master and 30 slaves).Gx5295: Each DIO board adds 4 Auxiliary channels, Auxiliary channels number range is 0-123 (1 master and 30 slaves). |
nMode |
SHORT |
Channel operating mode are0 DIO_CHANNEL_MODE_DYNAMIC_IO: default operating mode, channel is in dynamic I/O mode and output is enabled.1 DIO_CHANNEL_MODE_DISABLED: channel’s output is disabled (Tri-State).2 DIO_CHANNEL_MODE_OUTPUT_LOW: channel’s output is set to low; the ou tput low voltage corresponds to the output low voltage settings.3 DIO_CHANNEL_MODE_OUTPUT_HIGH: channel’s output is set to high; the output high voltage corresponds to the output high voltage settings.4 DIO_CHANNEL_MODE_PMU_FORCE_CURRENT: channel’s output is set to PMU (Parametric Measurement Unit) forced current mode. The channel’s forced current is set to zero5 DIO_CHANNEL_MODE_PMU_FORCE_VOLTAGE: channel’s output is set to PMU (Parametric Measurement Unit) forced voltage mode. The channel’s forced voltage is set to zero volts. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative number on failure. |
For detail regarding additional setting when set to PMU (Parametric Measurement Unit) forced current and forced voltage mode see DioPmuSetupForcedCurrent and DioPmuSetupForcedVoltage functions..
The following example uses an array of channels list to be set to output low mode:
SHORT anChannelList[]={0, 2, 5, 7, 9, 13, 14, 27};
DioSetupChannelMode (nHandle, DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, 8, anChannelList, 0, DIO_PMU_COMPARATORS_SOURCE_FORCED_CURRENT, &nStatus);
The following example sets all the board’s channels to output low:
DioSetupChannelMode (nHandle, DIO_CH_LIST_MODE_ALL_BOARD_CHANNELS, 0, NULL , 0, DIO_PMU_COMPARATORS_SOURCE_FORCED_CURRENT, &nStatus);
The following example sets all the boards channels to output low:
DioSetupChannelMode (nHandle, DIO_CH_LIST_MODE_ALL_DOMAIN_CHANNELS, 0, NULL , 0, DIO_PMU_COMPARATORS_SOURCE_FORCED_CURRENT, &nStatus);
The following example sets channels 5 to 10 to output low:
DioSetupChannelMode (nHandle, DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, 5, NULL, 10, DIO_PMU_COMPARATORS_SOURCE_FORCED_CURRENT, &nStatus);
DioGetChannelMode, DioPmuSetupForcedCurrent, DioPmuSetupForcedVoltage, DioGetErrorString