📄 p_ce_cesriop.cxx
字号:
if (pSignalPara == NULL)
{
/*CES_RLSA_ExceptionReport(CEMERROR_RIOP_PARAM_POINTER_IS_NULL,
__LINE__,
FILE_CES_CEM_RIOP);*/
V_NextState(S_Idle);
}
memcpy((VOID *)&(pVar->RIOPChangedPriorityVar), pSignalPara, sizeof(T_RIOPChangedPriority));
pVar->byCESRIOPPriority = pVar->RIOPChangedPriorityVar.byPriority;
V_NextState(S_Idle);
case E_O_R_RIOPSetAutoAdjust:
if (pSignalPara == NULL)
{
/*CES_RLSA_ExceptionReport(CEMERROR_RIOP_PARAM_POINTER_IS_NULL,
__LINE__,
FILE_CES_CEM_RIOP);*/
V_NextState(S_Idle);
}
memcpy((VOID *)&(pVar->RIOPSetAutoAdjustVar), pSignalPara, sizeof(T_RIOPAutoAdjust));
if (pVar->RIOPSetAutoAdjustVar.bOpen == FALSE)
{
pVar->bEnableAutoAdjust = FALSE;
}
else
{
pVar->bEnableAutoAdjust = TRUE;
}
V_NextState(S_Idle);
default:
V_DefaultNextState();
}
} //lint !e744
}
/**************************************/
/* procedures Entity */
/**************************************/
/* Procedure : RIOPStopAllReportItem */
static VOID RIOPStopAllReportItem (VOID)
{
T_P_CE_CESRIOPVars * pVar;
Integer iStopLoop;
//pVar = (T_P_CE_CESRIOPVars *)R_GetVarSpacePtr();
pVar = (T_P_CE_CESRIOPVars *)V_GetSelfPriDataPtr();
bStopAllReport = TRUE;
pVar->byCESRIOPPriority = 0;
for( iStopLoop=0; iStopLoop < MAX_CHM_OBSERVE_PROC_NUM; iStopLoop++ )
{
pVar->RIOPProcessConfigTableArrayVar[iStopLoop].ucObserveProPriHi = 0x0f;
pVar->RIOPProcessConfigTableArrayVar[iStopLoop].ucObserveProPriLow = 0x0f;
}
return;
}
/* Procedure : FillProcessTable */
static Boolean FillProcessTable (T_RIOPSetDyn RIOPSetDynVar)
{
T_P_CE_CESRIOPVars * pVar;
Integer iFillProLoop;
Integer index;
Boolean IsSuccess = FALSE;
//pVar = (T_P_CE_CESRIOPVars *)R_GetVarSpacePtr();
pVar = (T_P_CE_CESRIOPVars *)V_GetSelfPriDataPtr();
for( iFillProLoop = 0; iFillProLoop < MAX_OBSERVE_PROC_NUM; iFillProLoop++ )
{
if( ( 0 == RIOPSetDynVar.byProcType[0] ) &&
( iFillProLoop < MAX_CHM_OBSERVE_PROC_NUM ) )
{
if( RIOPSetDynVar.byTraceSet[0] == 0xff)
{
bStopAllReport = true;
}
pVar->RIOPProcessConfigTableArrayVar[iFillProLoop].ucObserveProPriLow = RIOPSetDynVar.byTraceSet[0] & 0x0f;
pVar->RIOPProcessConfigTableArrayVar[iFillProLoop].ucObserveProPriHi = RIOPSetDynVar.byTraceSet[0] >> 4;
IsSuccess = TRUE;
}
else
{
if( RIOPSetDynVar.byProcType[iFillProLoop] == 0 )
{
break;
}
else
{
for( index=0; index < MAX_CHM_OBSERVE_PROC_NUM; index++ )
{
if( RIOPSetDynVar.byProcType[iFillProLoop] == pVar->RIOPProcessConfigTableArrayVar[index].ObserveProName )
{
pVar->RIOPProcessConfigTableArrayVar[index].ucObserveProPriLow = RIOPSetDynVar.byTraceSet[iFillProLoop] & 0x0f;
pVar->RIOPProcessConfigTableArrayVar[index].ucObserveProPriHi = RIOPSetDynVar.byTraceSet[iFillProLoop] >> 4;
IsSuccess = TRUE;
break;
}
}
}
}
}
return IsSuccess;
}
/* Procedure : IsObserveEnable */
static Boolean IsObserveEnable (T_SIGNAL CESignal)
{
T_P_CE_CESRIOPVars * pVar;
Integer iObsLoop;
WORD wErrIdtmp;
BYTE PriNormal = RUNINFO_PRI_HIGHEST;
BYTE PriAbnormal = RUNINFO_PRI_HIGHEST;
BYTE testProName;
//pVar = (T_P_CE_CESRIOPVars *)R_GetVarSpacePtr();
pVar = (T_P_CE_CESRIOPVars *)V_GetSelfPriDataPtr();
wErrIdtmp = CESignal.wErrId & 0x0fff;
if( wErrIdtmp == 0x0 ) //normal information
{
PriNormal = CESignal.byPriority;
if( PriNormal >= pVar->byCESRIOPPriority )
{
for( iObsLoop=0; iObsLoop < MAX_CHM_OBSERVE_PROC_NUM; iObsLoop++ )
{
if( CESignal.wProcName == pVar->RIOPProcessConfigTableArrayVar[iObsLoop].ObserveProName )
{
if( PriNormal >= pVar->RIOPProcessConfigTableArrayVar[iObsLoop].ucObserveProPriHi )
{
return TRUE;
}
break;
}
else
{
;
}
}
}
}
else //abnormal information
{
PriAbnormal = CESignal.byPriority;
if( PriAbnormal >= pVar->byCESRIOPPriority )
{
for( iObsLoop=0; iObsLoop < MAX_CHM_OBSERVE_PROC_NUM; iObsLoop++ )
{
testProName = pVar->RIOPProcessConfigTableArrayVar[iObsLoop].ObserveProName;
if( CESignal.wProcName == testProName)
{
if( PriAbnormal >= pVar->RIOPProcessConfigTableArrayVar[iObsLoop].ucObserveProPriLow )
{
return TRUE;
}
break;
}
else
{
;
}
}
}
}
return FALSE;
}
/* Procedure : TransferToRIOReport */
static VOID TransferToRIOReport (T_SIGNAL * transCESignal, T_RIOReport * transRIOReportVar)
{
T_P_CE_CESRIOPVars * pVar;
Time CurrentTime;
Integer iTransLoop;
//pVar = (T_P_CE_CESRIOPVars *)R_GetVarSpacePtr();
pVar = (T_P_CE_CESRIOPVars *)V_GetSelfPriDataPtr();
if ((NULL == pVar)||(NULL == transCESignal)||(NULL == transRIOReportVar))
{
return;
}
CurrentTime = Now();
TimeToClock(CurrentTime, &(transRIOReportVar->tRIclock));
transRIOReportVar->LogicAddr = R_GetLogicAddress();
transRIOReportVar->dwPNO = PNO_Construct(pVar->VitualPNO, pVar->byInstNO);
transRIOReportVar->wErrId = transCESignal->wErrId;
transRIOReportVar->wSubErrId = transCESignal->wSubErrId;
transRIOReportVar->byPriority = transCESignal->byPriority;
memcpy(transRIOReportVar->RunInfo, transCESignal->RunInfoPtr, transCESignal->RunInfoLen);
transRIOReportVar->RunInfoLen = transCESignal->RunInfoLen;
return;
}
/* Procedure : RIOPInitialProcessTable */
static VOID RIOPInitialProcessTable (VOID)
{
T_P_CE_CESRIOPVars * pVar;
Integer iInitLoop;
//pVar = (T_P_CE_CESRIOPVars *)R_GetVarSpacePtr();
pVar = (T_P_CE_CESRIOPVars *)V_GetSelfPriDataPtr();
pVar->RIOPProcessConfigTableArrayVar[0].ObserveProName = P_CE_Control;
pVar->RIOPProcessConfigTableArrayVar[1].ObserveProName = P_CE_Sync;
pVar->RIOPProcessConfigTableArrayVar[2].ObserveProName = P_CE_Paging;
pVar->RIOPProcessConfigTableArrayVar[3].ObserveProName = P_CE_Access;
pVar->RIOPProcessConfigTableArrayVar[4].ObserveProName = P_CE_FwdTraffic;
pVar->RIOPProcessConfigTableArrayVar[5].ObserveProName = P_CE_RevTraffic;
pVar->RIOPProcessConfigTableArrayVar[6].ObserveProName = P_CE_CSM;
pVar->RIOPProcessConfigTableArrayVar[7].ObserveProName = P_CE_OCNS;
pVar->RIOPProcessConfigTableArrayVar[8].ObserveProName = P_CE_CMNAPP;
pVar->RIOPProcessConfigTableArrayVar[9].ObserveProName = P_CE_Reserved;
for( iInitLoop=0; iInitLoop < MAX_CHM_OBSERVE_PROC_NUM; iInitLoop++ )
{
pVar->RIOPProcessConfigTableArrayVar[iInitLoop].ucObserveProPriHi = 0x0f;
pVar->RIOPProcessConfigTableArrayVar[iInitLoop].ucObserveProPriLow = 0x0f;
}
return;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -