//***************************************************************************** // (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 CddEft.c /// /// \brief Default EFT data for ECU initial test operation /// /// \author OTT, Peter ALDE-RT/EES6 //----------------------------------------------------------------------------- //============================================================================= // includes //============================================================================= #include #include #include #include #include //============================================================================= // Start definitions of static or initialized boolean variables //============================================================================= #define ctadCddEft_START_SEC_VAR_INIT_BOOLEAN #include "ctadCddEft_MemMap.h" //============================================================================= // Static variable declarations //============================================================================= STATIC_AL boolean CddEft_CrcValid = FALSE; #define ctadCddEft_STOP_SEC_VAR_INIT_BOOLEAN #include "ctadCddEft_MemMap.h" //============================================================================= // End definitions of static or initialized boolean variables //============================================================================= //============================================================================= // Start declaration or definitions of functions //============================================================================= #define ctadCddEft_START_SEC_CODE #include "ctadCddEft_MemMap.h" // -------------- Start function declarations or definitions. //----------------------------------------------------------------------------- /// \brief CddEft initialization /// /// \descr Check EFT data CRC /// /// \param none /// /// \return void //----------------------------------------------------------------------------- void CddEft_Init(void) { uint32 ulCrcCodingData = 0; uint8* pucCrcEFTData = (uint8*)EFT_START_ADDRESS; ulCrcCodingData = Crc_CalculateCRC32(pucCrcEFTData, (uint32)(EFT_END_ADDRESS - EFT_START_ADDRESS + 1u), (uint32)EFT_CRC_INITIAL_VAL, TRUE); if ( (EftData.Eft_Crc.Crc32.ulCrc == ulCrcCodingData) // TBD // replace by CRC check! && (EftData.Eft_Calib.Val.Text.acText[0] == 'C') && (EftData.Eft_Calib.Val.Text.acText[1] == 'A') && (EftData.Eft_Calib.Val.Text.acText[2] == 'L') && (EftData.Eft_Calib.Val.Text.acText[3] == 'I') ) { CddEft_CrcValid = TRUE; } Rte_Write_ppaseCddEftCrcStatus0_eEftDataStatus(CddEft_CrcValid); Rte_Call_ppaclCodMStartCodingDataVerification_StartCodingDataVerification(); } //----------------------------------------------------------------------------- /// \brief Check for valid EFT data /// /// \descr Get EFT data CRC status /// /// \param none /// /// \return boolean TRUE if valid //----------------------------------------------------------------------------- boolean CddEft_DataValid(void) { return CddEft_CrcValid; } // -------------- Stop function declarations or definitions. #define ctadCddEft_STOP_SEC_CODE #include "ctadCddEft_MemMap.h" //============================================================================= // End declaration or definitions of functions //=============================================================================