//***************************************************************************** // (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 PLsR /// /// \author /// //----------------------------------------------------------------------------- #include #include #include #include #include #include "Rte_ctaaPLsR.h" #include "Swc/PLsR/Api/PLsR_Rte.h" #include "Swc/PLsR/PLsR.h" #include "Swc/PLsR/PLsR_cfg.h" #include "Swc/PLsR/Cfg/LightSource_Cfg.h" #include "Swc/CodM/CodingTypes/Rom_Para.h" #include "Swc/CodM/Api/CodM.h" #include extern tisPLsR_MortiseTenon_type plsr_anidata_MortiseTenon; extern tisLightSourceFrame plsr_AniFramedata; extern PLsROutDataType PixLightSource_PixData[LS_MAX_NUM]; extern tisLightReq plsr_LightReq; extern uint8 rpPLsRCnt[PLSR_CYC_NUM]; extern uint8 rpPLsRCycTrg; extern tisPlsR_CeremonyCmd1 plsr_anidata_left0; extern tisPlsR_CeremonyCmd2 plsr_anidata_left1; extern tisPlsR_CeremonyCmd1 plsr_anidata_right0; extern tisPlsR_CeremonyCmd2 plsr_anidata_right1; extern tisPlsR_VehicleInfo plsr_VehicleInfo; extern uint8 plsr_LightShowTheme; extern uint8 plsr_AniFinish_Flg; extern uint16 plsr_AniFrameNum_cnt; extern uint8 plsr_AniFrameNum_MissCnt; extern uint8 plsr_AniFrameNum_ErrFlg; extern uint8 Plsr_AniExeSts; extern uint8 plsr_wipingframe_LH; extern uint8 plsr_wipingframe_RH; extern tisTurnReq TurnReqSts; extern const TaskCfgTyp PlsR_Task_Cfg[PLSR_CYC_NUM]; extern tisLightFuncFS Plsr_LightFuncFS; extern void PLsR_Rte_Read_IF(void); extern void PLsR_Rte_Write_IF_Ani(void); extern uint8 PLsR_getCusDataFrame(void); extern void PLsR_ReguLamp_Router(uint8 CycTimMask); extern void PLsR_getPixdata_PosOnly_RL(uint8 Pos_Req); extern void PLsR_getPixdata_PosBrk_RL(uint8 Pos_Req, uint8 Brk_Req); extern void PLsR_getPixdata_Gril(uint8 Req_type); extern void PLsR_getPixdata_Ti_LH_RL(uint8 Req_type); extern void PLsR_getPixdata_Ti_RH_RL(uint8 Req_type); extern void PLsR_WipingFrameCnt_Ti(uint8 Req_type, uint8* WipingFrameCnt); extern void PLsR_ISD_Router(uint8 CycTimMask); extern void PLsR_PicHandle_ISD(uint8 IsdReq, uint8 Isdside); extern void PLsR_AniHandle_ISD(uint8 Isdside); extern const uint8* PLsR_getPicThemeData_ISD(tisPicInfoTabType* PicDataInfo_Ptr, uint8 Isdside); extern void PLsR_Framedata_Analysis(const uint8 * Tab_Ptr); extern void PLsR_Framedata_Analysis_Side_Filter(const uint8 * Tab_Ptr, uint8 side); extern uint8 PLsR_Framedata_Failsafe_Ctl(const uint16 lsType, uint8 side); extern void PLsR_Ani_Router(uint8 CycTimMask); extern void PLsR_SetAnidata_HL(void); extern void PLsR_SetAnidata_MorTe(void); extern void PLsR_setAniData(void); extern const uint8 Plsr_ISD_Right_AllOn[446]; const unsigned char Mt_TestData[1430UL + 1] = { 0x42, 0x44, 0x53, 0x4C, 0x00, 0x01, 0x66, 0xCD, 0x15, 0x00, 0x86, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA8, 0x00, 0x01, 0xFF, 0x01, 0x00, 0x01, 0x00, 0xA9, 0x00, 0x01, 0xFF, 0x02, 0x00, 0x41, 0x00, 0xAA, 0x00, 0x01, 0xFF, 0x03, 0x00, 0x41, 0x00, 0xEB, 0x00, 0x01, 0xFF, 0x04, 0x00, 0xCF, 0x00, 0x2C, 0x01, 0x01, 0xFF, 0x05, 0x00, 0xCF, 0x00, 0xFB, 0x01, 0x01, 0xFF, 0x06, 0x00, 0x3C, 0x00, 0xCA, 0x02, 0x01, 0xFF, 0x07, 0x00, 0xCF, 0x00, 0x06, 0x03, 0x01, 0xFF, 0x08, 0x00, 0xCF, 0x00, 0xD5, 0x03, 0x01, 0xFF, 0x09, 0x00, 0x14, 0x00, 0xA4, 0x04, 0x01, 0xFF, 0x0A, 0x00, 0x06, 0x00, 0xB8, 0x04, 0x01, 0xFF, 0x0B, 0x00, 0x07, 0x00, 0xBE, 0x04, 0x01, 0xFF, 0x0C, 0x00, 0x06, 0x00, 0xC5, 0x04, 0x01, 0xFF, 0x0D, 0x00, 0x25, 0x00, 0xCB, 0x04, 0x01, 0xFF, 0x0E, 0x00, 0x25, 0x00, 0xF0, 0x04, 0x01, 0xFF, 0x0F, 0x00, 0x25, 0x00, 0x15, 0x05, 0x01, 0xFF, 0x10, 0x00, 0x25, 0x00, 0x3A, 0x05, 0x01, 0xFF, 0x11, 0x00, 0x06, 0x00, 0x5F, 0x05, 0x01, 0xFF, 0x12, 0x00, 0x07, 0x00, 0x65, 0x05, 0x01, 0xFF, 0x13, 0x00, 0x14, 0x00, 0x6C, 0x05, 0x01, 0xFF, 0x14, 0x00, 0x06, 0x00, 0x80, 0x05, 0x01, 0xFF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xA8, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xED, 0xAC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xAC, 0x46, 0x00, 0x00, 0xFE, 0xAC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xAC, 0x45, 0x00, 0x00, 0xFE, 0xAD, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xAC, 0x46, 0x00, 0xFE, 0xAC, 0x46, 0x00, 0x00, 0xFE, 0xAD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xAF, 0x45, 0x00, 0xFE, 0xAD, 0x49, 0x00, 0xFE, 0xAF, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0x00, 0xFD, 0xAC, 0x00, 0x00, 0x00, 0x00, 0xF3, 0xAC, 0x45, 0x00, 0x00, 0xFE, 0xAD, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xAB, 0x45, 0x00, 0x00, 0xFD, 0xAD, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xAC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xA1, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xA8, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xED, 0xAC, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xAD, 0x46, 0x00, 0x00, 0xFE, 0xAC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xAD, 0x46, 0x00, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xAC, 0x48, 0x00, 0xFE, 0xAC, 0x45, 0x00, 0x00, 0xFE, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0xFE, 0xAD, 0x48, 0x00, 0xFE, 0xAD, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0x00, 0xFE, 0xAD, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xAC, 0x45, 0x00, 0x00, 0xFE, 0xAC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xAC, 0x44, 0x00, 0x00, 0xFE, 0xAD, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0xAC, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0xA2, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDD, 0xDD, 0xE1, 0xE1, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, 0xE4, 0xE3, 0xE3, 0xE4, 0xE4, 0xE2, 0xE2, 0xE4, 0xE4, 0xE5, 0xE5, 0xD6, 0xD6, 0xDA, 0xDA, 0xDA, 0xDA, 0xFC, 0xFC, 0xFD, 0xFC, 0xFA, 0xFC, 0xFA, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFB, 0xFA, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xF9, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFC, 0xF9, 0xFD, 0xFA, 0xFC, 0xFA, 0xDE, 0xDE, 0xE0, 0xE0, 0xE2, 0xE2, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE4, 0xE4, 0xE4, 0xE4, 0xE5, 0xE5, 0xD6, 0xD6, 0xDB, 0xDB, 0xDB, 0xDB, 0x00 }; FUNC(Std_ReturnType, RTE_CODE) Rte_Read_ctaaPLsR_PpareClamp2LightLightReq_sLightReq(P2VAR(tisLightReq, AUTOMATIC, RTE_CTAAPLSR_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRPlsR0_CeremonyCmd1_sPlsR0_CeremonyCmd1(P2CONST(tisPlsR_CeremonyCmd1, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; /* PRQA S 2981 */ /* MD_MSR_RetVal */ return ret; } FUNC(Std_ReturnType, ctaaCtrlTps929_CODE) PpasvCtrlTps929LightSourceData_Set(uint16 LsId, uint16 DataLen, P2VAR(uint8, AUTOMATIC, RTE_CTAACTRLTPS929_APPL_VAR) PixData) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { return 0x00u; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_ctaaPLsR_PpareCodMCodingStatus_sCodingStatus(P2VAR(tisCodingStatus, AUTOMATIC, RTE_CTAAPLSR_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { Std_ReturnType ret = RTE_E_OK; data->eCodingStatus = CODING_STATUS_VALID; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Read_ctaaPLsR_PpareSysMonLightFunctionFailSafe_sLightFuncFailsafe(P2VAR(tisLightFuncFS, AUTOMATIC, RTE_CTAAPLSR_APPL_VAR) data) /* PRQA S 1505, 3206 */ /* MD_MSR_Rule8.7, MD_Rte_3206 */ { Std_ReturnType ret = RTE_E_OK; /* PRQA S 2981 */ /* MD_MSR_RetVal */ return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRPlsR0_CeremonyCmd2_sPlsR0_CeremonyCmd2(P2CONST(tisPlsR_CeremonyCmd2, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRTurnReq_sTurnReq(P2CONST(tisTurnReq, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, ctaaCustDataEng_CODE) PpasvCusDataEng_FrameGet(tiucworkMode workMode, P2VAR(tisLightSourceFrame, AUTOMATIC, RTE_CTAACUSTDATAENG_APPL_VAR) frame) /* PRQA S 0624, 3206 */ /* MD_Rte_0624, MD_Rte_3206 */ { uint8 ret; ret = PLSR_ERR; switch(workMode) { case WORKMODE_ETH_DISPLAY: ret = PLSR_OK; memcpy(frame,Mt_TestData,sizeof(tisLightSourceFrame)); break; case WORKMODE_ETH_EXT_STORAGE_DISPLAY: ret = PLSR_OK; memcpy(frame,Mt_TestData,sizeof(tisLightSourceFrame)); break; default: frame = NULL_PTR; break; } return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRPlsR1_CeremonyCmd1_sPlsR1_CeremonyCmd1(P2CONST(tisPlsR_CeremonyCmd1, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRPlsR1_CeremonyCmd2_sPlsR1_CeremonyCmd2(P2CONST(tisPlsR_CeremonyCmd2, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRrequest_sSetting(P2CONST(tisPLsR_MortiseTenon_type, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } FUNC(Std_ReturnType, RTE_CODE) Rte_Write_ctaaPLsR_PpasePlsRPlsR_VehicleInfo_sPlsR_VehicleInfo(P2CONST(tisPlsR_VehicleInfo, AUTOMATIC, RTE_CTAAPLSR_APPL_DATA) data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */ { Std_ReturnType ret = RTE_E_OK; return ret; } VAR(tiucAniExeSts, RTE_VAR_NOINIT) Rte_ctaaPLsR_PpasePlsRAniExeSts_sAniExeSts; VAR(tiuclightshowtheme, RTE_VAR_NOINIT) Rte_ctaaCLamp2Light_PpaseClamp2LightLightShowTheme_slightshowtheme; uint8 plsr_AniFinish_Flg_pre = 0x00u; extern tRomPara_CodingArea applicationCodingData; //----------------------------------------------------------------------------- /// \Test Case : Mt_Rte_rpPLsR10ms /// /// \Test Case Description /// - Test subject: /// To call Rte_rpPLsR10ms function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- void Mt_Rte_rpPLsR10ms(void) { uint8 TaskCntIdx; //no trigger cycle task rpPLsRCycTrg = 0x00u; for(TaskCntIdx = 0x00u; TaskCntIdx < PLSR_CYC_NUM; TaskCntIdx++) { rpPLsRCnt[TaskCntIdx] = 0x01u; } Rte_rpPLsR10ms(); AL_UNITTEST_CHECK(rpPLsRCnt[0x00u], 0x00u, == ); AL_UNITTEST_CHECK(rpPLsRCnt[0x01u], 0x00u, == ); AL_UNITTEST_CHECK(rpPLsRCnt[0x02u], 0x00u, == ); AL_UNITTEST_CHECK(rpPLsRCycTrg ,0x00u, == ); //trigger cycle task for(TaskCntIdx = 0x00u; TaskCntIdx < PLSR_CYC_NUM; TaskCntIdx++) { rpPLsRCnt[TaskCntIdx]= 0x00u; } Rte_rpPLsR10ms(); AL_UNITTEST_CHECK(rpPLsRCnt[0x00u], PLSR_CNT_10MS, == ); AL_UNITTEST_CHECK(rpPLsRCnt[0x01u], PLSR_CNT_20MS, == ); AL_UNITTEST_CHECK(rpPLsRCnt[0x02u], PLSR_CNT_40MS, == ); AL_UNITTEST_CHECK(rpPLsRCycTrg, 0, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPixdata_PosOnly_RL /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPixdata_PosOnly_RL function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPixdata_PosOnly_RL(void) { uint8 Pos_Req; Pos_Req = 0u; Pos_Req = (PLSR_POS_OFF) | (PLSR_POS_ONRDOPEN << 4u); // LH | RH PLsR_getPixdata_PosOnly_RL(Pos_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_LEFT].PixLenth, 0x07u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_LEFT].PixPwmData, (Plsr_PosOnly_OFF_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T1_TAIL1_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_LEFT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_LEFT].PixPwmData, (Plsr_PosOnly_OFF_LH + sizeof(tisLightSourceFrameHeader) + 0x17u), == ); // PWM address of LS_RL_T1_TAIL2_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_RIGHT].PixLenth, 0x07u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_RIGHT].PixPwmData, (Plsr_PosOnly_ON_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T1_TAIL1_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_RIGHT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_RIGHT].PixPwmData, (Plsr_PosOnly_ON_RH + sizeof(tisLightSourceFrameHeader) + 0x17u), == ); // PWM address of LS_RL_T1_TAIL2_RIGHT Pos_Req = 0u; Pos_Req = (PLSR_POS_ONRDOPEN) | (PLSR_POS_OFF << 4u); PLsR_getPixdata_PosOnly_RL(Pos_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_LEFT].PixLenth, 0x07u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_LEFT].PixPwmData, (Plsr_PosOnly_ON_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T1_TAIL1_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_LEFT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_LEFT].PixPwmData, (Plsr_PosOnly_ON_LH + sizeof(tisLightSourceFrameHeader) + 0x17u), == ); // PWM address of LS_RL_T1_TAIL2_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_RIGHT].PixLenth, 0x07u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL1_RIGHT].PixPwmData, (Plsr_PosOnly_OFF_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T1_TAIL1_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_RIGHT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TAIL2_RIGHT].PixPwmData, (Plsr_PosOnly_OFF_RH + sizeof(tisLightSourceFrameHeader) + 0x17u), == ); // PWM address of LS_RL_T1_TAIL2_RIGHT } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPixdata_PosBrk_RL /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPixdata_PosBrk_RL function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPixdata_PosBrk_RL(void) { uint8 Pos_Req; uint8 Brk_Req; Pos_Req = 0u; Brk_Req = 0u; Pos_Req = PLSR_POS_OFF | (PLSR_POS_OFF << 4u); // LH | RH Brk_Req = PLSR_BRK_ON | (PLSR_BRK_ON << 4u); // LH | RH PLsR_getPixdata_PosBrk_RL(Pos_Req, Brk_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_StopON_LH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_StopON_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_StopON_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_StopON_RH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_RIGHT Pos_Req = 0u; Brk_Req = 0u; Pos_Req = PLSR_POS_OFF | (PLSR_POS_OFF << 4u); // LH | RH Brk_Req = PLSR_BRK_OFF | (PLSR_BRK_OFF << 4u); // LH | RH PLsR_getPixdata_PosBrk_RL(Pos_Req, Brk_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_OFF_LH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_OFF_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_OFF_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_OFF_RH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_RIGHT Pos_Req = 0u; Brk_Req = 0u; Pos_Req = PLSR_POS_ONRDOPEN | (PLSR_POS_ONRDOPEN << 4u); // LH | RH Brk_Req = PLSR_BRK_OFF | (PLSR_BRK_OFF << 4u); // LH | RH PLsR_getPixdata_PosBrk_RL(Pos_Req, Brk_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_TailON_RdOpen_LH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_TailON_RdOpen_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_TailON_RdOpen_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_TailON_RdOpen_RH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_RIGHT Pos_Req = 0u; Brk_Req = 0u; Pos_Req = PLSR_POS_ONRDCLOSE | (PLSR_POS_ONRDCLOSE << 4u); // LH | RH Brk_Req = PLSR_BRK_OFF | (PLSR_BRK_OFF << 4u); // LH | RH PLsR_getPixdata_PosBrk_RL(Pos_Req, Brk_Req); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_TailON_RdClose_LH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_LEFT].PixPwmData, (Plsr_StopTail_TailON_RdClose_LH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_TailON_RdClose_RH + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_STOPTAIL_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixLenth, 0x25u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_STOPTAIL_RIGHT].PixPwmData, (Plsr_StopTail_TailON_RdClose_RH + sizeof(tisLightSourceFrameHeader) + 0x35u), == ); // PWM address of LS_RL_T1_STOPTAIL_RIGHT } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPixdata_Gril /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPixdata_Gril function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPixdata_Gril(void) { uint8 GriReq; GriReq = PLSR_REQ_OFF; PLsR_getPixdata_Gril(GriReq); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_GL_CENTER].PixLenth, 0x3Cu, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_GL_CENTER].PixPwmData, (Plsr_Gri_OFF + sizeof(tisLightSourceFrameHeader) + 0x08u), == ); // PWM address of LS_GL_CENTER GriReq = PLSR_REQ_ON; PLsR_getPixdata_Gril(GriReq); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_GL_CENTER].PixLenth, 0x3Cu, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_GL_CENTER].PixPwmData, (Plsr_Gri_ON + sizeof(tisLightSourceFrameHeader) + 0x08u), == ); // PWM address of LS_GL_CENTER } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_WipingFrameCnt_Ti /// /// \Test Case Description /// - Test subject: /// To call PLsR_WipingFrameCnt_Ti function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_WipingFrameCnt_Ti(void) { uint8 TiReq; uint8 WipingFrameCnt; TiReq = PLSR_TI_OFF; WipingFrameCnt = 0x01u; PLsR_WipingFrameCnt_Ti(TiReq, &WipingFrameCnt); AL_UNITTEST_CHECK(WipingFrameCnt, 0x00u, == ); TiReq = PLSR_TI_ONRDOPEN; WipingFrameCnt = 0x01u; PLsR_WipingFrameCnt_Ti(TiReq, &WipingFrameCnt); AL_UNITTEST_CHECK(WipingFrameCnt, 0x02u, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPixdata_Ti_LH_RL /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPixdata_Ti_LH_RL function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPixdata_Ti_LH_RL(void) { uint8 TiReq; struct TiReqval { uint8 input_Req; uint8 Output_TiSts; uint8 Output_TiMode; uint8* Output_arrAddr; }; struct TiReqval reqTestArr[7u] = { {PLSR_TI_ONRDOPEN, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Left_ON_RdOpen }, {PLSR_TI_ONRDCLOSE, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Left_ON_RdClose }, {PLSR_TI_FLOWRDOPEN, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Left_WipingON_RdOpen }, {PLSR_TI_FLOWRDCLOSE, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Left_WipingON_RdClose }, {PLSR_TI_FLOW_T1ON_T3OFF, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Left_WipingON_T1ON_T3OFF}, {PLSR_TI_NOR_T1ON_T3OFF, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Left_T1ON_T3OFF }, {PLSR_TI_OFF, PLSR_TI_REQ_OFF ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Left_OFF } }; for (uint8 nstep = 0; nstep < 7u; nstep++) { TiReq = reqTestArr[nstep].input_Req; plsr_wipingframe_LH = 0x00u; PLsR_getPixdata_Ti_LH_RL(TiReq); AL_UNITTEST_CHECK(TurnReqSts.eTurnLH, reqTestArr[nstep].Output_TiSts, == ); AL_UNITTEST_CHECK(TurnReqSts.eTurnMode, reqTestArr[nstep].Output_TiMode, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_TURN_LEFT].PixLenth, 0x14u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_TURN_LEFT].PixPwmData, (reqTestArr[nstep].Output_arrAddr + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_TURN_LEFT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TURN_LEFT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TURN_LEFT].PixPwmData, (reqTestArr[nstep].Output_arrAddr + sizeof(tisLightSourceFrameHeader) + 0x24u), == ); // PWM address of LS_RL_T1_TURN_LEFT } } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPixdata_Ti_RH_RL /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPixdata_Ti_RH_RL function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPixdata_Ti_RH_RL(void) { uint8 TiReq; struct TiReqval { uint8 input_Req; uint8 Output_TiSts; uint8 Output_TiMode; uint8* Output_arrAddr; }; struct TiReqval reqTestArr[7u] = { {PLSR_TI_ONRDOPEN, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Right_ON_RdOpen }, {PLSR_TI_ONRDCLOSE, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Right_ON_RdClose }, {PLSR_TI_FLOWRDOPEN, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Right_WipingON_RdOpen }, {PLSR_TI_FLOWRDCLOSE, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Right_WipingON_RdClose }, {PLSR_TI_FLOW_T1ON_T3OFF, PLSR_TI_REQ_ON ,PLSR_TI_MOD_WIPING ,Plsr_Turn_Right_WipingON_T1ON_T3OFF}, {PLSR_TI_NOR_T1ON_T3OFF, PLSR_TI_REQ_ON ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Right_T1ON_T3OFF }, {PLSR_TI_OFF, PLSR_TI_REQ_OFF ,PLSR_TI_MOD_NORMAL ,Plsr_Ti_Right_OFF } }; for (uint8 nstep = 0; nstep < 7u; nstep++) { TiReq = reqTestArr[nstep].input_Req; plsr_wipingframe_RH = 0x00u; PLsR_getPixdata_Ti_RH_RL(TiReq); AL_UNITTEST_CHECK(TurnReqSts.eTurnRH, reqTestArr[nstep].Output_TiSts, == ); AL_UNITTEST_CHECK(TurnReqSts.eTurnMode, reqTestArr[nstep].Output_TiMode, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_TURN_RIGHT].PixLenth, 0x14u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T3_TURN_RIGHT].PixPwmData, (reqTestArr[nstep].Output_arrAddr + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); // PWM address of LS_RL_T3_TURN_RIGHT AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TURN_RIGHT].PixLenth, 0x06u, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_RL_T1_TURN_RIGHT].PixPwmData, (reqTestArr[nstep].Output_arrAddr + sizeof(tisLightSourceFrameHeader) + 0x24u), == ); // PWM address of LS_RL_T1_TURN_RIGHT } } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_ISD_Router /// /// \Test Case Description /// - Test subject: /// To call PLsR_ISD_Router function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_ISD_Router(void) { uint8 CycMask; plsr_LightReq.ReguReq.ISD_ReqLR = PLSR_ISD_OFF; CycMask = PLSR_MASK_CNT_10MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_NONE; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_FLASH; plsr_AniFinish_Flg = PLSR_ANI_NOT_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_FIN; //PLsR_getCusDataFrame return OK plsr_AniFrameNum_cnt = 0u; //current frame Idx plsr_AniFramedata.header.frameIdx = 0x01u; //next frame Idx plsr_LightReq.ReqParm.FrameMAX = 0xFFu;//set maximun frame Idx PLsR_ISD_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_ISD, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_NOT_FIN, == ); plsr_LightReq.ReguReq.ISD_ReqLR = PLSR_ISD_OFF; CycMask = PLSR_MASK_CNT_40MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_NONE; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_FLASH; plsr_AniFinish_Flg = PLSR_ANI_NOT_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_NOT_FIN; //PLsR_getCusDataFrame return OK plsr_AniFrameNum_cnt = 0u; //current frame Idx plsr_AniFramedata.header.frameIdx = 0x01u; //next frame Idx plsr_LightReq.ReqParm.FrameMAX = 0xFFu;//set maximun frame Idx PLsR_ISD_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_ISD, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_NOT_FIN, == ); plsr_LightReq.ReguReq.ISD_ReqLR = PLSR_ISD_NONE; CycMask = PLSR_MASK_CNT_40MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_NONE; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_TABLE; plsr_AniFinish_Flg = PLSR_ANI_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_NOT_FIN; PLsR_ISD_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_NOTRUN, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_FIN, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_Ani_Router /// /// \Test Case Description /// - Test subject: /// To call PLsR_Ani_Router function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_Ani_Router(void) { uint8 CycMask; CycMask = PLSR_MASK_CNT_10MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_BOTH; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_FLASH; plsr_AniFinish_Flg = PLSR_ANI_NOT_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_FIN; plsr_AniFrameNum_MissCnt = 0u; //PLsR_getCusDataFrame() return OK PLsR_Ani_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_ALL, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_NOT_FIN, == ); CycMask = PLSR_MASK_CNT_40MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_BOTH; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_FLASH; plsr_AniFinish_Flg = PLSR_ANI_NOT_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_NOT_FIN; plsr_AniFrameNum_MissCnt = 0u; //PLsR_getCusDataFrame() return OK PLsR_Ani_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_ALL, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_NOT_FIN, == ); CycMask = PLSR_MASK_CNT_40MS; plsr_LightReq.ReqParm.DisArea = PLSR_DISP_NONE; plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_TABLE; plsr_AniFinish_Flg = PLSR_ANI_FIN; plsr_AniFinish_Flg_pre = PLSR_ANI_NOT_FIN; Plsr_AniExeSts = PLSR_ANI_ALL; PLsR_Ani_Router(CycMask); AL_UNITTEST_CHECK(Plsr_AniExeSts, PLSR_ANI_NOTRUN, == ); AL_UNITTEST_CHECK(plsr_VehicleInfo.boCeremonyCmdEnable, PLSR_ANI_DIS, == ); AL_UNITTEST_CHECK(plsr_anidata_MortiseTenon.AniReq, PLSR_ANI_DIS, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg_pre, PLSR_ANI_FIN, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_PicHandle_ISD /// /// \Test Case Description /// - Test subject: /// To call PLsR_PicHandle_ISD function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_PicHandle_ISD(void) { PLsR_PicHandle_ISD(PLSR_PIC_TEST_ALL,ISD_RH); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_ISD_WHITE_RIGHT].PixPwmData, (Plsr_ISD_Right_AllOn + sizeof(tisLightSourceFrameHeader) + 0x10u), == ); AL_UNITTEST_CHECK(PixLightSource_PixData[LS_ISD_AMBER_RIGHT].PixPwmData, (Plsr_ISD_Right_AllOn + sizeof(tisLightSourceFrameHeader) + 0xDFu), == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_Framedata_Failsafe_Ctl /// /// \Test Case Description /// - Test subject: /// To call PLsR_Framedata_Failsafe_Ctl function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_Framedata_Failsafe_Ctl(void) { uint8 nStep; uint8 Ret; struct testCaseTyp { uint8 Input_LsTyp; uint8 Input_FsReq; uint8 Input_side; uint8* Output_PwmData; }; struct testCaseTyp testCase[4]= { {LS_ISD_WHITE_LEFT, PLSR_FS_LF_ForceOFF, ISD_LH, Plsr_ISD_Left_OFF + sizeof(tisLightSourceFrameHeader) + 0x10u }, {LS_ISD_AMBER_LEFT, PLSR_FS_LF_ForceOFF, ISD_LH, Plsr_ISD_Left_OFF + sizeof(tisLightSourceFrameHeader) + 0xDFu }, {LS_ISD_WHITE_RIGHT, PLSR_FS_LF_ForceOFF, ISD_RH, Plsr_ISD_Right_OFF + sizeof(tisLightSourceFrameHeader) + 0x10u }, {LS_ISD_AMBER_RIGHT, PLSR_FS_LF_ForceOFF, ISD_RH, Plsr_ISD_Right_OFF + sizeof(tisLightSourceFrameHeader) + 0xDFu } }; for(nStep = 0u; nStep < 4u; nStep++) { PixLightSource_PixData[LS_ISD_WHITE_LEFT].PixPwmData = NULL_PTR; PixLightSource_PixData[LS_ISD_AMBER_LEFT].PixPwmData = NULL_PTR; PixLightSource_PixData[LS_ISD_WHITE_RIGHT].PixPwmData = NULL_PTR; PixLightSource_PixData[LS_ISD_AMBER_RIGHT].PixPwmData = NULL_PTR; Plsr_LightFuncFS.eISD_White_FS_L_HL = testCase[nStep].Input_FsReq; Plsr_LightFuncFS.eISD_AMB_FS_L_HL = testCase[nStep].Input_FsReq; Plsr_LightFuncFS.eISD_White_FS_R_HL = testCase[nStep].Input_FsReq; Plsr_LightFuncFS.eISD_AMB_FS_R_HL = testCase[nStep].Input_FsReq; Ret = PLsR_Framedata_Failsafe_Ctl(testCase[nStep].Input_LsTyp, testCase[nStep].Input_side); AL_UNITTEST_CHECK(Ret, PLSR_FS_ERR, == ); AL_UNITTEST_CHECK(PixLightSource_PixData[testCase[nStep].Input_LsTyp].PixPwmData, (testCase[nStep].Output_PwmData), == ); } } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getCusDataFrame /// /// \Test Case Description /// - Test subject: /// To call PLsR_getCusDataFrame function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getCusDataFrame(void) { uint8 Ret; // frame Idx normal plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_FLASH; plsr_LightReq.ReqParm.FrameMAX = 1u; plsr_AniFrameNum_cnt = 1u; // plsr_AniFramedata.header.frameIdx =2u; Ret = PLsR_getCusDataFrame(); AL_UNITTEST_CHECK(plsr_AniFrameNum_MissCnt, 0u, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg, PLSR_ANI_FIN, == ); AL_UNITTEST_CHECK(plsr_AniFrameNum_cnt, 0u, == ); // frame Idx error plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_FRAME_ETH; plsr_LightReq.ReqParm.FrameMAX = 0xFFu; plsr_AniFrameNum_cnt = 2u; // plsr_AniFramedata.header.frameIdx =2u; plsr_AniFrameNum_MissCnt = PLSR_GETFRAME_TMOT-1u; Ret = PLsR_getCusDataFrame(); AL_UNITTEST_CHECK(plsr_AniFrameNum_MissCnt, PLSR_GETFRAME_TMOT, == ); AL_UNITTEST_CHECK(plsr_AniFinish_Flg, PLSR_ANI_FIN, == ); AL_UNITTEST_CHECK(plsr_AniFrameNum_cnt, 2u, == ); AL_UNITTEST_CHECK(plsr_AniFrameNum_ErrFlg, PLSR_ERR, == ); // get data frame error plsr_LightReq.ReqParm.GetDataBy = PLSR_GETDATABY_NONE; plsr_LightReq.ReqParm.FrameMAX = 0xFFu; plsr_AniFrameNum_cnt = 2u; // plsr_AniFramedata.header.frameIdx =2u; plsr_AniFrameNum_ErrFlg = 0x01u; plsr_AniFrameNum_MissCnt = 0u; Ret = PLsR_getCusDataFrame(); AL_UNITTEST_CHECK(plsr_AniFrameNum_MissCnt, 1u, == ); AL_UNITTEST_CHECK(plsr_AniFrameNum_ErrFlg, 0x01u, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_getPicThemeData_ISD /// /// \Test Case Description /// - Test subject: /// To call PLsR_getPicThemeData_ISD function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_getPicThemeData_ISD(void) { uint8* Ret; tisPicInfoTabType* Mt_PicDataInfo_Ptr; uint8 Mt_Isdside; //Theme none /*OFF*/ Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[0].PicInfo; plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Left_OFF, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[0].PicInfo; plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Right_OFF, == ); /*Theme1*/ Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[1].PicInfo;//TI applicationCodingData.ISDDataTheme.ISDLeft_Turn_Theme[0].DataValid = 1u;//Theme1 valid plsr_LightShowTheme = ISD_THEME1; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDLeft_Turn_Theme[0].Byte, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[1].PicInfo;//TI applicationCodingData.ISDDataTheme.ISDRight_Turn_Theme[0].DataValid = 1u;//Theme1 valid plsr_LightShowTheme = ISD_THEME1; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDRight_Turn_Theme[0].Byte, == ); Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[1].PicInfo;//TI applicationCodingData.ISDDataTheme.ISDLeft_Turn_Theme[0].DataValid = 0u;//Theme1 invalid plsr_LightShowTheme = ISD_THEME1; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Left_OFF, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[1].PicInfo;//TI applicationCodingData.ISDDataTheme.ISDRight_Turn_Theme[0].DataValid = 0u;//Theme1 invalid plsr_LightShowTheme = ISD_THEME1; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Right_OFF, == ); /*Theme2*/ //Theme 1 invalid, Theme2 valid Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[2].PicInfo;//DRL applicationCodingData.ISDDataTheme.ISDLeft_DRL_Theme[0].DataValid = 0u;//Theme1 invalid applicationCodingData.ISDDataTheme.ISDLeft_DRL_Theme[1].DataValid = 1u;//Theme2 valid plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDLeft_DRL_Theme[1].Byte, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[2].PicInfo;//DRL applicationCodingData.ISDDataTheme.ISDRight_DRL_Theme[0].DataValid = 0u;//Theme1 invalid applicationCodingData.ISDDataTheme.ISDRight_DRL_Theme[1].DataValid = 1u;//Theme2 valid plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDRight_DRL_Theme[1].Byte, == ); //Theme 1 valid, Theme2 invalid Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[2].PicInfo;//DRL applicationCodingData.ISDDataTheme.ISDLeft_DRL_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDLeft_DRL_Theme[1].DataValid = 0u;//Theme2 invalid plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Left_OFF, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[2].PicInfo;//DRL applicationCodingData.ISDDataTheme.ISDRight_DRL_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDRight_DRL_Theme[1].DataValid = 0u;//Theme2 invalid plsr_LightShowTheme = ISD_THEME2; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Right_OFF, == ); /*Theme4*/ //Theme 1 valid, Theme4 valid Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[3].DataValid = 1u;//Theme4 valid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[3].Byte, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[3].DataValid = 1u;//Theme4 valid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[3].Byte, == ); //Theme 1 valid, Theme4 invalid Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[3].DataValid = 0u;//Theme4 invalid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[0].Byte, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[0].DataValid = 1u;//Theme1 valid applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[3].DataValid = 0u;//Theme4 invalid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[0].Byte, == ); //Theme 1 invalid, Theme4 invalid Mt_Isdside = ISD_LH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[0].DataValid = 0u;//Theme1 invalid applicationCodingData.ISDDataTheme.ISDLeft_POS_Theme[3].DataValid = 0u;//Theme4 invalid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Left_OFF, == ); Mt_Isdside = ISD_RH; Mt_PicDataInfo_Ptr = &plsr_IsdPicData_Tab[3].PicInfo;//POS applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[0].DataValid = 0u;//Theme1 invalid applicationCodingData.ISDDataTheme.ISDRight_POS_Theme[3].DataValid = 0u;//Theme4 invalid plsr_LightShowTheme = ISD_THEME4; Ret = PLsR_getPicThemeData_ISD(Mt_PicDataInfo_Ptr, Mt_Isdside); AL_UNITTEST_CHECK(Ret, Plsr_ISD_Right_OFF, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_RTE_PLsR_AniFinishedFlg /// /// \Test Case Description /// - Test subject: /// To call RTE_PLsR_AniFinishedFlg function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_RTE_PLsR_AniFinishedFlg(void) { uint8 Operation; uint8 Finishedflg; Operation = PLSR_ANIFIN_FLGRD; plsr_AniFinish_Flg = 0x01u; Finishedflg = 0x00u; RTE_PLsR_AniFinishedFlg(Operation, &Finishedflg); AL_UNITTEST_CHECK(Finishedflg, 0x01u, == ); Operation = PLSR_ANIFIN_FLGCLR; plsr_AniFinish_Flg = 0x01u; RTE_PLsR_AniFinishedFlg(Operation, &Finishedflg); AL_UNITTEST_CHECK(plsr_AniFinish_Flg, PLSR_ANI_NOT_FIN, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_GetFrameErr /// /// \Test Case Description /// - Test subject: /// To call PLsR_GetFrameErr function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_GetFrameErr(void) { uint8 Ret; plsr_AniFrameNum_ErrFlg = 0x01u; Ret = PLsR_GetFrameErr(); AL_UNITTEST_CHECK(Ret, 0x01u, == ); } //----------------------------------------------------------------------------- /// \Test Case : Mt_PLsR_ClrFrameErr /// /// \Test Case Description /// - Test subject: /// To call PLsR_ClrFrameErr function and check Eft CRC status /// /// - Preconditions: none /// /// - Expected test results: /// - All conditions and assigned values mentioned for each test case/step shall be reached and passed /// //----------------------------------------------------------------------------- static void Mt_PLsR_ClrFrameErr(void) { PLsR_ClrFrameErr(); AL_UNITTEST_CHECK(plsr_AniFrameNum_ErrFlg , PLSR_OK, == ); } // ---------------------------------------------------------------------------- // Add Test Cases //----------------------------------------------------------------------------- void ALUnitTest_AddTests(void) { ALUnitTest_AddFunction("Mt_Rte_rpPLsR10ms", Mt_Rte_rpPLsR10ms); ALUnitTest_AddFunction("Mt_PLsR_getPixdata_PosOnly_RL", Mt_PLsR_getPixdata_PosOnly_RL); ALUnitTest_AddFunction("Mt_PLsR_getPixdata_PosBrk_RL", Mt_PLsR_getPixdata_PosBrk_RL); ALUnitTest_AddFunction("Mt_PLsR_getPixdata_Gril", Mt_PLsR_getPixdata_Gril); ALUnitTest_AddFunction("Mt_PLsR_WipingFrameCnt_Ti", Mt_PLsR_WipingFrameCnt_Ti); ALUnitTest_AddFunction("Mt_PLsR_getPixdata_Ti_LH_RL", Mt_PLsR_getPixdata_Ti_LH_RL); ALUnitTest_AddFunction("Mt_PLsR_getPixdata_Ti_RH_RL", Mt_PLsR_getPixdata_Ti_RH_RL); ALUnitTest_AddFunction("Mt_PLsR_ISD_Router", Mt_PLsR_ISD_Router); ALUnitTest_AddFunction("Mt_PLsR_Ani_Router", Mt_PLsR_Ani_Router); ALUnitTest_AddFunction("Mt_PLsR_PicHandle_ISD", Mt_PLsR_PicHandle_ISD); ALUnitTest_AddFunction("Mt_PLsR_Framedata_Failsafe_Ctl", Mt_PLsR_Framedata_Failsafe_Ctl); ALUnitTest_AddFunction("Mt_PLsR_getCusDataFrame", Mt_PLsR_getCusDataFrame); ALUnitTest_AddFunction("Mt_PLsR_getPicThemeData_ISD", Mt_PLsR_getPicThemeData_ISD); ALUnitTest_AddFunction("Mt_RTE_PLsR_AniFinishedFlg", Mt_RTE_PLsR_AniFinishedFlg); ALUnitTest_AddFunction("Mt_PLsR_GetFrameErr", Mt_PLsR_GetFrameErr); ALUnitTest_AddFunction("Mt_PLsR_ClrFrameErr", Mt_PLsR_ClrFrameErr); }