bsp_param.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef __BSP_PARAM_H
  2. #define __BSP_PARAM_H
  3. #define PARAM_BT param_cb.bt_of
  4. #define PARAM_BT_SIZE param_cb.sys_of //前面112byte存放蓝牙信息
  5. #define PARAM_SYS_VOL PARAM_BT_SIZE + 0
  6. #define PARAM_HOUSE_IDX PARAM_BT_SIZE + 1 //bit0~bit2, 3bits
  7. #define PARAM_LANG_ID PARAM_BT_SIZE + 1 //bit3, 1bit
  8. #define PARAM_QUICK_TEST_PAIR_HIST PARAM_BT_SIZE + 1 //bit4, 1bit
  9. #define PARAM_BT_XOSC_CAP PARAM_BT_SIZE + 2 //1Byte xosc value
  10. #define PARAM_VUSB_CH_VALID PARAM_BT_SIZE + 3 //bit0~bit1, 2bits 保存智能仓固定的左右声道
  11. #define PARAM_VUSB_POPUP_FLAG PARAM_BT_SIZE + 3 //bit2~bit3, 2bits 保存POPUP使能状态
  12. #define PARAM_QTEST_CH_VALID PARAM_BT_SIZE + 3 //bit4~bit5, 2bits 保存测试盒快配时固定的左右声道信息
  13. #define PARAM_RESV PARAM_BT_SIZE + 4 //保留2bytes
  14. #define PARAM_RANDOM_KEY PARAM_BT_SIZE + 6 //4Byte随机数
  15. #define PARAM_ANC_MIC_VAL PARAM_BT_SIZE + 10 //1byte
  16. #define PARAM_ANC_TP_MIC_VAL PARAM_BT_SIZE + 11 //1byte
  17. #define PARAM_NEW_LOCAL_NAME0 PARAM_BT_SIZE + 12 //ios menu bt_name, 2Byte
  18. #define PARAM_CRC param_cb.crc_of //crc16保存地址, 2bytes
  19. #define PARAM_CRC_LEN param_cb.crc_len //多少bytes计算crc16
  20. #define PARAM_TWS_LINK_ADDR param_cb.tws_link_of //TWS LINK KEY保存地址
  21. ///偏移地址 >= 128只能用于flash记忆
  22. #define PARAM_NEW_LOCAL_NAME 128 //64bytes
  23. #define PARAM_QR_ADDR_VALID 192 //1byte
  24. #define PARAM_QR_ADDR 193 //6byte
  25. #define PARAM_BT_NAME_LEN 199 //记录蓝牙长度最大值32 1bytes
  26. #define PARAM_BT_NAME 200 //使用新的蓝牙名字32 byte
  27. #define PARAM_BT_QPDN_BOAT_FLAG 232 //用于记录快测船运关机标志 1 byte
  28. #define PARAM_BT_QPAIRED_ID 233 //用于记录快测设置的配对ID或者拓展字 5byte
  29. //TWS_INFO
  30. #define PARAM_BT_TWS_QTEST_INFO 0 //用于记录快测TWS信息
  31. typedef struct {
  32. u8 bt_of; //蓝牙回连信息起始位置
  33. u8 sys_of; //PARAM_BT_SIZE
  34. u8 crc_of; //PARAM_CRC
  35. u8 crc_len; //PARAM_CRC_LEN
  36. u8 tws_link_of; //PARAM_TWS_LINK_ADDR
  37. u8 new_name_of; //PARAM_NEW_LOCAL_NAME
  38. void (*write)(u8 *buf, u32 addr, uint len);
  39. void (*read)(u8 *buf, u32 addr, uint len);
  40. void (*sync)(void);
  41. } param_cb_t;
  42. extern param_cb_t param_cb;
  43. #define param_read(a, b, c) param_cb.read(a, b, c)
  44. #define param_write(a, b, c) param_cb.write(a, b, c)
  45. #define param_sync() param_cb.sync()
  46. void param_init(bool reset);
  47. void param_sys_vol_write(void);
  48. void param_sys_vol_read(void);
  49. void param_random_key_write(void);
  50. void param_random_key_read(u8 *key);
  51. void param_lang_write(void);
  52. void param_lang_read(void);
  53. void param_sync_do(void);
  54. void rtcram_write(u8 *buf, u32 addr, uint len);
  55. void rtcram_read(u8 *buf, u32 addr, uint len);
  56. void param_bt_xosc_write(u8 cap);
  57. u8 param_bt_xosc_read(void);
  58. void param_local_random_addr_read(void);
  59. void param_vuart_force_channel_read(void);
  60. void param_vuart_force_channel_write(u8 channel);
  61. void param_vuart_popup_flag_read(void);
  62. void param_vuart_popup_flag_write(u8 data);
  63. void param_toggle_popup_write(void);
  64. void param_house_index_write(void);
  65. void param_qtest_force_channel_write(u8 channel);
  66. void param_qtest_force_channel_read(void);
  67. void param_bt_new_name_read(char *buf, uint size);
  68. void param_bt_new_name_write(char *buf, uint size);
  69. void param_bt_new_name_clr(void);
  70. void param_tkey_temp_cnt_write(u16 temp_cnt, u16 tkcnt);
  71. void param_tkey_temp_cnt_read(u16 *temp_cnt, u16 *tkcnt);
  72. void param_bt_qpaird_id_write(u8* buf);
  73. u8 param_bt_qpaird_id_read(void);
  74. #endif // __BSP_PARAM_H