gfps.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #ifndef __GFPS_H
  2. #define __GFPS_H
  3. #include "include.h"
  4. //CM Param
  5. #define PARAM_PERSONALIZED_NAME_LEN 0 // 1byte
  6. #define PARAM_PERSONALIZED_NAME 1 // 64 Bytes
  7. #define PARAM_ACCOUNT_KEY 0x41 // 92 bytes, sizeof(struct account_key_list), 5 keys
  8. //Define in libs, Modify the library file synchronously
  9. //*******************************************************************************************/
  10. #define ACCOUNT_KEY_LENGTH 16
  11. #define ACCOUNT_KEY_MAX_COUNT 5 // 至少5个
  12. typedef struct account_key_list {
  13. uint8_t keys[ACCOUNT_KEY_LENGTH * ACCOUNT_KEY_MAX_COUNT]; // each account key has 16 bytes
  14. uint16_t use_freq[ACCOUNT_KEY_MAX_COUNT]; // 用来记录使用频次
  15. uint8_t count;
  16. } *account_key_list_t;
  17. enum{
  18. GFPS_MODE_NONE = 0,
  19. GFPS_MODE_DISCOVER,
  20. GFPS_MODE_NON_DISCOVER,
  21. };
  22. //*******************************************************************************************/
  23. void *gfps_get_account_key_info(); // 获取账户秘钥结构体指针,第一个字节会放置结构体大小,开机调用后要读取flash信息覆盖
  24. void gfps_adv_to_discoverable(void);
  25. void gfps_adv_to_non_discoverable(void);
  26. u8 gfps_get_cur_adv_mode(void);
  27. void gfps_spp_connected_callback(void);
  28. void gfps_spp_connected_proc(void);
  29. void gfps_spp_recv_callback(uint8_t *data, uint16_t data_len);
  30. void gfps_spp_receive_proc(uint8_t *data, uint16_t data_len);
  31. void gfps_ble_disconnected_callback(void);
  32. void gfps_ble_disconnected_proc(void);
  33. void gfps_ble_connected_callback(void);
  34. void gfps_ble_connected_proc(void);
  35. void gfps_bt_disconnected_callback(void);
  36. void gfps_bt_connected_callback(void);
  37. void gfps_bt_disconnected_proc(void);
  38. void gfps_bt_connected_proc(void);
  39. void gfps_init();
  40. void gfps_bt_init(void);
  41. bool gfps_need_wakeup(void);
  42. void gfps_evt_notice(u8 evt, void *params);
  43. void gfps_process(void);
  44. uint16_t gfps_tws_get_data(uint8_t *buf);
  45. void gfps_tws_set_data(uint8_t *data, uint16_t len);
  46. void gfps_vhouse_cmd_notice(u8 cmd);
  47. bool gfps_is_enable(void);
  48. /// 消息流
  49. void gfps_send_msg_bluetooth_silence_mode(bool silent); // 启用/禁用静音模式后调用,发送状态给手机。使用场景,耳机从头上拿下/戴上
  50. // Device Information Event消息,电池电量更新,电量变化时发送,根据每个组件状态传参
  51. void gfps_send_msg_dev_info_battery(uint8_t left_value, bool left_charging,uint8_t right_value, bool right_charging,uint8_t case_value, bool case_charging);
  52. void gfps_send_msg_dev_info_battery_updated2(uint8_t *battery_data,uint8_t battery_data_len);
  53. // Device Action Event消息,响铃,同步响铃状态到手机使用
  54. void gfps_send_msg_device_action_ring(bool ring); // 单个组件
  55. void gfps_send_msg_tws_device_action_ring(bool left_ring, bool right_ring); // 两个组件(对耳)
  56. #endif // __GFPS_H