//***************************************************************************** // (C) Automotive Lighting Reutlingen GmbH // Tuebinger Strasse 123, 72762 Reutlingen, Germany // // Automotive Lighting Reutlingen GmbH owns all the rights to this work. // This work shall not be copied, reproduced, used, modified, transferred // or its information shall not be disclosed without the prior written // authorization of Automotive Lighting Reutlingen GmbH. //***************************************************************************** //----------------------------------------------------------------------------- /// \file Test.c /// /// \brief Unit Test Cases for CodM /// /// \author /// //----------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include //#include #include #include #include //extern extern tisLightFuncFS LightFuncFSOutput; extern tisMotor_FS MotorFSOutput; extern tisAFS_FS AFS_FSOutput; extern uint8 DLP_HDB_CableFailure; /* RCable Failure Status */ extern uint8 DLP_HDB_MasterSlave; /* Master Slave Mode */ extern uint8 SysMon_DLP_HDB_LinkStatus; /* Link Status */ extern uint8 SysMon_DLP_HDB_SQI; /* Ethernet SQI */ extern uint8 SysMon_KL30_VoltValue; /* RL KL30 Voltage */ extern boolean ELM_RL_L_TailL_State; /* RL Left Tail Light feedback */ extern boolean ELM_RL_R_TailL_State; /* RL Right Tail Light feedback */ extern boolean ELM_ISD_L_State; /* Left ISD Light feedback */ extern boolean ELM_ISD_R_State; /* Right ISD Light feedback */ extern boolean ELM_Grille_State; /* Grille Light feedback */ extern boolean ELM_RL_L_TI_State; /* RL Left TI Light feedback */ extern boolean ELM_RL_R_TI_State; /* RL Right TI Light feedback */ extern boolean ELM_RL_L_BrakeL_State; /* RL Left Brake Light feedback */ extern boolean ELM_RL_R_BrakeL_State; /* RL Right Brake Light feedback */ extern uint8 T_DiagErr_EnaTime_100ms; extern uint8 T_DTCEnaTime_1500ms; extern uint8 T_DTCEnaTime_3s; extern uint8 T_DTCEnaTime_3s; extern uint8 T_GeneralDiagEnaTime_100ms; extern uint8 T_CodingDiagEnaTime_500ms; extern uint8 T_ResetReasonWriteEnaTime_1s; extern uint16 Ethernet_SQI;/* Ethernet Signal Quality */ extern uint16 Ethernet_SQI_pre;/* last Ethernet Signal Quality */ extern uint32 Ethernet_CRCErr_Data; /* Ethernet CRC error data */ extern uint32 Ethernet_CRCErr_Data_pre; /* last Ethernet CRC error data */ extern uint8 SysMon_Ethernet_CRCErr_State; /* Ethernet CRC error state */ extern uint8 SysMon_Ethernet_CRCErr_State_pre; /* last Ethernet CRC error state */ extern uint8 SysMon_BodyCAN_BusOff_State; /* BodyCAN BusOff status */ extern uint8 SysMon_BodyCAN_BusOff_State_pre; /* last BodyCAN BusOff status */ extern uint8 SysMon_SubCAN_BusOff_State; /* SubCAN BusOff status */ extern uint8 SysMon_SubCAN_BusOff_State_pre; /* last SubCAN BusOff status */ extern uint8 SysMon_SbcSupStat0_VCC2UVDetection_pre; extern uint8 SysMon_SbcThermStat_TSD1_pre; extern uint8 SysMon_SbcThermStat_TempPreWarning_pre; extern uint8 SysMon_KL30_VoltGrade; /* KL30 Voltage grade */ extern uint8 SysMon_KL15_VoltGrade; /* KL15 Voltage grade */ extern uint8 SysMon_LEDSupply_VoltGrade; /* LED Supply Voltage grade */ extern uint8 SysMon_LEDSupply_VoltGrade_pre; /* last LED Supply Voltage grade */ extern uint8 SysMon_Power5V_VoltGrade; /* Power5V Voltage grade */ extern uint8 SysMon_KL15_State; /* KL15 state */ extern uint8 SysMon_KL15_State_pre; /* last KL15 state */ extern uint8 SysMon_ECC_ErrState; /* ECC error state */ extern uint8 SysMon_ECC_ErrState_pre; /* last ECC error state */ extern uint8 SysMon_CodingDiag_Counter; extern uint8 SysMon_FusaCodingDiag_Counter; extern uint8 SysMon_ResetReasonDiag_Counter; extern uint8 SysMon_ResetReasonWrite_Counter; extern uint8 SysMon_DiagControl; extern tisDiagReq_RL SysMon_DiagReq_RL; /* LF diag request*/ extern tisDiagReq_RL SysMon_DiagReq_RL_pre; /* last LF diag request*/ extern uint8 T_EthernetDiagEnaTime_3s; extern uint8 Ethernet_LinkState_pre; /* last Ethernet link state */ extern uint8 SysMon_Ethernet_SQI_State_pre; /* last SQI value state */ extern uint8 SysMon_PLL_State_pre; extern uint8 C_Time100ms; extern uint8 C_Time1s; extern uint8 SysMon_DeData; extern uint8 SysMon_PLL_State; extern tisSysMon_Dlp1 SysMon_Dlp1; extern tisSysMon_Dlp3 SysMon_Dlp3; extern tisSysMon_Dlp6 SysMon_Dlp6; extern tisSysMon_Dlp11 SysMon_Dlp11; extern tisSysMon_Dlp12 SysMon_Dlp12; extern tisSysMon_Dlp13 SysMon_Dlp13; extern tisSysMon_Dlp14 SysMon_Dlp14; extern uint8 ELM_HL_L_SupplyVoltage; /* HL Left KL30 Voltage */ extern uint8 ELM_HL_R_SupplyVoltage; /* HL Right KL30 Voltage */ extern boolean BDCM_BrakeLamp_Cmd; /* BrakeLamp Command */ extern boolean BDCM_PositionLamp_Cmd; /* PositionLamp Command */ extern uint8 DLP_ADBTriggerState_Rsp; /* ADB Trigger State */ extern uint8 SysMon_ADBTriggerState_pre; extern uint8 SysMon_LF_DiagErrReq_RL[LF_DiagReq_ID_MAX]; extern tisMCUResetReason SysMon_MCUResetReason; extern uint8 SysMon_ResetReasonDiag_Counter; extern uint8 SysMon_FusaCodingDiag_Counter; extern uint8 SysMon_DLP_HDB_LinkStatus; /* Link Status */ extern uint8 SysMon_LEDSupply_FailsafeAct; extern tisLSErrCode_RL LF_RL_ErrorSts_FS[LF_RL_Error_NUM]; extern tisLSErrCode_RL LS_MLCErr_FS[CTRL929_LS_MAX_NUM]; extern tisDTC_ErrType SysMon_DTC_Error; /* DTC error */ extern uint8 T_GeneralDiagEnaTime_100ms; extern boolean BDCM_BrakeLamp_Cmd; /* BrakeLamp Command */ extern uint8 ELM_RL_ErrorSts[ELM_LF_RL_NUM]; /* ELM RL Light fault array*/ // variables for use in test static uint8 callCntRteWrite = 0; static uint8 callCntRteRead = 0; static uint8 counter = 0; static Std_ReturnType retRteWrite = RTE_E_OK; static Std_ReturnType retRteRead = RTE_E_OK; static Std_ReturnType retRteValid = E_OK; static uint8 Test_Light_State; static uint8 Test_Light_ErrState; static uint8 Test_SupplyVoltage; static tisLightCmd Test_LightCmd; static tisAdvanceLightCmd Test_AdvanceLightCmd; static tiucAniExeSts Test_AniState; static uint16 Test_ChipErr_Bitmap; static uint8 Test_LS_State; static uint8 Test_LmmErr; static uint8 Test_LmmErr_T3_TURN; static uint8 Test_LmmErr_T1_TURN; static uint8 Test_LmmchErr; static uint8 retRteValue_Lmm; static tislightSts Test_LightReq; static tisMCUResetReason Test_MCU_ResetReason; static tisCodingStatus Test_Coding_State; static tisSysVolt_Result Test_KL30; static tisSysVolt_Result Test_KL15; static tisSysVolt_Result Test_LEDSupply; static tisSysVolt_Result Test_SBC_Power5V; static uint8 retRteValue_Busoff; static uint8 retRteValue_LinkState; static uint8 retRteValue_SQI; static uint8 retRteValue_ECCErr; static uint8 Test_BUS_OFF_State; static tisBodyCanDiagInfo Test_BodyCanDiagInfo; static tisAllHssStatusError Test_HSS_ErrState; static tisSbcSupStat0 Test_SbcSupStat0; static tisSbcThermStat Test_SbcThermStat; static tisGeneralInfo Test_GeneralInfo; static uint32 Test_PageAddress; static uint8 Test_PLL_State; static tisSubCanDiagInfo Test_SubCanDiagInfo; static uint32 Test_Eth_CtrVal; static uint8 Test_LinkState; static uint16 Test_SQI; static ErrorStatus Test_TCP_ErrState; static uint8 DTC_KL30_UV; static uint8 DTC_KL30_OV; static uint8 DTC_System_Abnormal_Reset; static uint8 DTC_Body_CAN_Bus_OFF; static uint8 DTC_BDCM_Node_Missing; static uint8 DTC_Routine_CANFrame_Lost; static uint8 DTC_Ethernet_Link_Disconnection; static uint8 DTC_Ethernet_Signal_QtyLow; static uint8 DTC_Ethernet_CRC_Error; static uint8 DTC_TCP_Connect_Fail; static uint8 DTC_ECU_Board_Fault; static uint8 DTC_ECU_Internal_Fault; static uint8 DTC_SubNet_Comm_Error; static uint8 DTC_ISDL_Fault; static uint8 DTC_ISDR_Fault; static uint8 DTC_Grille_Fault; static uint8 DTC_TurnL_RL_Fault; static uint8 DTC_BrakeL_RL_Fault; static uint8 DTC_TailL_RL_Fault; static uint8 DTC_TurnR_RL_Fault; static uint8 DTC_BrakeR_RL_Fault; static uint8 DTC_TailR_RL_Fault; static uint8 retRteValue_Ls_Sts; uint8 Test_Fusa_Error; uint8 Test_SPI_Error; uint8 EcuResetSourceCode_Test[35] = { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }; //stub functions Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp1_sSysMon_Dlp1(tisSysMon_Dlp1 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp3_sSysMon_Dlp3(tisSysMon_Dlp3 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp6_sSysMon_Dlp6(tisSysMon_Dlp6 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp11_sSysMon_Dlp11(tisSysMon_Dlp11 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp12_sSysMon_Dlp12(tisSysMon_Dlp12 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp13_sSysMon_Dlp13(tisSysMon_Dlp13 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonSysMon_Dlp14_sSysMon_Dlp14(tisSysMon_Dlp14 data) { return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Write_PpaseSysMonLightFuncState_sLightFuncState(tisLightFuncState data) { return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, RTE_CTAACTRLTPS929_APPL_CODE) Rte_Call_PpaclCtrlTps929LmmDiagErrorCode_Get(uint8 Ls_id, uint8 ChipIndex, P2VAR(tisErrCodeType, AUTOMATIC, RTE_CTAACTRLTPS929_APPL_VAR) DiagErrCode) /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */ { if((Ls_id == LS_RL_T1_TURN_LEFT) || (Ls_id == LS_RL_T1_TURN_RIGHT)) { DiagErrCode->LmmErrCode.LmmErr = Test_LmmErr_T1_TURN; } else if((Ls_id == LS_RL_T3_TURN_LEFT) || (Ls_id == LS_RL_T3_TURN_RIGHT)) { DiagErrCode->LmmErrCode.LmmErr = Test_LmmErr_T3_TURN; } else { DiagErrCode->LmmErrCode.LmmErr = Test_LmmErr; } DiagErrCode->LmmChErrCode.ChErrBit.ChIdx0 = Test_LmmchErr; return retRteValue_Lmm; } FUNC(Std_ReturnType, ctaaCtrlTps929_CODE) Rte_Call_PpaclCtrlTps929LsIdDiagSts_Get(uint8 Ls_id, P2VAR(tisLsIdStsType, AUTOMATIC, RTE_CTAACTRLTPS929_APPL_VAR) Id_Sts) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { Id_Sts->LS_ID = Ls_id; Id_Sts->LS_Sts = Test_LS_State; Id_Sts->ChipErr_Bitmap = Test_ChipErr_Bitmap; return retRteValue_Ls_Sts; } FUNC(Std_ReturnType, ctaaVehicleHub_CODE) Rte_Call_PpaclVehHubAdvanceLightCmd_ReadData(P2VAR(tisAdvanceLightCmd, AUTOMATIC, RTE_CTAAVEHICLEHUB_APPL_VAR) data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { *data = Test_AdvanceLightCmd; return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, ctaaVehicleHub_CODE) Rte_Call_PpaclVehHubLightCmd_ReadData(P2VAR(tisLightCmd, AUTOMATIC, RTE_CTAAVEHICLEHUB_APPL_VAR) data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { *data = Test_LightCmd; return (Std_ReturnType)retRteWrite; } Std_ReturnType Rte_Read_PparePlsRAniExeSts_sAniExeSts(uint8 *data) { *data = Test_AniState; return (Std_ReturnType)retRteRead; } Std_ReturnType Rte_Read_PpareSigPrep1HlmStatesInfo_Swc0_sHlmStatesInfo_Swc0(tisHlmStatesInfo_Swc *data) { data->boStateHLMLBBase = Test_Light_State; data->boStateHLMLBSIG = Test_Light_State; data->boStateHLMPOS = Test_Light_State; data->boStateHLMDRL = Test_Light_State; data->boStateHLMCL = Test_Light_State; data->boStateHLMHB = Test_Light_State; data->boStateHLMTI = Test_Light_State; data->boStateHLMFAN = Test_Light_State; data->usValueVerHLM = Test_Light_State; data->eStatusVerHLM = Test_Light_State; data->boSPStateVerHLM = Test_Light_State; data->ucSupplyVoltageHLM = Test_SupplyVoltage; data->eErrVerHLM = Test_Light_ErrState; data->eFaultHLMLBBase = Test_Light_ErrState; data->eFaultHLMLBSIG = Test_Light_ErrState; data->eFaultHLMFAN = Test_Light_ErrState; data->eFaultHLMCL = Test_Light_ErrState; data->eFaultHLMPOS = Test_Light_ErrState; data->eFaultHLMHB = Test_Light_ErrState; data->eFaultHLMDRL = Test_Light_ErrState; data->eFaultHLMTI = Test_Light_ErrState; data->eHLMBoardState = Test_Light_ErrState; data->eHLMInternalState = Test_Light_ErrState; return (Std_ReturnType)retRteRead; } Std_ReturnType Rte_Read_PpareSigPrep1HlmStatesInfo_Swc1_sHlmStatesInfo_Swc1(tisHlmStatesInfo_Swc *data) { data->boStateHLMLBBase = Test_Light_State; data->boStateHLMLBSIG = Test_Light_State; data->boStateHLMPOS = Test_Light_State; data->boStateHLMDRL = Test_Light_State; data->boStateHLMCL = Test_Light_State; data->boStateHLMHB = Test_Light_State; data->boStateHLMTI = Test_Light_State; data->boStateHLMFAN = Test_Light_State; data->usValueVerHLM = Test_Light_State; data->eStatusVerHLM = Test_Light_State; data->boSPStateVerHLM = Test_Light_State; data->ucSupplyVoltageHLM = Test_SupplyVoltage; data->eErrVerHLM = Test_Light_ErrState; data->eFaultHLMLBBase = Test_Light_ErrState; data->eFaultHLMLBSIG = Test_Light_ErrState; data->eFaultHLMFAN = Test_Light_ErrState; data->eFaultHLMCL = Test_Light_ErrState; data->eFaultHLMPOS = Test_Light_ErrState; data->eFaultHLMHB = Test_Light_ErrState; data->eFaultHLMDRL = Test_Light_ErrState; data->eFaultHLMTI = Test_Light_ErrState; data->eHLMBoardState = Test_Light_ErrState; data->eHLMInternalState = Test_Light_ErrState; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, ctaaVehicleHub_CODE) Rte_Call_PpaclVehHubGeneralInfo_ReadData(P2VAR(tisGeneralInfo, AUTOMATIC, RTE_CTAAVEHICLEHUB_APPL_VAR) data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { *data = Test_GeneralInfo; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareSigPrep0BodyCanDiagInfo_sBodyCanDiagInfo(P2VAR(tisBodyCanDiagInfo, AUTOMATIC, RTE_CTAADIAGM_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { *data = Test_BodyCanDiagInfo; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareSigPrep1SubCanDiagInfo_sSubCanDiagInfo(P2VAR(tisSubCanDiagInfo, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) { *data = Test_SubCanDiagInfo; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareCtrlSwiStatusError0_sVal(P2VAR(tisAllHssStatusError, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) { *data = Test_HSS_ErrState; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpsreSbcSupStat0_sSbcSupStat0(P2VAR(tisSbcSupStat0, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { *data = Test_SbcSupStat0; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareCddSbcSbcBusStat_sSbcBusStat(P2VAR(tisSbcBusStat, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareCddSbcSbcThermStat_sSbcThermStat(P2VAR(tisSbcThermStat, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { *data = Test_SbcThermStat; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpareCodMCodingStatus_sCodingStatus(P2VAR(tisCodingStatus, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { *data = Test_Coding_State; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, ctasSysVolt_CODE) Rte_Call_PpaclSysVoltSysVoltResult_Get(uint8 profileIdx, P2VAR(tisSysVolt_Result, AUTOMATIC, RTE_CTASSYSVOLT_APPL_VAR) sVoltage) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { if(profileIdx == 0) { *sVoltage = Test_KL30; } if(profileIdx == 2) { *sVoltage = Test_SBC_Power5V; } if(profileIdx == 5) { *sVoltage = Test_KL15; } if(profileIdx == 6) { *sVoltage = Test_LEDSupply; } return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, ctaaCustDataEng_CODE) Rte_Call_PpaclCusDataEng_GetErrorStatus(tiucworkMode workMode, P2VAR(ErrorStatus, AUTOMATIC, RTE_CTAACUSTDATAENG_APPL_VAR) estatus) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { *estatus = Test_TCP_ErrState; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_PpsreLightStsInfo_Diag_sLightSts(P2VAR(tislightSts, AUTOMATIC, RTE_CTAASYSMON_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { *data = Test_LightReq; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, ctahIoHwAbUser_CODE) Rte_Call_PpaclIoHwAbUserResetPHY_Set(void) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { return (Std_ReturnType)retRteRead; } Std_ReturnType Rte_Read_PpareCddSbcMCUResetReason_sMCUResetReason(tisMCUResetReason *data) { *data = Test_MCU_ResetReason; return (Std_ReturnType)retRteRead; } FUNC(Std_ReturnType, ctaaVehicleHub_CODE) PpasvVehHubGlobalTime_ReadData(P2VAR(tisGlobalTime, AUTOMATIC, RTE_CTAAVEHICLEHUB_APPL_VAR) data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { return (Std_ReturnType)retRteRead; } Std_ReturnType SwcNvmWrapper_WriteNvmReq(uint8 blockId, uint8* ValPtr) { return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_PpaseSysMonLightFunctionFailSafe_sLightFuncFailsafe(P2CONST(tisLightFuncFS, AUTOMATIC, RTE_CTAASYSMON_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_PpaseSysMonMotorFailSafe_sMotorFailsafe(P2CONST(tisMotor_FS, AUTOMATIC, RTE_CTAASYSMON_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_PpaseSysMonAFSFailSafe_sAFSFailsafe(P2CONST(tisAFS_FS, AUTOMATIC, RTE_CTAASYSMON_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { return (Std_ReturnType)retRteWrite; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_PpaseSysMonSysmonCanDiagInfo_sCanDiagInfo(P2CONST(tisSysmonCanDiagInfo, AUTOMATIC, RTE_CTAASYSMON_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { return (Std_ReturnType)retRteWrite; } Std_ReturnType Fee_17_GetEccErrorInfo( uint16 * const BlockNumberPtr, uint32 * const PageAddressPtr ) { *PageAddressPtr = Test_PageAddress; return (Std_ReturnType)retRteValue_ECCErr; } Std_ReturnType CanSM_CheckBorLevel( uint8 CanSM_NetworkHandle, uint8* CanSM_BorState ) { *CanSM_BorState = Test_BUS_OFF_State; return (Std_ReturnType)retRteValue_Busoff; } FUNC(Std_ReturnType, ctaaVehicleHub_CODE) Rte_Call_PpaclVehHubGlobalTime_ReadData(P2VAR(tisGlobalTime, AUTOMATIC, RTE_CTAAVEHICLEHUB_APPL_VAR) data) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { return (Std_ReturnType)retRteRead; } Std_ReturnType Rte_Call_EnableCond_SysMonEnableCondition_ECUWakeUp_SetEnableCondition(uint8 arg1) { return (Std_ReturnType)retRteRead; } Std_ReturnType Rte_Call_OperationCycle_SetOperationCycleState(uint8 arg1) { return (Std_ReturnType)retRteRead; } uint8 Mcu_GetPllStatus(void) { uint8 PLL_State; PLL_State = Test_PLL_State; return PLL_State; } FUNC(Std_ReturnType, ETH_30_TC3XX_CODE) Eth_30_Tc3xx_GetCounterState(uint8 CtrlIdx, uint16 CtrOffs, P2VAR(uint32, AUTOMATIC, AUTOMATIC) CtrValPtr) { *CtrValPtr = Test_Eth_CtrVal; return (Std_ReturnType)retRteValid; } FUNC(Std_ReturnType, ETHTRCV_30_DP83TC811_CODE) EthTrcv_30_Dp83Tc811_GetLinkState(uint8 TrcvIdx, P2VAR(uint8, AUTOMATIC, ETHTRCV_30_DP83TC811_APPL_DATA) LinkStatePtr) { *LinkStatePtr = Test_LinkState; return (Std_ReturnType)retRteValue_LinkState; } FUNC(Std_ReturnType, ETHTRCV_30_DP83TC811_CODE) EthTrcv_30_Dp83Tc811_Internal_ReadCl45TrcvReg(uint8 TrcvIdx, uint8 DeviceAddr, uint16 RegAddr, P2VAR(uint16, AUTOMATIC, ETHTRCV_30_DP83TC811_APPL_VAR) RegValPtr) { *RegValPtr = Test_SQI; return (Std_ReturnType)retRteValue_SQI; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B111716_SetEventStatus(uint8 status) { DTC_KL30_UV = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B111717_SetEventStatus(uint8 status) { DTC_KL30_OV = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B2F2094_SetEventStatus(uint8 status) { DTC_System_Abnormal_Reset = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U101E88_SetEventStatus(uint8 status) { DTC_Body_CAN_Bus_OFF = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U014587_SetEventStatus(uint8 status) { DTC_BDCM_Node_Missing = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U012287_SetEventStatus(uint8 status) { DTC_Routine_CANFrame_Lost = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U290188_SetEventStatus(uint8 status) { DTC_Ethernet_Link_Disconnection = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U290400_SetEventStatus(uint8 status) { DTC_Ethernet_Signal_QtyLow = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U290583_SetEventStatus(uint8 status) { DTC_Ethernet_CRC_Error = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U291200_SetEventStatus(uint8 status) { DTC_TCP_Connect_Fail = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B164596_SetEventStatus(uint8 status) { DTC_ECU_Board_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B164696_SetEventStatus(uint8 status) { DTC_ECU_Internal_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U011D87_SetEventStatus(uint8 status) { DTC_SubNet_Comm_Error = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B164608_SetEventStatus(uint8 status) { DTC_ISDL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B164708_SetEventStatus(uint8 status) { DTC_ISDR_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_U012087_SetEventStatus(uint8 status) { DTC_Grille_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B161896_SetEventStatus(uint8 status) { DTC_TurnL_RL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B162596_SetEventStatus(uint8 status) { DTC_BrakeL_RL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B164B08_SetEventStatus(uint8 status) { DTC_TailL_RL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B162796_SetEventStatus(uint8 status) { DTC_TurnR_RL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B162896_SetEventStatus(uint8 status) { DTC_BrakeR_RL_Fault = status; } FUNC(Std_ReturnType, DEM_CODE)Rte_Call_DiagnosticMonitor_DTC_B162996_SetEventStatus(uint8 status) { DTC_TailR_RL_Fault = status; } //----------------------------------------------------------------------------- /// \Test Case : Mt_riSysMonInit /// /// \Test Case Description /// - Test subject: /// To call riSysMonInit function and intial the data /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_riSysMonInit(void) { Rte_riSysMonInit(); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.ePOS_FS_Grille , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eBrk_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eBrk_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTail_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTail_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eVirtual_Animation_FS_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eMortise_Tenon_FS_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_R_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_L_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_R_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_L_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eLB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eHB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eDRL_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.ePOS_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eADB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eCL_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eVirtual_Animation_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eMortise_Tenon_FS_HL , 0, == ); AL_UNITTEST_CHECK(MotorFSOutput.eHorizontal , 0, == ); AL_UNITTEST_CHECK(MotorFSOutput.eVertical , 0, == ); AL_UNITTEST_CHECK(AFS_FSOutput.eAFS , 0, == ); AL_UNITTEST_CHECK(DLP_HDB_CableFailure , 0, == ); AL_UNITTEST_CHECK(DLP_HDB_MasterSlave , 1, == ); AL_UNITTEST_CHECK(SysMon_DLP_HDB_LinkStatus , 1, == ); AL_UNITTEST_CHECK(SysMon_DLP_HDB_SQI , 0, == ); AL_UNITTEST_CHECK(SysMon_KL30_VoltValue , 0, == ); AL_UNITTEST_CHECK(ELM_ISD_L_State , 0, == ); AL_UNITTEST_CHECK(ELM_ISD_R_State , 0, == ); AL_UNITTEST_CHECK(ELM_Grille_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_L_TI_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_R_TI_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_L_BrakeL_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_R_BrakeL_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_L_TailL_State , 0, == ); AL_UNITTEST_CHECK(ELM_RL_R_TailL_State , 0, == ); AL_UNITTEST_CHECK(T_DiagErr_EnaTime_100ms , 10, == ); AL_UNITTEST_CHECK(T_DTCEnaTime_3s , 3, == ); AL_UNITTEST_CHECK(T_DTCEnaTime_1500ms , 15, == ); AL_UNITTEST_CHECK(T_EthernetDiagEnaTime_3s , 3, == ); AL_UNITTEST_CHECK(T_GeneralDiagEnaTime_100ms , 10, == ); AL_UNITTEST_CHECK(T_CodingDiagEnaTime_500ms , 50, == ); AL_UNITTEST_CHECK(T_ResetReasonWriteEnaTime_1s , 10, == ); AL_UNITTEST_CHECK(SysMon_BodyCAN_BusOff_State_pre , CAN_STATUS_UNKNOWN, == ); AL_UNITTEST_CHECK(SysMon_SubCAN_BusOff_State_pre , CAN_STATUS_UNKNOWN, == ); AL_UNITTEST_CHECK(Ethernet_LinkState_pre , ETHTRCV_LINK_STATE_UNKNOWN, == ); AL_UNITTEST_CHECK(Ethernet_SQI_pre , ETHERNET_SQI_UNKNOWN, == ); AL_UNITTEST_CHECK(SysMon_Ethernet_SQI_State_pre , SQI_State_UnKnown, == ); AL_UNITTEST_CHECK(SysMon_SbcSupStat0_VCC2UVDetection_pre , SBC_INFO_UNKNOWN, == ); AL_UNITTEST_CHECK(SysMon_SbcThermStat_TSD1_pre , SBC_INFO_UNKNOWN, == ); AL_UNITTEST_CHECK(SysMon_SbcThermStat_TempPreWarning_pre , SBC_INFO_UNKNOWN, == ); AL_UNITTEST_CHECK(SysMon_KL15_State_pre , KL15_Unknown, == ); AL_UNITTEST_CHECK(SysMon_ECC_ErrState_pre , ECC_Error_Unknown, == ); AL_UNITTEST_CHECK(SysMon_PLL_State_pre , 2, == ); AL_UNITTEST_CHECK(SysMon_Ethernet_CRCErr_State_pre , Ethernet_CRC_Error_Unknown, == ); AL_UNITTEST_CHECK(SysMon_DiagReq_RL.LF_DiagReq , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagReq_RL_pre.LF_DiagReq , 0, == ); AL_UNITTEST_CHECK(SysMon_LEDSupply_VoltGrade_pre , 0, == ); AL_UNITTEST_CHECK(SysMon_LEDSupply_VoltGrade , 0, == ); AL_UNITTEST_CHECK(SysMon_CodingDiag_Counter , 1, == ); AL_UNITTEST_CHECK(SysMon_FusaCodingDiag_Counter , 1, == ); AL_UNITTEST_CHECK(SysMon_ResetReasonDiag_Counter , 1, == ); AL_UNITTEST_CHECK(SysMon_ResetReasonWrite_Counter , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagControl , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagControl , 0, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_rpSysMonCycle /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_rpSysMonCycle(void) { for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(C_Time100ms , 5, == ); AL_UNITTEST_CHECK(C_Time1s , 5, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_Feedback /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_Feedback(void) { retRteValue_Lmm = 0; Test_Light_State = 1; Test_Light_ErrState = 1; Test_SupplyVoltage = 10; Test_LightCmd.sBrake.boValue = 1; Test_LightCmd.sPosition.boValue = 1; Test_AdvanceLightCmd.eAdbActivation = 1; Rte_rpSysmon10ms(); //HL AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLLBBASEState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRLBBaseState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMHLLLBSIGState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMHLRLBSIGState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLPOSState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRPOSState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLDRLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRDRLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLCLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRCLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLHBState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRHBState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.boELMHLLTIState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLRTIState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLLFANState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMHLRFANState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.usELMHLLValueVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.usELMHLRValueVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.boELMHLLSPStateVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMHLRSPStateVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.ucELMHLLSupplyVoltage , 10, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.ucELMHLRSupplyVoltage , 10, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLLErrVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMHLRErrVer , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLLBBaseError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRLBBaseError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMHLLLBSIGError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMHLRLBSIGError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLLFANError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMHLRFANError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLCLError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMHLRCLError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLPOSError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRPOSError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLHBError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRHBError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLDRLError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRDRLError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLTIError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRTIError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLBoardError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRBoardError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMHLLInternalError , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp12.eELMHLRInternalError , 1, == ); AL_UNITTEST_CHECK(BDCM_PositionLamp_Cmd , 1, == ); //ADB trigger AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp , 0, == ); Test_AdvanceLightCmd.eAdbActivation = 2; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp, 2, == ); AL_UNITTEST_CHECK(SysMon_ADBTriggerState_pre , 2, == ); Test_AdvanceLightCmd.eAdbActivation = 3; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp, 2, == ); Test_AdvanceLightCmd.eAdbActivation = 1; Rte_rpSysmon10ms(); Test_AdvanceLightCmd.eAdbActivation = 3; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp, 0, == ); Test_Light_ErrState = 0; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_ADBTriggerState_pre , 3, == ); AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp , 1, == ); Test_AdvanceLightCmd.eAdbActivation = 5; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp3.eDLPADBTriggerStateRsp, 3, == ); //RL Test_AniState = 2;//ALL ANIMATION Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMISDLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMISDRState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMGrilleLightState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLTurnIndicatorState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRTurnIndicatorState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLBrakeLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRBrakeLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLTailLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRTailLState , 0, == ); Test_AniState = 1;//ISD ANIMATION Test_ChipErr_Bitmap = 0x0001; Test_LmmErr = 0x08;//led error Test_LmmErr_T1_TURN = 0x08;//led error Test_LmmErr_T3_TURN = 0x08;//led error Test_LmmchErr = 0x01; Test_LS_State = 0x01; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMISDLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMISDRState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMGrilleLightState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLTurnIndicatorState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRTurnIndicatorState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLBrakeLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRBrakeLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLTailLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRTailLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 4, == ); Test_AniState = 0;//NO ANIMATION Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 4, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 4, == ); retRteValue_Lmm = 1;//invalid data Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x0Fu, == ); retRteValue_Lmm = 0;//valid data Test_LmmErr = 0x01;//bining error Test_LmmErr_T1_TURN = 0x01;//bining error Test_LmmErr_T3_TURN = 0x01;//bining error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x01u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x01u, == ); Test_LmmErr = 0x02;//ntc error Test_LmmErr_T1_TURN = 0x02;//ntc error Test_LmmErr_T3_TURN = 0x02;//ntc error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x02u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x02u, == ); Test_LmmErr = 0x04;//power sup error Test_LmmErr_T1_TURN = 0x04;//power sup error Test_LmmErr_T3_TURN = 0x04;//power sup error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x03u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x03u, == ); Test_LmmErr = 0x10;//communication error Test_LmmErr_T1_TURN = 0x10;//communication error Test_LmmErr_T3_TURN = 0x10;//communication error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x05u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x05u, == ); Test_LmmErr = 0x20;//TSD error Test_LmmErr_T1_TURN = 0x20;//TSD error Test_LmmErr_T3_TURN = 0x20;//TSD error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x06u, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x06u, == ); Test_LmmErr = 0x40;//other error Test_LmmErr_T1_TURN = 0x40;//other error Test_LmmErr_T3_TURN = 0x40;//other error Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMISDRError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTurnIndicatorError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTurnIndicatorError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMGrilleLightError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLTailLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRTailLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.eELMRLLBrakeLError , 0x0Fu, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.eELMRLRBrakeLError , 0x0Fu, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_rdSysMonDeInit /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_rdSysMonDeInit(void) { Rte_rdSysMonDeInit(); AL_UNITTEST_CHECK(SysMon_DeData , 1, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMonDeInit /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMonDeInit(void) { Rte_rdSysMonDeInit(); AL_UNITTEST_CHECK(SysMon_DeData , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagControl , 0, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_Diagnose /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_Diagnose(void) { uint8 hss_idx; //diagnose abnormal Test_MCU_ResetReason = 0x14; Test_KL30.eGrade = 1; Test_Coding_State.eCodingStatus = 1; Test_KL30.usVoltage = 0xFFFFu; Test_BUS_OFF_State = 2; (void)memset(&Test_BodyCanDiagInfo, 1, sizeof(Test_BodyCanDiagInfo)); Test_SBC_Power5V.eGrade = 2; for(hss_idx = 0; hss_idx < 8; hss_idx++) { Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrOpenLoad = 1; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToGnd = 1; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToVBat = 1; } Test_SbcSupStat0.boVCC2UnderVoltageDetection = 1; Test_SbcThermStat.boTSD1ThermalShutDowDetection = 1; Test_SbcThermStat.boThermalPreWarning = 1; Test_SbcThermStat.boTSD2ThermalShutDowDetection = 1; Test_KL15.eGrade = 1; Test_PageAddress = 0xFFFFFFF0; Test_PLL_State = 1; Test_SubCanDiagInfo.sHlmLStatesInfo.boE2eRes = 1; Test_Eth_CtrVal = 1; Test_LinkState = 0; Test_GeneralInfo.sPowerMode.eQty = 0; Test_GeneralInfo.sPowerMode.eStatus = 1; Test_TCP_ErrState.ErrType = 1; Rte_riSysMonInit(); for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.VCC_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.System_Abnormal_Reset , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECU_NotCoded , 1, == ); AL_UNITTEST_CHECK(SysMon_LF_DiagErrReq_RL[LF_RightTurnReq] , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL30_UV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Body_CAN_Bus_OFF , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubCAN_Bus_OFF , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.BDCM_Node_Missing , 1, == ); AL_UNITTEST_CHECK(SysMon_DTC_Error.DTC_BDCM_Node_Missing , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_UV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.HSS_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_VCC2_UV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_Individual_ThermalShutdown , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_TemperaturePrewarning , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_ThermalShutdown , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL15_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECC_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.PLL_Unlock_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Routine_CANFrame_Lost , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubNet_Comm_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_CRC_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_Link_Disconnection , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.TCP_Connect_Fail , 1, == ); Test_KL30.eGrade = 5; Test_SBC_Power5V.eGrade = 5; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } Test_LightReq.RightTurnReq_RL = 1; Test_LightReq.LeftTurnReq_RL = 1; Test_LightReq.GrilReq = 1; Test_LightReq.BrakeReq_RL = 1; Test_LightReq.PosReq_RL = 1; Test_LightReq.ISD_ReqL = 1; Test_LightReq.ISD_ReqR = 1; Rte_rpSysmon10ms(); AL_UNITTEST_CHECK(SysMon_LF_DiagErrReq_RL[LF_RightTurnReq] , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL30_OV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_OV_Error , 1, == ); //Diagnose normal Test_KL30.eGrade = 3; Test_KL15.eGrade = 3; Test_LEDSupply.eGrade = 3; Test_SBC_Power5V.eGrade = 3; Test_BUS_OFF_State = 0; for(hss_idx = 0; hss_idx < 8; hss_idx++) { Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrOpenLoad = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToGnd = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToVBat = 0; } (void)memset(&Test_BodyCanDiagInfo, 0, sizeof(Test_BodyCanDiagInfo)); Test_SbcSupStat0.boVCC2UnderVoltageDetection = 0; Test_SbcThermStat.boTSD1ThermalShutDowDetection = 0; Test_SbcThermStat.boThermalPreWarning = 0; Test_SbcThermStat.boTSD2ThermalShutDowDetection = 0; Test_GeneralInfo.sPowerMode.eQty = 0; Test_GeneralInfo.sPowerMode.eStatus = 1; Test_PageAddress = 0xFFFFFFFF; Test_PLL_State = 0; Test_SubCanDiagInfo.sHlmLStatesInfo.boE2eRes = 0; Test_SubCanDiagInfo.sHlmLStatesInfo.boTimeout = 0; Test_SubCanDiagInfo.sHlmRStatesInfo.boE2eRes = 0; Test_SubCanDiagInfo.sHlmRStatesInfo.boTimeout = 0; Test_Eth_CtrVal = 0; Test_LinkState = 1; Test_SQI = 8; Test_TCP_ErrState.ErrType = 0; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.KL30_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL30_OV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Body_CAN_Bus_OFF , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubCAN_Bus_OFF , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.BDCM_Node_Missing , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_OV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.HSS_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SPI_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_VCC2_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_Individual_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_TemperaturePrewarning , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL15_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECC_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.PLL_Unlock_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Routine_CANFrame_Lost , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubNet_Comm_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_CRC_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_Link_Disconnection , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_Signal_QtyLow , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.TCP_Connect_Fail , 0, == ); Test_SQI = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } //SQI abnormal(when Ethernet link up,can detect) AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_Signal_QtyLow , 1, == ); Test_SQI = 8; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } //can not get SQI retRteValue_SQI = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.Ethernet_Signal_QtyLow , 1, == ); AL_UNITTEST_CHECK(SysMon_DLP_HDB_LinkStatus , 0, == ); Rte_riSysMonInit(); Test_MCU_ResetReason = 0xFF; Test_GeneralInfo.sPowerMode.eStatus = 2; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.System_Abnormal_Reset , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL15_Error , 0, == ); Rte_riSysMonInit(); Test_MCU_ResetReason = 0x0a; Test_Coding_State.eCodingStatus = 0; retRteValue_Busoff = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.System_Abnormal_Reset , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.VCC_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECU_NotCoded , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.CodingData_Invalid , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Body_CAN_Bus_OFF , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubCAN_Bus_OFF , 0, == ); //coding data invalid Rte_riSysMonInit(); Test_Coding_State.eCodingStatus = 2; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.CodingData_Invalid , 1, == ); //can not read Ethernet link state retRteValue_LinkState = 1; //can not read power mode Test_GeneralInfo.sPowerMode.eQty = 1; //can not read ECC Error retRteValue_ECCErr = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_Dlp6.eDLPHDBLinkStatus , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp6.ucDLPHDBSQI , 0, == ); AL_UNITTEST_CHECK(SysMon_ECC_ErrState , 0, == ); retRteValue_LinkState = 0; retRteValue_ECCErr = 0; retRteValue_Busoff = 0; retRteValue_SQI = 0; } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_LEDSupply_Voltage /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_LEDSupply_Voltage(void) { //voltage from low to high Test_LEDSupply.eGrade = 1; /* low2 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 1, == ); Test_LEDSupply.eGrade = 2; /* low1 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 1, == ); Test_LEDSupply.eGrade = 3; /* normal */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 0, == ); Test_LEDSupply.eGrade = 4; /* high1 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 0, == ); Test_LEDSupply.eGrade = 5; /* high2 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 1, == ); //voltage from high to low Test_LEDSupply.eGrade = 4; /* high1 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 1, == ); Test_LEDSupply.eGrade = 3; /* normal */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 0, == ); Test_LEDSupply.eGrade = 2; /* low1 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 0, == ); Test_LEDSupply.eGrade = 1; /* low2 */ for(counter = 0; counter < 0x30; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_LEDSupply_FailsafeAct , 1, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_Failsafe_Act /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_Failsafe_Act(void) { uint8 hss_idx; //Diagnose normal Rte_riSysMonInit(); Test_MCU_ResetReason = 0x0a; Test_Coding_State.eCodingStatus = 0; Test_KL30.eGrade = 3; Test_KL15.eGrade = 3; Test_LEDSupply.eGrade = 3; Test_SBC_Power5V.eGrade = 3; Test_BUS_OFF_State = 0; for(hss_idx = 0; hss_idx < 8; hss_idx++) { Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrOpenLoad = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToGnd = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToVBat = 0; } (void)memset(&Test_BodyCanDiagInfo, 0, sizeof(Test_BodyCanDiagInfo)); Test_SbcSupStat0.boVCC2UnderVoltageDetection = 0; Test_SbcThermStat.boTSD1ThermalShutDowDetection = 0; Test_SbcThermStat.boThermalPreWarning = 0; Test_SbcThermStat.boTSD2ThermalShutDowDetection = 0; Test_GeneralInfo.sPowerMode.eQty = 0; Test_GeneralInfo.sPowerMode.eStatus = 1; Test_PageAddress = 0xFFFFFFFF; Test_PLL_State = 0; Test_SubCanDiagInfo.sHlmLStatesInfo.boE2eRes = 0; Test_SubCanDiagInfo.sHlmLStatesInfo.boTimeout = 0; Test_SubCanDiagInfo.sHlmRStatesInfo.boE2eRes = 0; Test_SubCanDiagInfo.sHlmRStatesInfo.boTimeout = 0; Test_Eth_CtrVal = 0; Test_LinkState = 1; Test_SQI = 8; Test_TCP_ErrState.ErrType = 0; Test_AniState = 0;//NO ANIMATION Test_LmmErr = 0x00; Test_LmmErr_T1_TURN = 0x00; Test_LmmErr_T3_TURN = 0x00; Test_LmmchErr = 0x00; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.ECU_NotCoded , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.CodingData_Invalid , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL30_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL30_OV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Body_CAN_Bus_OFF , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubCAN_Bus_OFF , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.BDCM_Node_Missing , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_OV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.HSS_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SPI_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_VCC2_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_Individual_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_TemperaturePrewarning , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL15_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECC_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.PLL_Unlock_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.Routine_CANFrame_Lost , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SubNet_Comm_Error , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_ISD_White_R_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_ISD_Amber_R_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_ISD_White_L_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_ISD_Amber_L_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LS_MLCErr_FS[LS_RL_T1_TURN_RIGHT_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LS_MLCErr_FS[LS_RL_T3_TURN_RIGHT_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LS_MLCErr_FS[LS_RL_T1_TURN_LEFT_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LS_MLCErr_FS[LS_RL_T3_TURN_LEFT_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_Grille_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_RL_R_Brake_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_RL_L_Brake_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_RL_R_TailL_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LF_RL_ErrorSts_FS[LF_RL_L_TailL_Error].MLC_ErrCode.LmmErr , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.ePOS_FS_Grille , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eBrk_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eBrk_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTail_FS_R_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTail_FS_L_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eVirtual_Animation_FS_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eMortise_Tenon_FS_RL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_R_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_L_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_R_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_L_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eLB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eHB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eDRL_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.ePOS_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eADB_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eCL_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eVirtual_Animation_FS_HL , 0, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eMortise_Tenon_FS_HL , 0, == ); AL_UNITTEST_CHECK(MotorFSOutput.eHorizontal , 0, == ); AL_UNITTEST_CHECK(MotorFSOutput.eVertical , 0, == ); AL_UNITTEST_CHECK(AFS_FSOutput.eAFS , 0, == ); Test_LmmErr = 0x01;//bining error for(counter = 0; counter < 0x0a; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_L_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_R_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_L_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_L_HL , 1, == ); Test_LmmErr = 0x04;//power sup error for(counter = 0; counter < 0x0a; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_R_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_White_FS_L_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_R_HL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eISD_AMB_FS_L_HL , 1, == ); Test_LmmErr_T3_TURN = 0x01;//bining error for(counter = 0; counter < 0x0a; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_R_RL , 3, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_L_RL , 3, == ); Test_LmmErr_T1_TURN = 0x01;//bining error for(counter = 0; counter < 0x0a; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_R_RL , 1, == ); AL_UNITTEST_CHECK(LightFuncFSOutput.eTI_FS_L_RL , 1, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_ECU_Fault /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_ECU_Fault(void) { uint8 hss_idx; Rte_riSysMonInit(); Test_MCU_ResetReason = 0x0a; Test_Coding_State.eCodingStatus = 0; Test_SBC_Power5V.eGrade = 3; Test_KL15.eGrade = 3; Test_PageAddress = 0xFFFFFFFF; for(hss_idx = 0; hss_idx < 8; hss_idx++) { Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrOpenLoad = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToGnd = 0; Test_HSS_ErrState.asSwi2SysmErrorStatus[hss_idx].eErrShortToVBat = 0; } (void)memset(&Test_BodyCanDiagInfo, 0, sizeof(Test_BodyCanDiagInfo)); Test_SbcSupStat0.boVCC2UnderVoltageDetection = 0; Test_SbcThermStat.boTSD1ThermalShutDowDetection = 0; Test_SbcThermStat.boThermalPreWarning = 0; Test_SbcThermStat.boTSD2ThermalShutDowDetection = 0; Test_GeneralInfo.sPowerMode.eQty = 0; Test_GeneralInfo.sPowerMode.eStatus = 1; Test_PLL_State = 0; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.ECU_NotCoded , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.CodingData_Invalid , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.HSS_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SPI_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_VCC2_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.VCC_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_UV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_OV_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_Individual_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_TemperaturePrewarning , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.SBC_ThermalShutdown , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.KL15_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.PLL_Unlock_Error , 0, == ); AL_UNITTEST_CHECK(SysMon_DiagError.ECC_Error , 0, == ); //ECU Board Fault Test_SbcSupStat0.boVCC2UnderVoltageDetection = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.SBC_VCC2_UV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x0Fu, == ); Test_SBC_Power5V.eGrade = 2; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_UV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x01u, == ); Test_SBC_Power5V.eGrade = 5; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.LED_Booster_OV_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x02u, == ); Test_HSS_ErrState.asSwi2SysmErrorStatus[1].eErrOpenLoad = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.HSS_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x03u, == ); Test_SPI_Error = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.SPI_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x04u, == ); Rte_riSysMonInit(); Test_MCU_ResetReason = 0x14; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.VCC_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMBoardError , 0x05u, == ); Rte_riSysMonInit(); Test_MCU_ResetReason = 0x0a; Test_SbcSupStat0.boVCC2UnderVoltageDetection = 0; Test_SBC_Power5V.eGrade = 3; Test_SBC_Power5V.eGrade = 3; Test_HSS_ErrState.asSwi2SysmErrorStatus[1].eErrOpenLoad = 0; Test_SPI_Error = 0; //ECU Internal Fault Test_PLL_State = 1; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.PLL_Unlock_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMInternalError , 0x05u, == ); Test_PageAddress = 0xFFFFFFF0; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.ECC_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMInternalError , 0x04u, == ); Test_Fusa_Error = 1; Rte_riSysMonInit(); for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.FusaCoding_Error , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMInternalError , 0x03u, == ); Test_Coding_State.eCodingStatus = 2; Rte_riSysMonInit(); for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.CodingData_Invalid , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMInternalError , 0x02u, == ); Test_Coding_State.eCodingStatus = 1; Rte_riSysMonInit(); for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_DiagError.ECU_NotCoded , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp11.eELMInternalError , 0x01u, == ); Test_PLL_State = 0; Test_PageAddress = 0xFFFFFFFF; Test_Fusa_Error = 0; Test_Coding_State.eCodingStatus = 0; } //----------------------------------------------------------------------------- /// \Test Case : Mt_SysMon_BrakeLight_State /// /// \Test Case Description /// - Test subject: The number of actual runs simulated /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_SysMon_BrakeLight_State(void) { Test_LightCmd.sBrake.boValue = 1; Test_LS_State = 0x01; Test_BUS_OFF_State = 1; Test_KL15.eGrade = 3; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLBrakeLState , 1, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRBrakeLState , 1, == ); Test_LightCmd.sBrake.boValue = 0; Test_BUS_OFF_State = 0; for(counter = 0; counter < 0xFF; counter++) { Rte_rpSysmon10ms(); } AL_UNITTEST_CHECK(BDCM_BrakeLamp_Cmd , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp13.boELMRLLBrakeLState , 0, == ); AL_UNITTEST_CHECK(SysMon_Dlp14.boELMRLRBrakeLState , 0, == ); retRteValue_Ls_Sts = 1; Rte_rpSysmon10ms(); retRteValue_Ls_Sts = 0; } // ---------------------------------------------------------------------------- // Add Test Cases //----------------------------------------------------------------------------- void ALUnitTest_AddTests(void) { ALUnitTest_AddFunction("Mt_riSysMonInit", Mt_riSysMonInit); ALUnitTest_AddFunction("Mt_rpSysMonCycle", Mt_rpSysMonCycle); ALUnitTest_AddFunction("Mt_rdSysMonDeInit", Mt_rdSysMonDeInit); ALUnitTest_AddFunction("Mt_SysMon_Feedback", Mt_SysMon_Feedback); ALUnitTest_AddFunction("Mt_SysMon_Diagnose", Mt_SysMon_Diagnose); ALUnitTest_AddFunction("Mt_SysMon_Failsafe_Act", Mt_SysMon_Failsafe_Act); ALUnitTest_AddFunction("Mt_SysMon_LEDSupply_Voltage", Mt_SysMon_LEDSupply_Voltage); ALUnitTest_AddFunction("Mt_SysMon_ECU_Fault", Mt_SysMon_ECU_Fault); ALUnitTest_AddFunction("Mt_SysMon_BrakeLight_State", Mt_SysMon_BrakeLight_State); }