GtDio6xMultiSiteGetSiteCount

Applies To

GX5296

Purpose

Returns number of declared sites.

Syntax

GtDio6xMultiSiteGetSiteCount (nHandle, plSiteCount, 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.
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.

Comments

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.

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

    }

}

 

See Also

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