Пример #1
0
/* 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;
}
Пример #2
0
/* 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;
}
Пример #3
0
/* 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;
}
Пример #4
0
/* 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;
}