//***************************************************************************** // (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 ctaaCddMlcInd8308.c /// /// \brief Wrapper file for runnables /// /// \author Bodian Bianca ALRO-CJ (F40898C) /// mailTo:bianca-dorina.bodian[at]magnetimarelli.com /// //----------------------------------------------------------------------------- //============================================================================= // includes //============================================================================= //#include // Only for test purpose in AL68 #include #include "CddMlcInd8308.h" //#include #include "ctaaCddMlcInd8308.h" //#include //#include "Rte_CDD_MLC.h" //#include "Rte_ctadCddMlc.h" // Correct header file included //============================================================================= #define CDD_MLC_VOLTAGE_POINTS 256u #define CDD_MLC_OPEN_LOAD 255u #define CDD_MLC_SHORT_CUT 254u //============================================================================= //============================================================================= // functions //============================================================================= //----------------------------------------------------------------------------- /// \brief roCddMlcInd8308_EnableTransmission /// /// \descr runnable for enabling transmission for Mlc driver /// /// \param void /// /// \return void //----------------------------------------------------------------------------- //void roCddMlcInd8308_EnableTransmission(void) //{ // // CddMlcInd8308_SetTransmissionActive(TRUE); // //} //----------------------------------------------------------------------------- /// \brief roCddMlcInd8308_DisableTransmission /// /// \descr runnable for disabling transmission for Mlc driver /// /// \param void /// /// \return void //----------------------------------------------------------------------------- //void roCddMlcInd8308_DisableTransmission(void) //{ // // CddMlcInd8308_SetTransmissionActive(FALSE); // //} //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteWrite_ComStatus /// /// \descr Access to Mlc communication status /// /// \param tCddMlcInd8308_ComStatus /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_ComStatus(tsCddMlcInd8308_ComStatus *sComStatus) { (void)sComStatus; } //----------------------------------------------------------------------------- /// \brief roCddMlcEE_Read /// /// \descr /// /// \param void /// /// \return void //----------------------------------------------------------------------------- //void roCddMlcEE_Read(void) //{ // tisMlcEE0 MlcEE_DataRead; // (void)Rte_Read_MLCEE_DataRead_Port(&MlcEE_DataRead); // (void)CddMlcI2C_ReadEeprom(MlcEE_DataRead.pucMlcEEbuf, MlcEE_DataRead.unMlcEEStartAdd, MlcEE_DataRead.unMlcEELen, MlcEE_DataRead.sMlcEE0CbkFn.pfnMlcEECbkSuccess, MlcEE_DataRead.sMlcEE0CbkFn.pfnMlcEECbkFail); // (void)Rte_Write_MLCEE_DataContent_val_Port(&MlcEE_DataRead); //} //----------------------------------------------------------------------------- /// \brief roCddMlcEE_Write /// /// \descr /// /// \param void /// /// \return void //----------------------------------------------------------------------------- //void roCddMlcEE_Write(void) //{ // tisMlcEE0 MlcEE_DataWrite; // (void)Rte_Read_MLCEE_DataWrite_Port(&MlcEE_DataWrite); // (void)CddMlcI2C_WriteEeprom(MlcEE_DataWrite.pucMlcEEbuf, MlcEE_DataWrite.unMlcEEStartAdd, MlcEE_DataWrite.unMlcEELen, MlcEE_DataWrite.sMlcEE0CbkFn.pfnMlcEECbkSuccess, MlcEE_DataWrite.sMlcEE0CbkFn.pfnMlcEECbkFail); //} //----------------------------------------------------------------------------- /// \brief roCddMlcEE_CbkInit /// /// \descr /// /// \param void /// /// \return void //----------------------------------------------------------------------------- //void roCddMlcEE_CbkInit(void) //{ // tisMlcEE0CbkFn MlcEE_DataInitCbk; // (void)Rte_Read_MLCEE_CbkInitData_Port(&MlcEE_DataInitCbk); // (void)CddMlcI2C_StartInit(MlcEE_DataInitCbk.pfnMlcEECbkSuccess, MlcEE_DataInitCbk.pfnMlcEECbkFail); //} //----------------------------------------------------------------------------- /// \brief /// /// \descr /// /// \param punTgtLedPwms /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_TgtLedPwms(uint16 *punTgtLedPwms) { //#define CFG_MAX_NO_OF_MLC 8u //tisMxSwitchStatusFault ucStatOnOffMatrixSegmente[CFG_MAX_NO_OF_MLC]; // Hello Amine, please update following code according to RTE changes /* #define RAW_TO_PERCENT(x) (uint16)(((x) * 100U) / 1023U) for(uint32 segment = 0; segment < 96U; segment++) { const uint8 led = ((uint8)segment % 12U); const uint8 chip = ((uint8)segment / 12U); const uint16 DutyCycle = *(uint16*)((uint32)punTgtLedPwms + (uint32)((uint32)led * sizeof(uint16)) + (uint32)((uint32)chip * 12U * sizeof(uint16))); // PRQA S 306 ++ // allowed in embedded software ucStatOnOffMatrixSegmente[segment].unStatDutyCycle = RAW_TO_PERCENT(DutyCycle); if(ucStatOnOffMatrixSegmente[segment].unStatDutyCycle > 0U) { ucStatOnOffMatrixSegmente[segment].eStatOn = 1U; } else { ucStatOnOffMatrixSegmente[segment].eStatOn = 0U; } ucStatOnOffMatrixSegmente[segment].eErr = 0; } */ (void)(punTgtLedPwms); } //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteRead_TgtLedPwms /// /// \descr /// /// \param punTgtLedPwms /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteRead_TgtLedPwms(uint16 *punTgtLedPwms) { (void)punTgtLedPwms; } //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteWrite_SysMode /// /// \descr Access to Mlc system mode /// /// \param tCddMlcInd8308_SystemMode /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_SystemMode(teCddMlcInd8308_SystemMode *sSysMode) { // (void)Rte_Write_CddMlcInd8308_SysMode_eVal_Port(sSysMode); (void)sSysMode; } //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteWrite_LedStatus /// /// \descr /// /// \param sLedStatus /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_LedStatus(tsCddMlcInd8308_LedStatus *sLedStatus) { (void)sLedStatus; } //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteWrite_AdcResult /// /// \descr /// /// \param sAdcResult /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_AdcResult(tsCddMlcInd8308_AdcResult *sAdcResult) { (void)sAdcResult; } //----------------------------------------------------------------------------- /// \brief CddMlcInd8308_RteWrite_AckLedPwms /// /// \descr /// /// \param unAckLedPwms /// /// \return void //----------------------------------------------------------------------------- void CddMlcInd8308_RteWrite_AckLedPwms(uint16 *unAckLedPwms) { (void)unAckLedPwms; } // EOF