GtDio6xMultiSiteSetSiteOutputMode

Applies To

GX5296

Purpose

Sets the output mode of the specified channels in the specified array of sites.

Syntax

GtDio6xMultiSiteSetSiteOutputMode (nHandle, lSitelListArraySize, palSitelListArray, nOutputMode, pnStatus)

Parameters

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.

Comments

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.

Example

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);

 

See Also

GtDio6xMultiSiteDeleteAllSites, GtDio6xMultiSiteGetChannelList, GtDio6xMultiSiteGetRealTimeCompareFailures, GtDio6xMultiSiteGetSiteChannelCount , GtDio6xMultiSiteGetSiteList, GtDio6xMultiSiteGetSiteCount, GtDio6xMultiSiteSetSiteArray, GtDio6xMultiSiteWriteSystemMemoryToBoard , GtDio6xMultiSiteWriteVectorMemoryToSystemMemory, GtDio6xGetErrorString