将充电灯改为呼吸灯,并在充满后长亮一段时间,再呼吸灭

您所在的位置:网站首页 switch开箱流程 将充电灯改为呼吸灯,并在充满后长亮一段时间,再呼吸灭

将充电灯改为呼吸灯,并在充满后长亮一段时间,再呼吸灭

2023-03-17 13:28| 来源: 网络整理| 查看: 265

实现:充电的时候,灯控为呼吸灯,在充满电之后,维持长亮一段时间,维持时间结束,耳机再呼吸灭。具体实现如下: 首先创建一个全局变量用于控制呼吸灯: func_bt.c下

u16 charge_breath_flag = 0;//控制充满电呼吸灯

func_bt.h下

extern u16 charge_breath_flag;//控制充满电呼吸灯

之后就是修改充电的灯: bsp_charge.c下bsp_charge_box_process_do()中

#if LED_BREATHE_EN if (xcfg_cb.charge_breathe_en) { //充电过程中红蓝呼吸灯功能 if(sys_cb.charge_sta == 1)//充电中,呼吸亮 { charge_breath_flag = 0; breathe_led_start(0, 0); } else//充满电 { if((charge_breath_flag breathe_led_stop(); } } } #endif //还需要注意: if (((bsp_charge_box_sta() == 2) || (vhouse_sta == 2) || (sys_cb.ntc_2_pwrdwn_flag))&&(charge_breath_flag >= 2047)) //是否充满或NTC关机 { bsp_charge_inbox_wakeup_enable(); //INBOX Wakeup enable saradc_exit(adc_cb.channel); bsp_charge_tebcnt_calibration_stop(); sfunc_pwrdown(0); } if (!CHARGE_DC_IN()) { //DC IN online? charge_breath_flag = 0; led_func_enable(); //打开现有LED扫描控制 ...... } else { led_func_disable(); //关掉现有LED扫描控制 ...... }

另外耳机充满电的时候,系统等到呼吸灯结束再关闭: bsp_bt.c下bsp_bt_tws_switch_for_charge()的while循环中:

if ((bsp_charge_box_process())&&(charge_breath_flag >= 2047)) { break; }

接下来就是呼吸灯里面的修改: port_breathe_led.c下breathe_led_timer2_isr()中:

if(bre_led_cb.count == bre_led_cb.pwm_level){ //呼吸灯调节参数 if((charge_breath_flag >= 1)&&(charge_breath_flag bre_led_cb.time = 0; bre_led_cb.duty = bre_led_cb.pwm_level / 2; } } if((bre_led_cb.dir == 0)&&(charge_breath_flag ==0)) {//还没有充满的时候得呼吸亮,充满之后就不能呼吸亮 bre_led_cb.time++; if(bre_led_cb.time == bre_led_cb.pwm_time){ bre_led_cb.time = 0; bre_led_cb.duty++; if(bre_led_cb.duty >= (bre_led_cb.pwm_level / 2)){ bre_led_cb.dir = 1; } } } if((bre_led_cb.dir == 1)||(charge_breath_flag == 2046)) {//长亮之后的呼吸灭 bre_led_cb.time++; if(bre_led_cb.time == bre_led_cb.pwm_time){ bre_led_cb.time = 0; bre_led_cb.duty--; if(bre_led_cb.duty //呼吸灭之后,就得进入低功耗 charge_breath_flag = 2047; } bre_led_cb.dir = 0; bre_led_cb.toggle ^= 1; } } } }

还不清楚的小伙伴可以添加我的个人微信 lqy—1997 (中间是三个英文的杠)进行交流。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3