#ifndef _HLW_FUNC_H #define _HLW_FUNC_H //battery #define SAMPLE_CNT 10 #define AVERAGE_CNT 30 #define MINI_BAT_CNT 3 #define AMINI_BAT_CNT 10 //ntc #define NTC_AVERAGE_CNT 50 #define TEMPERATURE_F20 225 //233(-20) 225(-15) #define TEMPERATURE_0 196 #define TEMPERATURE_2 190 #define TEMPERATURE_15 155 #define TEMPERATURE_16 152 #define TEMPERATURE_43 80 #define TEMPERATURE_45 75 #define TEMPERATURE_60 57 //48(60) 57(55) #define TEMPERATURE_0_TYPE 0 #define TEMPERATURE_2_15_TYPE 1 #define TEMPERATURE_16_43_TYPE 2 #define TEMPERATURE_45_TYPE 3 #define TEMPERATURE_60_TYPE 4 #define TEMPERATURE_F20_TYPE 5 #define QIAN30S_LOW_ELEC 32 #define EXIT_CHARGE_COUNT 40 #define IDLE_MODE_COUNT 180 //anc #define ANC_LED_START 1 #define ANC_LED_RECOVER 2 #define ANC_LED_END 0 #define ANC_LED_RECOVER_COUNT 30 #define HIGH_BATTERY 7 #define MIDDLE_BATTERY 1 #define LOW_BATTERY 0 #define NEED_LOWBAT_LEVEL 0 #define LOWBAT_VOICE_SPACE 600 typedef struct { u8 reconnect_flag; u8 reconnect_count; u8 poweron_reconnect_fail_flag; u8 disconnect_flag; u8 disconnect_count; u8 disconnect_reason; u8 sco_kill; u8 hfp_kill; u8 poweron_first_bat_flag; u8 curr_bat_level; u8 last_bat_level; u16 sample_volt[SAMPLE_CNT]; u16 average_volt[AVERAGE_CNT]; u8 charge_poweron_flag; u16 ntc_volt[NTC_AVERAGE_CNT]; u8 ntc_count; u8 temperature0_flag; u8 temperature2_15_flag; u8 temperature16_43_flag; u8 temperature45_flag; u8 control_charge_type; u8 charge_qian30s_flag; u8 charge_qian30s_count; u8 usb_con_flag; u8 charging_flag; u8 exit_charge_count; u8 need_reset_flag; u8 poweron_led_control_flag; u8 poweron_led_control_count; u8 clear_pairlist_count; u8 idle_mode_flag; u16 idle_mode_count; u8 exist_pairlist_flag; u8 set_ancled_flag; u8 set_ancled_control_flag; u8 set_ancled_control_count; u8 curr_connected_flag; u8 curr_pairmode_flag; u8 auto_poweroff_enable_flag; u8 poweron_pwrkey5s_flag; u8 eq_init_flag; u8 eq_spatital_gain_flag; u8 donot_need_play_flag; u8 dut_key_count; u8 poweron_voice_flag; u8 uart_spp_data; u8 bt_addr[6]; u8 chance_mode; u8 paket_cmd[10]; u8 poweron_lowbat_flag; u8 clear_pairlist_flag; u8 poweron_bat_voice_flag; u8 poweron_connect_cnt; //耳机开机回连,连接提示音的播放次数 u8 first_phone_addr[6]; u8 second_phone_addr[6]; u8 disconnect_auto_off_flag; u8 connecting_not_enter_pair_flag; //当长按5s进入配对后,手机连接,不进入配对 u8 poweron_need_connect_num; u8 poweron_need_connect_flag; u8 poweron_reconfail_cent; u8 pair_voice_not_play_flag; //断连后是否要播配对提示音 u8 reconnect_fail_flag; }hlw_cb_t; extern hlw_cb_t hlw_cb; void hlw_func_var_init(void); void hlw_func_battery_tran_process(u16 bat_volt); void hlw_func_poweron_first_battery_process(void); void hlw_func_battery_process(void); void hlw_func_ntc_var_init(void); void hlw_func_ntc_handle_process(void); void hlw_func_ntc_control_handle(void); void hlw_func_charge_init_handle(void); void hlw_func_charge_enable_handle(u8 enable_flag); void hlw_func_charge_electric_init(void); void hlw_func_charge_electric_control_handle(u8 high_elec_flag); u8 hlw_func_exit_charge_handle(void); void hlw_func_clear_pairlist_handle(bool need_reset_flag); void hlw_func_set_auto_poweroff(u8 enable_auto_poweroff); void hlw_func_onemore_idle_mode_handle(void); void hlw_func_poweron_led_handle(void); void hlw_func_anc_led_set(void); void hlw_func_anc_led_handle(void); void hlw_func_anc_led_recover_handle(void); void hlw_bt_poweron_enter_pairmode_handle(void); void hlw_func_battery_voice_handle(void); void hlw_func_enter_dutmode_handle(void); void hlw_bt_reconnect_fail_no_pairlist_handle(void); void hlw_func_low_bat_count_handle(void); void hlw_func_low_bat_voice_handle(void); #endif