/** * @file bikelight.h * @author Wang, Zhiyu(wangzy49@midea.com) * @brief Light of ebike * @version 0.1 * @date 2021-10-09 * * @copyright Copyright (c) 2021 * */ /************************************************************************ Beginning of File, do not put anything above here except notes Compiler Directives: *************************************************************************/ #ifndef BIKELIGHT_H #define BIKELIGHT_H #include "typedefine.h" typedef _Bool BOOL; #ifdef BIKELIGHT_ #define EXTERNBIKE #else #define EXTERNBIKE extern #endif #define BIKELEDOPEN_F_ENABLE 1 //BAT灯使能,0-失能,1-使能 #define BIKELEDOPEN_R_ENABLE 0 //尾灯使能,0-失能,1-使能 //--------------------------------------- #define BikeLedAddCycle 15//12 //亮尾灯周期 #define BikeLedAddDuty 5//5 //亮尾灯占空比 #define BikeLedFlickerHZ 5 //亮尾闪烁频率 1秒5次 #define BikeLedFlickerCycle 1000/BikeLedFlickerHZ //亮尾灯周期 #define BikeLedFlickerDuty BikeLedFlickerCycle/2 //亮尾灯占比 //#define BikeLedOverSpedHZ 3 //亮尾闪烁频率 #define BikeLedOverSpedCycle 3000 //周期 #define BikeLedOverSpedDuty 500 //超速15KM/H亮尾灯占比 #define BikeLedOverSpeedMax 150 //基本单位0.1km/h #define BikeLedOverSpeedMin 140 //基本单位0.1km/h //--------------------------------------------------------- //启动LED的起始PWM时 #define LIGHT_FIRSTPWM 144 //64us,max=2304 第一个PWM 前灯 #define LIGHTBLR_FIRSTPWM 346 //64us,max=2304 第一个PWM 尾灯,左右灯 #define LIGHT_SECTPWM 2304//691 //64us,max=2304 第二个PWM #define LIGHT_MAXPWM 2304//691 //64us,max=2304 第二个PWM //--F-LED 步进值 最大400 #define LIGHT_F_STEPPWM 28 #define LIGHT_F_STEPMAXPWM 921 //50% max typedef enum { F_PWM_byte = 1, B_PWM_byte = 2, L_PWM_byte = 3, R_PWM_byte = 4, } LED_PWM_STR; typedef struct { UWORD uwBike_LedOffErrCnt; // 过流恢复计时 UWORD uwBike_LedVolt; //灯压选择 UWORD uwBike_LedMode; //选择功能, UWORD uwBike_OpenPreTime; //开灯时刻开始计时 UWORD uwBike_OpenLedEn; //开灯瞬间处理标志 UWORD uwBikeLight_PWM; // LED PWM UWORD uwBike_LedCheckLowTime; //检测过流IO出现低电平次数 UWORD uwBike_keyLedHighSta; // 开关灯临时状态 UWORD uwBike_keyLedLowSta; // 开关灯临时状态 UWORD uwLedAddcnt;//Led功能翻转计时 UWORD uwLeddelaycnt;//Led延时开灯 UWORD uwBike_LedFun; //模式功能选择 0-PWM电池电压有保护,1-前后灯分别控PWM6/12V无保护,2-DCDC输出 UWORD uwBike_OpenLedStep; //开灯顺序 BOOL blBike_LedSta; //开关LED输入状态 BOOL blBike_LedCurErr; // 灯电路过流 BOOL blBike_ForwardLedStart; // 允许开灯启动,总开关 } BIKELEDCHECK_STR; //EXTERNBIKE BIKELED_Global_STR BikeLedGloFun; EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_F;//前灯参数 //EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_B;//尾灯参数 //EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_L;//左灯参数 //EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_R;//右灯参数 EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_DC_1;//DC12V EXTERNBIKE BIKELEDCHECK_STR BikeLedCheck_DC_2;//DC12V //--------------------------------------- /**************************************** * * Definitions & Macros * ****************************************/ /*************************************** * * Type Definations * ***************************************/ /** * @brief Light state * */ typedef enum { LIGHT_Off = 0, LIGHT_On = 1, LIGHT_Error = 2, LIGHT_Shut = 3 } LIGHT_STATE; /*************************************** * * Function Definations * ***************************************/ void bikelight_voBikeLightInit(BIKELEDCHECK_STR *LedPoit);; // interface function void bikelight_voBikeLightCoef(UWORD volt); void bikelight_voGetBikeLightError(UWORD LightPowerVolPu,BOOL Ledsta,BIKELEDCHECK_STR *p); void bikelight_voBikeLightControl(UWORD switchAction, BOOL Brate_Sta); /************************************************************************ Flag Define (N/A) *************************************************************************/ #endif /************************************************************************ Copyright (c) 2018 Welling Motor Technology(Shanghai) Co. Ltd. All rights reserved. ************************************************************************* End of this File (EOF): Do not put anything after this part! *************************************************************************/