コード例 #1
0
ファイル: demo.c プロジェクト: T-A-R-L-A/EPICS-Base
/* 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
ファイル: monitorEvflag.c プロジェクト: T-A-R-L-A/EPICS-Base
/* 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
ファイル: monitorEvflag.c プロジェクト: rorydog1/epics
/* 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
ファイル: userfuncEf.c プロジェクト: rorydog1/epics
/* 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;
}