GX5296
Sets the specified site number with a list of channels.
GtDio6xMultiSiteSetChannelList (nHandle, lSiteNumber, lChannelListArraySize, palChannelListArray, 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. |
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. |
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.
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]);
}
}
GtDio6xMultiSiteDeleteAllSites, GtDio6xMultiSiteGetChannelList, GtDio6xMultiSiteGetRealTimeCompareFailures, GtDio6xMultiSiteGetSiteChannelCount , GtDio6xMultiSiteGetSiteList, GtDio6xMultiSiteGetSiteCount, GtDio6xMultiSiteSetSiteArray, GtDio6xMultiSiteWriteSystemMemoryToBoard, GtDio6xMultiSiteWriteVectorMemoryToSystemMemory, GtDio6xGetErrorString