Issue a software trigger when the specified event capture memory set to continuous mode.
Gx3748EventCaptureSoftwareTrigger (nHandle, nMemory, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
Handle to a GX3748 board. |
nMemory |
SHORT |
Specified memory number, memory number are as follows:0. GX3748_EVENT_CAPTURE_MEMORY0: memory number 0.1. GX3748_EVENT_CAPTURE_MEMORY1: memory number 1.2. GX3748_EVENT_CAPTURE_MEMORY2: memory number 2. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative number on failure. |
The function issues a software trigger when the specified event capture memory set to continuous mode.
There are 3 independent event capture memories. Each memory can record input events from any of the channels’ groups by setting the memory source, Gx3748EventCaptureSetSource() API. The user can read any number of elements from any of the memories using the Gx3748EventCaptureReadMemory() API., as well as the current number of recorded elements by calling the Gx3748EventCaptureReadMemoryCount() API. Whenever the user changes the specified event capture memory input source (group and channel), the content of that memory and the recorded element counter will be cleared. Whenever the user changes the specified event capture memory mode, Gx3748EventCaptureSetMode() API , the content of that memory and the recorded element counter will be cleared.
GX3748_EVENT_CAPTURE_MODE_TRANSITIONS: In this mode once the specified event capture memory is enabled, by calling the Gx3748EventCaptureSetState() API, any input voltage transition (low to high or vice versa) will record the timestamp and the voltage levels at that time. When done, the user can disable the specified event capture memory form recording any more transition by calling the Gx3748EventCaptureSetState() API. Once the memory is in a HALT state, the memory content can be read.
GX3748_EVENT_CAPTURE_MODE_CONTINUOUS: In this mode once the specified event capture memory is enabled, by calling the Gx3748EventCaptureSetState() API, the input voltage level at every sample rate period will be recorded with its timestamp. The sample rate can be set by calling the Gx3748EventCaptureSetSampleRate() API. When done, the user can disable the specified event capture memory form recording any more transition by calling the Gx3748EventCaptureSetState() API. Once the memory is in a HALT state, the memory content can be read.
Note: Each event capture memory can have up to 12288 recorded everts, and ignore any additional samples.
The following example sets event capture memory 0 mode to Transitions, state to HALT, reset the time stamp counter and return its value, returns the memory mode, state, memory counter and content:
SHORT nHandle, nStatus;
SHORT nMode, nState, nCounter;
BYTE ucLogicLevel[256];
DOUBLE dTime [256];
DWORD dwSize;
DOUBLE dTimestampCounter;
Gx3748EventCaptureResetTimestampCounter (nHandle, &nStatus);
Gx3748EventCaptureReadTimestampCounter (nHandle, &dTimestampCounter, &nStatus);
Gx3748EventCaptureSetState (nHandle, GX3748_EVENT_CAPTURE_MEMORY0, GX3748_EVENT_CAPTURE_STATE_HALT, &nStatus);
Gx3748EventCaptureSetMode (nHandle, GX3748_EVENT_CAPTURE_MEMORY0, GX3748_EVENT_CAPTURE_MODE_TRANSITIONS, &nStatus);
Gx3748EventCaptureGetMode (nHandle, GX3748_EVENT_CAPTURE_MEMORY0, &nMode, &nStatus);
Gx3748EventCaptureGetState (nHandle, GX3748_EVENT_CAPTURE_MEMORY0, &nState, &nStatus);
Gx3748EventCaptureReadMemoryCount(nHandle, GX3748_EVENT_CAPTURE_MEMORY0, &nCounter, &nStatus);
if (nCounter)
{
dwSize= nCounter;
Gx3748EventCaptureReadMemory(nHandle, GX3748_EVENT_CAPTURE_MEMORY0, GX3748_EVENT_CAPTURE_TIME_UNITS_ USEC, ucLogicLevel, dTime, 0, &dwSize, &nStatus);
}
Gx3748EventCaptureClearMemory, Gx3748EventCaptureReadMemory, Gx3748EventCaptureReadMemoryCount, Gx3748EventCaptureReadTimestampCounter, Gx3748EventCaptureResetTimestampCounter, Gx3748EventCaptureSetMode, Gx3748EventCaptureSetSampleRate, Gx3748EventCaptureSetSource, Gx3748EventCaptureSetState, Gx3748EventCaptureSetHoldoffTime, GxFpgaGetErrorString