GX5296
Returns number of declared sites.
GtDio6xMultiSiteGetSiteCount (nHandle, plSiteCount, 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. |
plSiteCount |
PLONG |
Returns number of declared sites, number of sites can be between 1-32. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative value on failure. |
When a channel transitions from an output vector code to an input vector code, the driver output enable can be set to disable at the beginning of the Vector (System Clock) or when the phase assert signal transitions (rising edge).
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 lSiteCount, 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);
GtDio6xMultiSiteGetSiteCount (nHandle, &lSiteCount, &nStatus);
CheckStatus(nStatus);
for (l=0; l< lSiteCount; 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, GtDio6xMultiSiteSetChannelList, GtDio6xMultiSiteSetSiteArray, GtDio6xMultiSiteWriteSystemMemoryToBoard, GtDio6xMultiSiteWriteVectorMemoryToSystemMemory, GtDio6xGetErrorString