123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- /**
- * @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!
- *************************************************************************/
|