GX5296, File
Returns an array with the specified number of timing sets edges.
GtDio6xTimingSetEdgeGet (nHandle, nEdgeCount, panEdgeList, padEdgeVaules, 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. ● File handle is used when communicating with a file. The File handle session identifier is returned by calling GtDio6xFileOpen. |
nEdgeCount |
SHORT |
Used to specify the number of edges are in the panEdgeList array list . |
panEdgeList |
PSHORT |
Array containing the edges numbers that will be get by this function. Edges numbers are:0. GTDIO6X_TIMING_SET_EDGE_0: Edge 0 (not programmable edge, always 0.0 nSec).1. GTDIO6X_TIMING_SET_EDGE_1: Edge 1.2. GTDIO6X_TIMING_SET_EDGE_2: Edge 2.3. GTDIO6X_TIMING_SET_EDGE_3: Edge 3.4. GTDIO6X_TIMING_SET_EDGE_4: Edge 4.5. GTDIO6X_TIMING_SET_EDGE_5: Edge 5.6. GTDIO6X_TIMING_SET_EDGE_6: Edge 6.7. GTDIO6X_TIMING_SET_EDGE_7: Edge 7.8. GTDIO6X_TIMING_SET_EDGE_8: Edge 8.9. GTDIO6X_TIMING_SET_EDGE_9: Edge 9.10. GTDIO6X_TIMING_SET_EDGE_10: Edge 10 (GX5296 Firmware version > 0xAA03).11. GTDIO6X_TIMING_SET_EDGE_11: Edge 11 (GX5296 Firmware version > 0xAA03).12. GTDIO6X_TIMING_SET_EDGE_12: Edge 12 (GX5296 Firmware version > 0xAA03). |
padEdgeVaules |
PDOUBLE |
Array containing the edges values as specified by the panEdgeList. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative value on failure. |
The timing set engine generates programmable edges that can be set from 0nSec to the current programmable system clock period, e.g. If the system clock was programmed to 100nSec, then each of the edges can be programmed to any value between 0 to 100nSec with 0.25 nSec resolution. The user only needs to set those global values once, as the phase assert/return and window open/close are then associated with any of these edge values.
The following example sets all 10 timing sets edges and returns their values:
SHORT nStatus, nMode;
LONG anEdgeList[10];
DOUBLE adEdge[10];
DOUBLE adEdgeReadback[10];
LONG i;
for (i=0; i<10; i++)
{ adEdge[i]=i*0.25; // increments of 0.25nSec
anEdgeList[i]=i;
}
GtDio6xTimingSetEdgeSet(nHandle, 10, anEdgeList, adEdge, &nStatus);
GtDio6xTimingSetEdgeGet(nHandle, 10, anEdgeList, adEdgeReadback, &nStatus);
GtDio6xStepSetPauseResumeTrigger, GtDio6xTimingSetEdgeReset, GtDio6xSequencerRun, GtDio6xSequencerRunEx, GtDio6xSequencerStop, GtDio6xSequencerHalt, GtDio6xGetErrorString