GtDio6xMultiSiteSetChannelList

Applies To

GX5296

Purpose

Sets the specified site number with a list of channels.

Syntax

GtDio6xMultiSiteSetChannelList (nHandle, lSiteNumber, lChannelListArraySize, palChannelListArray, 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.
lSiteNumber
LONG
Site number can be 0 (GTDIO6X_MULTI_SITE_FIRST_SITE_NUM) to 31 (GTDIO6X_MULTI_SITE_MAX_SITE_NUM). Site number don’t need in sequential order as long as they are between 0-31.
lChannelListArraySize
LONG
Specifies the size of the palChannelListArray.
palChannelListArray
PLONG
Passed an array contains the channels numbers associated with the specified site number.
pnStatus
PSHORT
Returned status: 0 on success, negative value on failure.

Comments

The function sets an array with channels’ numbers that are associated with the specified site number. User should call GtDio6xMultiSiteDeleteAllSites() API before setting any multi-site channels.

In case the specified site number is already exists, the function will delete all previous channels associated with this site number and apply the new list.

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, and prints each site channel count, and site’s list of channels:

Note: see GtDio6xMultiSiteGetRealTimeCompareFailures() API for a complete example.

SHORT   nStatus;

LONG    l, lChannelCount;

LONG    lChannel;

LONG    alSiteChannels[32];

 

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

for (l=0; l<3; l++)

{   GtDio6xMultiSiteGetSiteChannelCount (nHandle, 0, &lChannelCount, &nStatus)

    printf("Site %i, Channel Count Channel %i\n\n", l, lChannelCount);

    for (lChannel=0; l< lChannelCount; lChannel++)

    {   GtDio6xMultiSiteGetChannelList(nHandle, l, lChannelCount, alSiteChannels, &nStatus);

        CheckStatus(nStatus);

        printf("Site %i, Channel %i\n\n", l, alSiteChannels[l]);

    }

}

 

See Also

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