bsp_param.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "include.h"
  2. extern param_cb_t param_cb;
  3. u32 bsp_get_rand_key(void);
  4. void cm_param_init(void);
  5. void param_rtcram_init(void);
  6. void param_bt_new_name_clr(void);
  7. AT(.text.bsp.param)
  8. void param_init(bool reset)
  9. {
  10. sys_cb.rand_seed = bsp_get_rand_key();
  11. param_rtcram_init();
  12. cm_param_init();
  13. param_sys_vol_read();
  14. if ((SYS_RECOVER_INITVOL == 0) || (sys_cb.vol > VOL_MAX)) {
  15. sys_cb.vol = SYS_INIT_VOLUME + 1; //上电还原到默认音量
  16. } else {
  17. if (sys_cb.vol < ((u8)SYS_RECOVER_INITVOL + 1)) {
  18. sys_cb.vol = SYS_RECOVER_INITVOL + 1;
  19. }
  20. }
  21. sys_cb.hfp_vol = 15;
  22. if (xcfg_cb.lang_id >= LANG_EN_ZH) {
  23. param_lang_read();
  24. } else {
  25. sys_cb.lang_id = xcfg_cb.lang_id;
  26. }
  27. #if BT_LOCAL_ADDR
  28. param_local_random_addr_read();
  29. #endif
  30. param_bt_new_name_clr();
  31. }
  32. void param_bt_new_name_read(char *buf, uint size)
  33. {
  34. param_read((u8 *)buf, PARAM_NEW_LOCAL_NAME, 64);
  35. }
  36. void param_bt_new_name_write(char *buf, uint size)
  37. {
  38. param_write((u8 *)buf, PARAM_NEW_LOCAL_NAME, 64);
  39. param_sync();
  40. }
  41. void param_bt_new_name_clr(void)
  42. {
  43. u16 temp = 0;
  44. param_write((u8 *)&temp, PARAM_NEW_LOCAL_NAME, 2);
  45. param_sync();
  46. }
  47. WEAK void param_bt_qpdn_boat_flag_write(u8 flag)
  48. {
  49. param_write(&flag, PARAM_BT_QPDN_BOAT_FLAG, 1);
  50. param_sync();
  51. }
  52. WEAK void param_bt_qpdn_boat_flag_read(void)
  53. {
  54. param_read(&sys_cb.pdn_boat_flag, PARAM_BT_QPDN_BOAT_FLAG, 1);
  55. }
  56. WEAK void param_bt_qpaird_id_write(u8* buf)
  57. {
  58. param_write(buf, PARAM_BT_QPAIRED_ID, 5);
  59. param_sync();
  60. }
  61. WEAK u8 param_bt_qpaird_id_read(void)
  62. {
  63. u8 buf[5];
  64. u8* ptr = buf;
  65. param_read(ptr, PARAM_BT_QPAIRED_ID, 5);
  66. u32 bt_tws_ext_name_key = GET_LE32(ptr + 1);
  67. if((ptr[0] == 1) && ((xcfg_cb.bt_tws_ext_nane_en) || (bt_tws_ext_name_key == 0x11223344))){
  68. xcfg_cb.bt_tws_ext_nane_en = 1;
  69. xcfg_cb.bt_tws_ext_name = GET_LE16(ptr + 1);
  70. return 0;
  71. }
  72. return 0;
  73. }
  74. WEAK void pram_bt_set_tws_qtest_info(u8 *buf)
  75. {
  76. param_write(buf, PAGE2(PARAM_BT_TWS_QTEST_INFO), 28);
  77. param_sync();
  78. }
  79. WEAK u8 pram_bt_get_tws_qtest_info(u8 *buf)
  80. {
  81. param_read(buf, PAGE2(PARAM_BT_TWS_QTEST_INFO), 28);
  82. return true;
  83. }