hlw_func.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #ifndef _HLW_FUNC_H
  2. #define _HLW_FUNC_H
  3. //battery
  4. #define SAMPLE_CNT 10
  5. #define AVERAGE_CNT 30
  6. #define MINI_BAT_CNT 3
  7. #define AMINI_BAT_CNT 10
  8. //ntc
  9. #define NTC_AVERAGE_CNT 50
  10. #define TEMPERATURE_F20 225 //233(-20) 225(-15)
  11. #define TEMPERATURE_0 196
  12. #define TEMPERATURE_2 190
  13. #define TEMPERATURE_15 155
  14. #define TEMPERATURE_16 152
  15. #define TEMPERATURE_43 80
  16. #define TEMPERATURE_45 75
  17. #define TEMPERATURE_60 57 //48(60) 57(55)
  18. #define TEMPERATURE_0_TYPE 0
  19. #define TEMPERATURE_2_15_TYPE 1
  20. #define TEMPERATURE_16_43_TYPE 2
  21. #define TEMPERATURE_45_TYPE 3
  22. #define TEMPERATURE_60_TYPE 4
  23. #define TEMPERATURE_F20_TYPE 5
  24. #define QIAN30S_LOW_ELEC 32
  25. #define EXIT_CHARGE_COUNT 40
  26. #define IDLE_MODE_COUNT 180
  27. //anc
  28. #define ANC_LED_START 1
  29. #define ANC_LED_RECOVER 2
  30. #define ANC_LED_END 0
  31. #define ANC_LED_RECOVER_COUNT 30
  32. #define HIGH_BATTERY 7
  33. #define MIDDLE_BATTERY 1
  34. #define LOW_BATTERY 0
  35. #define NEED_LOWBAT_LEVEL 0
  36. #define LOWBAT_VOICE_SPACE 600
  37. typedef struct {
  38. u8 reconnect_flag;
  39. u8 reconnect_count;
  40. u8 poweron_reconnect_fail_flag;
  41. u8 disconnect_flag;
  42. u8 disconnect_count;
  43. u8 disconnect_reason;
  44. u8 sco_kill;
  45. u8 hfp_kill;
  46. u8 poweron_first_bat_flag;
  47. u8 curr_bat_level;
  48. u8 last_bat_level;
  49. u16 sample_volt[SAMPLE_CNT];
  50. u16 average_volt[AVERAGE_CNT];
  51. u8 charge_poweron_flag;
  52. u16 ntc_volt[NTC_AVERAGE_CNT];
  53. u8 ntc_count;
  54. u8 temperature0_flag;
  55. u8 temperature2_15_flag;
  56. u8 temperature16_43_flag;
  57. u8 temperature45_flag;
  58. u8 control_charge_type;
  59. u8 charge_qian30s_flag;
  60. u8 charge_qian30s_count;
  61. u8 usb_con_flag;
  62. u8 charging_flag;
  63. u8 exit_charge_count;
  64. u8 need_reset_flag;
  65. u8 poweron_led_control_flag;
  66. u8 poweron_led_control_count;
  67. u8 clear_pairlist_count;
  68. u8 idle_mode_flag;
  69. u16 idle_mode_count;
  70. u8 exist_pairlist_flag;
  71. u8 set_ancled_flag;
  72. u8 set_ancled_control_flag;
  73. u8 set_ancled_control_count;
  74. u8 curr_connected_flag;
  75. u8 curr_pairmode_flag;
  76. u8 auto_poweroff_enable_flag;
  77. u8 poweron_pwrkey5s_flag;
  78. u8 eq_init_flag;
  79. u8 eq_spatital_gain_flag;
  80. u8 donot_need_play_flag;
  81. u8 dut_key_count;
  82. u8 poweron_voice_flag;
  83. u8 uart_spp_data;
  84. u8 bt_addr[6];
  85. u8 chance_mode;
  86. u8 paket_cmd[10];
  87. u8 poweron_lowbat_flag;
  88. u8 clear_pairlist_flag;
  89. u8 poweron_bat_voice_flag;
  90. u8 poweron_connect_cnt; //耳机开机回连,连接提示音的播放次数
  91. u8 first_phone_addr[6];
  92. u8 second_phone_addr[6];
  93. u8 disconnect_auto_off_flag;
  94. u8 connecting_not_enter_pair_flag; //当长按5s进入配对后,手机连接,不进入配对
  95. u8 poweron_need_connect_num;
  96. u8 poweron_need_connect_flag;
  97. u8 poweron_reconfail_cent;
  98. u8 pair_voice_not_play_flag; //断连后是否要播配对提示音
  99. u8 reconnect_fail_flag;
  100. }hlw_cb_t;
  101. extern hlw_cb_t hlw_cb;
  102. void hlw_func_var_init(void);
  103. void hlw_func_battery_tran_process(u16 bat_volt);
  104. void hlw_func_poweron_first_battery_process(void);
  105. void hlw_func_battery_process(void);
  106. void hlw_func_ntc_var_init(void);
  107. void hlw_func_ntc_handle_process(void);
  108. void hlw_func_ntc_control_handle(void);
  109. void hlw_func_charge_init_handle(void);
  110. void hlw_func_charge_enable_handle(u8 enable_flag);
  111. void hlw_func_charge_electric_init(void);
  112. void hlw_func_charge_electric_control_handle(u8 high_elec_flag);
  113. u8 hlw_func_exit_charge_handle(void);
  114. void hlw_func_clear_pairlist_handle(bool need_reset_flag);
  115. void hlw_func_set_auto_poweroff(u8 enable_auto_poweroff);
  116. void hlw_func_onemore_idle_mode_handle(void);
  117. void hlw_func_poweron_led_handle(void);
  118. void hlw_func_anc_led_set(void);
  119. void hlw_func_anc_led_handle(void);
  120. void hlw_func_anc_led_recover_handle(void);
  121. void hlw_bt_poweron_enter_pairmode_handle(void);
  122. void hlw_func_battery_voice_handle(void);
  123. void hlw_func_enter_dutmode_handle(void);
  124. void hlw_bt_reconnect_fail_no_pairlist_handle(void);
  125. void hlw_func_low_bat_count_handle(void);
  126. void hlw_func_low_bat_voice_handle(void);
  127. #endif