GX5296, GX5961, GX5964, File
Sets the specified step pause and resume trigger settings.
GtDio6xStepSetPauseResumeTrigger (nHandle, lStep, nSource, nResumeModifier, 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. |
lStep |
LONG |
Step Number to access 0-4095. |
nSource |
SHORT |
Sets the resume modifier for the specified sequence step:0. GTDIO6X_PAUSE_TRIGGER_DISABLED: Pause trigger disabled. 1. GTDIO6X_PAUSE_TRIGGER_0_TRUE_RESUME_PAUSE_TRIGGER_0_FALSE: Pause on Trigger 0 true, Resume on Pause Trigger 0 false (see GtDio6xTrigConfigSetPauseResumeTrigger API for details). 2. GTDIO6X_PAUSE_TRIGGER_0_FALSE_RESUME_PAUSE_TRIGGER_0_TRUE: Pause: on Trigger 0 false, Resume on Pause Trigger 0 true (see GtDio6xTrigConfigSetPauseResumeTrigger API for details). 3. GTDIO6X_PAUSE_TRIGGER_1_TRUE_RESUME_PAUSE_TRIGGER_1_FALSE: Pause: on Trigger 1 true, Resume on Pause Trigger 1 false (see GtDio6xTrigConfigSetPauseResumeTrigger API for details). 4. GTDIO6X_PAUSE_TRIGGER_1_FALSE_RESUME_PAUSE_TRIGGER_1_TRUE: Pause: on Trigger 1 false, Resume on Pause Trigger 1 true (see GtDio6xTrigConfigSetPauseResumeTrigger API for details). 5. GTDIO6X_PAUSE_PHASE_0_ASSERT_RESUME_PHASE_0_TRIGGER: Pause on Timing Set Phase 0 Assert edge, Resume on Phase 0 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 6. GTDIO6X_PAUSE_PHASE_0_RETURN_RESUME_PHASE_0_TRIGGER: Pause on Timing Set Phase 0 Return edge, Resume on Phase 0 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 7. GTDIO6X_PAUSE_PHASE_1_ASSERT_RESUME_PHASE_1_TRIGGER: Pause on Timing Set Phase 1 Assert edge, Resume on Phase 1 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 8. GTDIO6X_PAUSE_PHASE_1_RETURN_RESUME_PHASE_1_TRIGGER: Pause on Timing Set Phase 1 Return edge, Resume on Phase 1 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 9. GTDIO6X_PAUSE_PHASE_2_ASSERT_RESUME_PHASE_2_TRIGGER: Pause on Timing Set Phase 2 Assert edge, Resume on Phase 2 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 10. GTDIO6X_PAUSE_PHASE_2_RETURN_RESUME_PHASE_2_TRIGGER: Pause: on Timing Set Phase 2 Return edge, Resume on Phase 2 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 11. GTDIO6X_PAUSE_PHASE_3_ASSERT_RESUME_PHASE_3_TRIGGER: Pause on Timing Set Phase 3 Assert edge, Resume on Phase 3 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). 12. GTDIO6X_PAUSE_PHASE_3_RETURN_RESUME_PHASE_3_TRIGGER: Pause: on Timing Set Phase 3 Return edge, Resume on Phase 3 Resume Trigger (see GtDio6xTrigConfigSetPhaseResumeTrigger API for details). |
nResumeModifier |
SHORT |
Sets the resume modifier for the specified sequence step:0. GTDIO6X_PAUSE_RESUME_MODIFIER_NONE: Continue on Resume Signal only. 1. GTDIO6X_PAUSE_RESUME_MODIFIER_VECTOR_DELAY0: Continue either on resume signal or Vector Delay 1 timer done (see GtDio6xTimerSetPauseResumeModifierDelay API). 2. GTDIO6X_PAUSE_RESUME_MODIFIER_VECTOR_DELAY1: Continue either on resume signal or Vector Delay 2 timer done (see GtDio6xTimerSetPauseResumeModifierDelay API). 3. GTDIO6X_PAUSE_RESUME_MODIFIER_TIMEOUT: Set pattern timeout status if resume not received before pattern timer terminal count. The timer will start when the Pause starts. The Pattern Delay Timer generates a Resume when the timer times out (see GtDio6xTimerSetPauseResumeModifierTimeout API). |
pnStatus |
PSHORT |
Returned status: 0 on success, negative value on failure. |
The handshake logic allows the user to assign a signal (Pause) that can be either an internal or external, which will halt the sequencer. When halted, the following hardware will stop:
● Phases.
● Windows.
● Waveforms.
For each pause signal selection, there is a corresponding signal that will continue (Resume) sequence operation.
Pause Resume Trigger Source:
There are four pause / resume trigger source which are based on the GtDio6xTrigConfigSetPauseResumeTrigger API settings:
● GTDIO6X_PAUSE_TRIGGER_0_TRUE_RESUME_PAUSE_TRIGGER_0_FALSE: Pause on Trigger 0 true, Resume on Pause Trigger 0 false.
● GTDIO6X_PAUSE_TRIGGER_0_FALSE_RESUME_PAUSE_TRIGGER_0_TRUE: Pause on Trigger 0 false, Resume on Pause Trigger 0 true.
● GTDIO6X_PAUSE_TRIGGER_1_TRUE_RESUME_PAUSE_TRIGGER_1_FALSE: Pause on Trigger 1 true, Resume on Pause Trigger 1 false.
● GTDIO6X_PAUSE_TRIGGER_1_FALSE_RESUME_PAUSE_TRIGGER_1_TRUE: Pause on Trigger 1 false, Resume on Pause Trigger 1 true.
Note: When setting the pause/resume trigger source, make sure that if the pause and resume have different trigger sources, that the test for the trigger to pause is set to edge and not level, otherwise the resume and pause will have a race condition, and the pause condition will persist.
There are eight pause / resume trigger source which pause the sequencer execution based on the timing set phase assert or return and resume the sequencer’s operation when the phase resume trigger is true or false. The pause timing is triggered on the step’s one of four phase assert or return. In order to set the steps’ phase asserts and return timing set use the GtDio6xStepSetTimingSetIndex API to associate the step with a specify pre defined timing set index. The timing set index data is set using the GtDio6xTimingSetMemoryWriteData API. The resume is based on the setting of the GtDio6xTrigConfigSetPauseResumeTrigger API.
● GTDIO6X_PAUSE_PHASE_0_ASSERT_RESUME_PHASE_0_TRIGGER = 5.
● GTDIO6X_PAUSE_PHASE_0_RETURN_RESUME_PHASE_0_TRIGGER= 6.
● GTDIO6X_PAUSE_PHASE_1_ASSERT_RESUME_PHASE_1_TRIGGER= 7.
● GTDIO6X_PAUSE_PHASE_1_RETURN_RESUME_PHASE_1_TRIGGER= 8.
● GTDIO6X_PAUSE_PHASE_2_ASSERT_RESUME_PHASE_2_TRIGGER= 9.
● GTDIO6X_PAUSE_PHASE_2_RETURN_RESUME_PHASE_2_TRIGGER= 10.
● GTDIO6X_PAUSE_PHASE_3_ASSERT_RESUME_PHASE_3_TRIGGER= 11.
● GTDIO6X_PAUSE_PHASE_3_RETURN_RESUME_PHASE_3_TRIGGER= 12.
The following example set step 0 to Pause on Trigger 0 true, Resume on Pause Trigger 0 false, and return the settings:
SHORT nSource, nResumeModifier;
SHORT nStatus;
GtDio6xStepSetPauseResumeTrigger (nHandle, 0, GTDIO6X_PAUSE_TRIGGER_0_TRUE_RESUME_PAUSE_TRIGGER_0_FALSE, GTDIO6X_PAUSE_RESUME_MODIFIER_NONE, &nStatus);
GtDio6xStepGetPauseResumeTrigger (nHandle, 0, & nSource, &nResumeModifier, &nStatus);
GtDio6xStepGetPauseResumeTrigger, GtDio6xStepSetControl, GtDio6xStepGetControl, GtDio6xGetErrorString