#include #include #include #include #define PXAPRJ_ECU_VAR_HIGH 0u #define PXAPRJ_QUALITY_OK 0u /// Number of segments that are received #define PXAPRJ_CFG_NO_OF_SEGMENTS 12u /// Default priority which is sent if ADB is not requested #define PXAPRJ_CFG_DEFAULT_PRIORITY 15u /// [ms] Default ramp timesrequested #define PXAPRJ_CFG_DEFAULT_RAMP_UP 0u #define PXAPRJ_CFG_DEFAULT_RAMP_DOWN 0u Rte_tieMountingSide Rte_PxaPrj_ucSide; Rte_tisMxLsmDataArr Rte_MxLsmDataArr; Rte_tisHighBeamFct Rte_HighBeamFct; Rte_tisMatrixLedTgt Rte_MatrixLedTgt; Rte_tisMxSegTarget Rte_PxaPrj_asMxSegTarget[PXAPRJ_MAX_NO_OF_EXTSWITCHES]; Rte_tieDataStatus Rte_PxaPrj_CodingDataStatus; tRomPara_CodingArea coding_data; //const tRomPara_CodingArea* applicationCodingDataptr = &coding_data; const tRomPara_CodingArea applicationCodingData; //Forward Default Values void Mt_Test_01(void) { riPxAInit(); rpPxA10ms(); uint16 i; for (i = 0; i < PXAPRJ_CFG_NO_OF_SEGMENTS; i++) { AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[i].unBrightness, 0u, ==); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[i].ucPriority, PXAPRJ_CFG_DEFAULT_PRIORITY, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[i].unRampTimeDown, PXAPRJ_CFG_DEFAULT_RAMP_DOWN, ==); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[i].unRampTimeUp, PXAPRJ_CFG_DEFAULT_RAMP_UP, == ); } } //Forward ADB Values void Mt_Test_02(void) { riPxAInit(); Rte_HighBeamFct.eHighBeamMode = PARTIAL; Rte_HighBeamFct.eHighBeamModeQty = PXAPRJ_QUALITY_OK; Rte_PxaPrj_CodingDataStatus = tieDataStatus_Valid; //Rte_MatrixLedTgt.eLed_0_5_Qty = 1u; //Rte_MatrixLedTgt.eLed_6_11_Qty = 1u; Rte_MatrixLedTgt.aucLedTarget[0] = 94u; Rte_MatrixLedTgt.aucLedTarget[1] = 108u; Rte_MatrixLedTgt.aucLedTarget[2] = 128u; Rte_MatrixLedTgt.aucLedTarget[3] = 150u; Rte_MatrixLedTgt.aucLedTarget[4] = 166u; Rte_MatrixLedTgt.aucLedTarget[5] = 255u; Rte_MatrixLedTgt.aucLedTarget[6] = 255u; Rte_MatrixLedTgt.aucLedTarget[7] = 166u; Rte_MatrixLedTgt.aucLedTarget[8] = 150u; Rte_MatrixLedTgt.aucLedTarget[9] = 128u; Rte_MatrixLedTgt.aucLedTarget[10] = 108u; Rte_MatrixLedTgt.aucLedTarget[11] = 94u; rpPxA10ms(); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[0].unBrightness, 8696u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[1].unBrightness, 10407u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[2].unBrightness, 12993u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[3].unBrightness, 16190u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[4].unBrightness, 18557u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[5].unBrightness, 32767u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[6].unBrightness, 32767u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[7].unBrightness, 18557u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[8].unBrightness, 16190u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[9].unBrightness, 12993u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[10].unBrightness, 10407u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[11].unBrightness, 8696u, == ); rdPxADeInit(); } //Forward ADB Values, Priority higher than LSM priority void Mt_Test_03(void) { riPxAInit(); Rte_HighBeamFct.eHighBeamMode = PARTIAL; Rte_HighBeamFct.eHighBeamModeQty = PXAPRJ_QUALITY_OK; Rte_PxaPrj_CodingDataStatus = tieDataStatus_Valid; //Rte_MatrixLedTgt.eLed_0_5_Qty = 1u; //Rte_MatrixLedTgt.eLed_6_11_Qty = 1u; Rte_MxLsmDataArr->ucPriority = 3u; rpPxA10ms(); } //High Beam Normal void Mt_Test_04(void) { riPxAInit(); Rte_HighBeamFct.eHighBeamMode = MANUAL; Rte_HighBeamFct.eHighBeamModeQty = PXAPRJ_QUALITY_OK; Rte_PxaPrj_CodingDataStatus = tieDataStatus_Valid; rpPxA10ms(); Rte_MatrixLedTgt.aucLedTarget[0] = 94u; Rte_MatrixLedTgt.aucLedTarget[1] = 108u; Rte_MatrixLedTgt.aucLedTarget[2] = 128u; Rte_MatrixLedTgt.aucLedTarget[3] = 150u; Rte_MatrixLedTgt.aucLedTarget[4] = 166u; Rte_MatrixLedTgt.aucLedTarget[5] = 255u; Rte_MatrixLedTgt.aucLedTarget[6] = 255u; Rte_MatrixLedTgt.aucLedTarget[7] = 166u; Rte_MatrixLedTgt.aucLedTarget[8] = 150u; Rte_MatrixLedTgt.aucLedTarget[9] = 128u; Rte_MatrixLedTgt.aucLedTarget[10] = 108u; Rte_MatrixLedTgt.aucLedTarget[11] = 94u; rpPxA10ms(); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[0].unBrightness, 23592u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[1].unBrightness, 24575u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[2].unBrightness, 25885u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[3].unBrightness, 27524u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[4].unBrightness, 28507u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[5].unBrightness, 32767u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[6].unBrightness, 32767u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[7].unBrightness, 28507u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[8].unBrightness, 27524u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[9].unBrightness, 25885u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[10].unBrightness, 24575u, == ); AL_UNITTEST_CHECK(Rte_PxaPrj_asMxSegTarget[11].unBrightness, 23592u, == ); } //High Beam Normal, Priority higher than LSM priority void Mt_Test_05(void) { riPxAInit(); Rte_HighBeamFct.eHighBeamMode = MANUAL; Rte_HighBeamFct.eHighBeamModeQty = PXAPRJ_QUALITY_OK; Rte_PxaPrj_CodingDataStatus = tieDataStatus_Valid; Rte_MxLsmDataArr->ucPriority = 2u; rpPxA10ms(); } //Set Coding Data Status Valid through RTE function void Mt_Test_06(void) { Rte_PxaPrj_CodingDataStatus = tieDataStatus_Valid; riPxAInit();//Cover right mounting side Rte_PxaPrj_ucSide = eIoHwAbUser_MountingSide_Left; riPxAInit(); //cover left mounting side } void ALUnitTest_AddTests(void) { (void)ALUnitTest_AddFunction("Mt_Test_01", Mt_Test_01); (void)ALUnitTest_AddFunction("Mt_Test_02", Mt_Test_02); (void)ALUnitTest_AddFunction("Mt_Test_03", Mt_Test_03); (void)ALUnitTest_AddFunction("Mt_Test_04", Mt_Test_04); (void)ALUnitTest_AddFunction("Mt_Test_05", Mt_Test_05); (void)ALUnitTest_AddFunction("Mt_Test_06", Mt_Test_06); }