user_cfg.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #ifndef __USER_CFG_H__
  2. #define __USER_CFG_H__
  3. #include "typedef.h"
  4. #include "app_config.h"
  5. #define LOCAL_NAME_LEN 32 /*BD_NAME_LEN_MAX*/
  6. //bt bin结构
  7. typedef struct __BT_CONFIG {
  8. u8 edr_name[LOCAL_NAME_LEN]; //经典蓝牙名
  9. u8 mac_addr[6]; //蓝牙MAC地址
  10. u8 rf_power; //发射功率
  11. u8 dac_analog_gain; //通话DAC模拟增益
  12. u8 mic_analog_gain; //通话MIC增益
  13. u16 tws_device_indicate; /*设置对箱搜索标识,inquiry时候用,搜索到相应的标识才允许连接*/
  14. u8 tws_local_addr[6];
  15. } _GNU_PACKED_ BT_CONFIG;
  16. //audio bin结构
  17. typedef struct __AUDIO_CONFIG {
  18. u8 sw;
  19. u8 max_sys_vol; //最大系统音量
  20. u8 default_vol; //开机默认音量
  21. u8 tone_vol; //提示音音量
  22. } _GNU_PACKED_ AUDIO_CONFIG;
  23. //status bin结构体
  24. typedef struct __STATUS {
  25. u8 charge_start; //开始充电
  26. u8 charge_full; //充电完成
  27. u8 power_on; //开机
  28. u8 power_off; //关机
  29. u8 lowpower; //低电
  30. u8 max_vol; //最大音量
  31. u8 phone_in; //来电
  32. u8 phone_out; //去电
  33. u8 phone_activ; //通话中
  34. u8 bt_init_ok; //蓝牙初始化完成
  35. u8 bt_connect_ok; //蓝牙连接成功
  36. u8 bt_disconnect; //蓝牙断开
  37. u8 tws_connect_ok; //TWS连接成功
  38. u8 tws_disconnect; //TWS蓝牙断开
  39. } _GNU_PACKED_ STATUS;
  40. typedef struct __STATUS_CONFIG {
  41. u8 sw;
  42. STATUS led; //led status
  43. STATUS tone; //tone status
  44. } _GNU_PACKED_ STATUS_CONFIG;
  45. //charge bin结构
  46. typedef struct __CHARGE_CONFIG {
  47. u8 sw; //开关
  48. u8 poweron_en; //支持开机充电
  49. u8 full_v; //充满电压
  50. u8 full_c; //充满电流
  51. u8 charge_c; //充电电流
  52. } _GNU_PACKED_ CHARGE_CONFIG;
  53. //key
  54. typedef struct __KEY_OP {
  55. u8 short_msg; //短按消息
  56. u8 long_msg; //长按消息
  57. u8 hold_msg; //hold 消息
  58. u8 up_msg; //抬键消息
  59. u8 double_msg; //双击消息
  60. u8 triple_msg; //三击消息
  61. } _GNU_PACKED_ KEY_OP;
  62. //mic type
  63. typedef struct __MIC_TYPE_CONFIG {
  64. u8 type; //0:不省电容模式 1:省电容模式
  65. //1:16K 2:7.5K 3:5.1K 4:6.8K 5:4.7K 6:3.5K 7:2.9K 8:3K 9:2.5K 10:2.1K 11:1.9K 12:2K 13:1.8K 14:1.6K 15:1.5K 16:1K 31:0.6K
  66. u8 pull_up;
  67. //00:2.3v 01:2.5v 10:2.7v 11:3.0v
  68. u8 ldo_lev;
  69. } _GNU_PACKED_ MIC_TYPE_CONFIG;
  70. //自动关机时间配置
  71. typedef struct __AUTO_OFF_TIME_CONFIG {
  72. u8 auto_off_time;
  73. } _GNU_PACKED_ AUTO_OFF_TIME_CONFIG;
  74. //低电压提示配置
  75. typedef struct __AUTO_LOWPOWER_V_CONFIG {
  76. u16 warning_tone_v;
  77. u16 poweroff_tone_v;
  78. } _GNU_PACKED_ AUTO_LOWPOWER_V_CONFIG;
  79. //LRC配置
  80. typedef struct __LRC_CONFIG {
  81. u16 lrc_ws_inc;
  82. u16 lrc_ws_init;
  83. u16 btosc_ws_inc;
  84. u16 btosc_ws_init;
  85. u8 lrc_change_mode;
  86. } _GNU_PACKED_ LRC_CONFIG;
  87. void cfg_file_parse(u8 idx);
  88. const u8 *bt_get_mac_addr();
  89. void bt_get_tws_local_addr(u8 *addr);
  90. STATUS *get_led_config(void);
  91. STATUS *get_tone_config(void);
  92. void get_random_number(u8 *ptr, u8 len);
  93. extern void bt_get_vm_mac_addr(u8 *addr);
  94. extern u8 get_max_sys_vol(void);
  95. extern const char *bt_get_local_name();
  96. extern u16 bt_get_tws_device_indicate(u8 *tws_device_indicate);
  97. const char *bt_get_local_name();
  98. extern void bt_update_mac_addr(u8 *addr);
  99. extern void bt_set_local_name(char *name, u8 len);
  100. extern void bt_reset_and_get_mac_addr(u8 *addr);
  101. extern void bt_set_pair_code_en(u8 en);
  102. #endif