GX5296
Sets the output mode of the specified channels in the specified array of sites.
GtDio6xMultiSiteSetSiteOutputMode (nHandle, lSitelListArraySize, palSitelListArray, nOutputMode, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
Session identifier:Board handle is used when communicating with the hardware. The Board handle session identifier is returned by calling GtDio6xInitialize or GtDio6xSetupInitialization. |
lSitelListArraySize |
LONG |
Number of sites in the palSitelListArray. Number of sites can be between 1-32. Passing -1, then the palSitelListArray parameter is ignored, and all the channels not in any of the sites will be set to the specified output state. |
palSitelListArray |
PLONG |
Array of list of sites numbers. |
nOutputMode |
SHORT |
Output mode can be set as follows:0. GTDIO6X_MULTI_SITE_OUTPUT_DYNAMIC_IO: Normal sequencer-controlled mode used when outputting vectors dynamically. Output voltage levels will be set according to the GtDio6xChannelSetSourceLevels API.1. GTDIO6X_MULTI_SITE_OUTPUT_DISABLED: Disable the Output.2. GTDIO6X_MULTI_SITE_OUTPUT_OUTPUT_LOW: Force a static logic low level on the output. The output voltage level low will be set according to the GtDio6xChannelSetSourceLevels API.3. GTDIO6X_MULTI_SITE_OUTPUT_OUTPUT_HIGH: Force a static logic high level on the output. The output voltage level high will be set according to the GtDio6xChannelSetSourceLevels API. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative value on failure. |
This function sets the output mode of the specified channels in the specified array of sites. A channel can be set to dynamic digital I/O where the data sequencer controls its operation, a static voltage level output, or disabled. This function takes the list of channels from the site array and calls GtDio6xChannelSetMode() API with the output mode.
User can call the GtDio6xChannelGetMode() API to get specific channel’s output mode.
Note: The GtDio6xMultiSiteXXX() APIs provides the functionality required for efficient multi-site testing. By enabling parallel testing of multiple Devices Under Test (DUTs) simultaneously.
The following example sets 3 sites with a list of channels, sets all to channels in those sites to GTDIO6X_MULTI_SITE_OUTPUT_DYNAMIC_IO and sets all the other channels to GTDIO6X_MULTI_SITE_OUTPUT_DISABLED:
SHORT nStatus;
LONG l, lChannelCount;
LONG lChannel;
LONG alSiteChannels[32];
LONG alSite[3];
// Fill Site #0 Channels Array: CH0-CH3
for (l = 0; l < 4; l++)
alSiteChannels[l] = l;
// Set Site0 Channels list
GtDio6xMultiSiteSetChannelList(nHandle, 0, 4, alSiteChannels, &nStatus);
CheckStatus(nStatus);
// Fill Site #1 Channels Array: CH5-CH8
for (l = 0; l < 4; l++)
alSiteChannels[l] = l + 5;
// Set Site #1 Channels list
GtDio6xMultiSiteSetChannelList(nHandle, 1, 4, alSiteChannels, &nStatus);
CheckStatus(nStatus);
// Fill Site #2 Channels Array: CH10-CH12
for (l = 0; l < 3; l++)
alSiteChannels[l] = l + 10;
// Set Site #2 Channels list
GtDio6xMultiSiteSetChannelList(nHandle, 2, 4, alSiteChannels, &nStatus);
CheckStatus(nStatus);
GtDio6xMultiSiteGetSiteCount (nHandle, &lSiteCount, &nStatus)
for (l = 0; l < lSiteCount; l++)
alSite[l]=l;
GtDio6xMultiSiteSetSiteOutputMode (nHandle, lSiteCount, alSite, GTDIO6X_MULTI_SITE_OUTPUT_DYNAMIC_IO, &nStatus);
// All other channels set to disable:
GtDio6xMultiSiteSetSiteOutputMode (nHandle, -1, NULL, GTDIO6X_MULTI_SITE_OUTPUT_DISABLED, &nStatus);
GtDio6xMultiSiteDeleteAllSites, GtDio6xMultiSiteGetChannelList, GtDio6xMultiSiteGetRealTimeCompareFailures, GtDio6xMultiSiteGetSiteChannelCount , GtDio6xMultiSiteGetSiteList, GtDio6xMultiSiteGetSiteCount, GtDio6xMultiSiteSetSiteArray, GtDio6xMultiSiteWriteSystemMemoryToBoard , GtDio6xMultiSiteWriteVectorMemoryToSystemMemory, GtDio6xGetErrorString