前言
模式管理包括在ECU或ECU内的功能单元之间切换其可能的工作状态。 其主要包含了Mode Manager和Mode User,可实现(Mode switch event)和(Mode disabling dependencies)两种效果,如下示例图。今天来看一下模式管理是如何在代码里实现(Mode disabling dependencies)的。
模式管理示例
Mode Manager
//应用层
static eBOOL AAA_UpdateRteForEcuStateChange( tUI8 EcuState_RTE_Mode)
{
Std_ReturnType Rte_Return;
eBOOL retval = False;
/*Inform RTE about the state Change*/
Rte_Return = Rte_Switch_PEcuState_ApplicationModes(EcuState_RTE_Mode);
/*Check if RTE mode update for state change is finished */
if(RTE_E_OK == Rte_Return)
{
retval = True;
//Value is stored redundantly to check the data Integrity of Rte_ModeStatus
RteEcuModeStsRed_gdu16=(((tUI16)1u) << EcuState_RTE_Mode);