//***************************************************************************** // (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 CddLed_RoutCfg.h /// /// \brief /// /// \author OTT, Peter ALDE-RT/EES6 //----------------------------------------------------------------------------- #ifndef CDD_LED_ROUT_CFG_2021_07_01_H_ #define CDD_LED_ROUT_CFG_2021_07_01_H_ #ifdef UNIT_TEST #include #else #if (CDDBUCK_CHIP_SELECT == CDDBUCk_CHIP_CPSQ5352) #include #else #include #endif //#include //#include #include //----------------------------------------------------------------------------- // Access to IoHwAbUser //----------------------------------------------------------------------------- #define CDDLED_GetECUSupply(pVolt) IoHwAbUser_GetECUSupply(pVolt) //----------------------------------------------------------------------------- // Access to chip specific implementation //----------------------------------------------------------------------------- #if (CDDBUCK_CHIP_SELECT == CDDBUCk_CHIP_CPSQ5352) #define CDDLED_Drv_VoltageSna CDDCPSQ5352_VoltageSna #define CDDLED_Drv_Init() CddCPSQ5352_Init() #define CDDLED_Drv_Cycle20ms() CddCPSQ5352_Cycle20ms() #define CDDLED_Drv_SetCurrent(Idx,Current) CddCPSQ5352_SetCurrent_mA (Idx, Current); #define CDDLED_Drv_SetDutyCycle(Idx,Duty) CddCPSQ5352_SetDutyCycle_1_32768(Idx, Duty); #define CDDLED_Drv_GetCurrent_mA(Idx) CddCPSQ5352_GetCurrent_mA (Idx) #define CDDLED_Drv_GetDutyCycle_1_32768(Idx) CddCPSQ5352_GetDutyCycle_1_32768 (Idx) #define CDDLED_Drv_GetInputVoltage_mV(Idx) CddCPSQ5352_GetInputVoltage_mV(Idx) #define CDDLED_Drv_GetLedVoltage_mV(Idx) CddCPSQ5352_GetLedVoltage_mV (Idx) #define CDDLED_Drv_GetLedVoltOnOff_mV(Idx) CddCPSQ5352_GetLedVoltOnOff_mV(Idx) #define CDDLED_Drv_IsDriverActive(Idx) CddCPSQ5352_IsDriverActive (Idx) #define CDDLED_Drv_IsShortToGnd(Idx) CddCPSQ5352_IsShortToGnd (Idx) #define CDDLED_Drv_IsOpenLoad(Idx) CddCPSQ5352_IsOpenLoad (Idx) #define CDDLED_Drv_IsOvercurrent(Idx) CddCPSQ5352_IsOvercurrent (Idx) #define CDDLED_Drv_IsThermalShutDown(Idx) CddCPSQ5352_IsThermalShutDown(Idx) #define CDDLED_Drv_IsThermalWarning(Idx) CddCPSQ5352_IsThermalWarning (Idx) #else #define CDDLED_Drv_VoltageSna CDDTPS92520_VoltageSna #define CDDLED_Drv_Init() CddTps92520_Init() #define CDDLED_Drv_Cycle20ms() CddTps92520_Cycle20ms() #define CDDLED_Drv_SetCurrent(Idx,Current) CddTps92520_SetCurrent_mA (Idx, Current); #define CDDLED_Drv_SetDutyCycle(Idx,Duty) CddTps92520_SetDutyCycle_1_32768(Idx, Duty); #define CDDLED_Drv_GetCurrent_mA(Idx) CddTps92520_GetCurrent_mA (Idx) #define CDDLED_Drv_GetDutyCycle_1_32768(Idx) CddTps92520_GetDutyCycle_1_32768 (Idx) #define CDDLED_Drv_GetInputVoltage_mV(Idx) CddTps92520_GetInputVoltage_mV(Idx) #define CDDLED_Drv_GetLedVoltage_mV(Idx) CddTps92520_GetLedVoltage_mV (Idx) #define CDDLED_Drv_GetLedVoltOnOff_mV(Idx) CddTps92520_GetLedVoltOnOff_mV(Idx) #define CDDLED_Drv_IsDriverActive(Idx) CddTps92520_IsDriverActive (Idx) #define CDDLED_Drv_IsShortToGnd(Idx) CddTps92520_IsShortToGnd (Idx) #define CDDLED_Drv_IsOpenLoad(Idx) CddTps92520_IsOpenLoad (Idx) #define CDDLED_Drv_IsOvercurrent(Idx) CddTps92520_IsOvercurrent (Idx) #define CDDLED_Drv_IsThermalShutDown(Idx) CddTps92520_IsThermalShutDown(Idx) #define CDDLED_Drv_IsThermalWarning(Idx) CddTps92520_IsThermalWarning (Idx) #endif //----------------------------------------------------------------------------- // Parameter access //----------------------------------------------------------------------------- #ifdef SPI_TEST #define CDDLED_Para_BOOST_VOLT_HEADROOM (100u * (uint32)applicationCodingData.Led1.LedBoostConverter.BOOST_VOLT_HEADROOM) // [0.1V]-->[mV] #define CDDLED_Para_BOOST_VOLT_ERROR_THRESHOLD (100u * (uint32)applicationCodingData.Led1.LedBoostConverter.BOOST_VOLT_ERROR_THRESHOLD) // [0.1V]-->[mV] #define CDDLED_Para_FUSA_DRV_LED_UNDER_VOLTAGE(x) (200u * (uint32)applicationCodingData.Led1.FUSAConfig.FUSA_DRV_LED_UNDER_VOLTAGE[x]) // [0.2V]-->[mV] #define CDDLED_Para_FUSA_DRV_LED_OVER_VOLTAGE(x) (200u * (uint32)applicationCodingData.Led1.FUSAConfig.FUSA_DRV_LED_OVER_VOLTAGE[x]) // [0.2V]-->[mV] #define CDDLED_Para_LED_SHORT_UBAT_RANGE applicationCodingData.Led1.LedErrDetect.LED_SHORT_UBAT_RANGE // [%] #define CDDLED_Para_LED_OVERCURRENT_DEBOUNCE applicationCodingData.Led1.LedErrDetect.LED_OVERCURRENT_DEBOUNCE // [20ms] #else uint8 FUSA_DRV_LED_UNDER_VOLTAGE[8] = {56,0,104,165,140,41,165,41}; uint8 FUSA_DRV_LED_OVER_VOLTAGE[8] = {68,0,130,204,170,53,204,56}; #define CDDLED_Para_BOOST_VOLT_HEADROOM (100u * 80) // [0.1V]-->[mV] #define CDDLED_Para_BOOST_VOLT_ERROR_THRESHOLD (100u * 255) // [0.1V]-->[mV] #define CDDLED_Para_FUSA_DRV_LED_UNDER_VOLTAGE(x) (200u * FUSA_DRV_LED_UNDER_VOLTAGE[x]) // [0.2V]-->[mV] #define CDDLED_Para_FUSA_DRV_LED_OVER_VOLTAGE(x) (200u * FUSA_DRV_LED_OVER_VOLTAGE[x]) // [0.2V]-->[mV] #define CDDLED_Para_LED_SHORT_UBAT_RANGE 10 // [%] #define CDDLED_Para_LED_OVERCURRENT_DEBOUNCE 100 // [1000ms] #endif #endif #endif // CDD_LED_ROUT_CFG_2021_07_01_H_