/* Event function for state "START" in state set "limit" */ static seqBool E_limit_2_START(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) { # line 137 "../demo.st" if (seq_efTestAndClear(ssId, 1/*loFlag*/) && pVar->loLimit > pVar->hiLimit) { *pNextState = 0; *pTransNum = 0; return TRUE; } # line 142 "../demo.st" if (seq_efTestAndClear(ssId, 2/*hiFlag*/) && pVar->hiLimit < pVar->loLimit) { *pNextState = 0; *pTransNum = 1; return TRUE; } return FALSE; }
/* Event function for state "waitForActualToEqualRequested" in state set "monitorEvflagTest" */ static seqBool E_monitorEvflagTest_0_waitForActualToEqualRequested(SS_ID ssId, struct UserVar *pVar, int *pTransNum, int *pNextState) { # line 46 "../monitorEvflag.st" if (seq_efTestAndClear(ssId, 1/*actualChanged*/) && pVar->actual == pVar->requested) { *pNextState = 1; *pTransNum = 0; return TRUE; } # line 55 "../monitorEvflag.st" if (seq_delay(ssId, 0)) { seq_exit(ssId); *pTransNum = 1; return TRUE; } return FALSE; }
/* Event function for state "waitForActualToEqualRequested" in state set "monitorEvflagTest" */ static seqBool seqg_event_monitorEvflagTest_0_waitForActualToEqualRequested(SS_ID seqg_env, int *seqg_ptrn, int *seqg_pnst) { # line 46 "../monitorEvflag.st" if (seq_efTestAndClear(seqg_env, actualChanged) && seqg_var->actual == seqg_var->requested) { *seqg_pnst = 1; *seqg_ptrn = 0; return TRUE; } # line 55 "../monitorEvflag.st" if (seq_delay(seqg_env, 1.0)) { seq_exit(seqg_env); *seqg_ptrn = 1; return TRUE; } return FALSE; }
/* Event function for state "check_not_set" in state set "myss" */ static seqBool seqg_event_myss_0_check_not_set(SS_ID seqg_env, int *seqg_ptrn, int *seqg_pnst) { # line 28 "../userfuncEf.st" if (seq_efTestAndClear(seqg_env, x)) { *seqg_pnst = 1; *seqg_ptrn = 0; return TRUE; } # line 31 "../userfuncEf.st" if (seq_delay(seqg_env, 0.5)) { *seqg_pnst = 1; *seqg_ptrn = 1; return TRUE; } return FALSE; }