strong_symbol.c 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /**********************************************************************
  2. *
  3. * strong_symbol.c
  4. * 定义库里面部分WEAK函数的Strong函数,动态关闭库代码
  5. ***********************************************************************/
  6. #include "include.h"
  7. #if (UART0_PRINTF_SEL == PRINTF_NONE)
  8. void dhook_func_set(void) {}
  9. uint sys_dhook_func(uint ihook_num, ...) {return 0;}
  10. #endif
  11. void va_enc_process(void) {}
  12. void voice_assistant_sdadc_process(u8 *ptr,u32 samples,int ch_mode) {}
  13. void latt_init(void) {}
  14. void btstack_att_send(uint param) {}
  15. uint8_t att_channel_create(u8 *addr) { return 0; }
  16. u8 bt_va_get_sta(void) { return 0; }
  17. u8 bt_va_is_connect(void) { return 0; }
  18. void bt_va_start(u8 start) {}
  19. void opus_kick_start(void) {}
  20. #if !BT_SCO_MAV_EN
  21. AT(.com_text.mav)
  22. void mav_kick_start(void) {}
  23. void magic_voice_process(void){}
  24. void magic_voice_init(void *cfg){}
  25. AT(.com_text.sco)
  26. bool adc_sco_magic_process_hook(u16 *ptr, u32 samples) {return 0;}
  27. #endif
  28. #if !IODM_TEST_MODE
  29. void btstack_fcc_test_func(void){}
  30. #endif
  31. #if !BT_FCC_TEST_EN
  32. void btstack_fcc_init(void){}
  33. void bt_fcc_test_ctrl_req(va_list va_param){}
  34. void bt_fcc_test_ctrl_req_do(void* va_param){}
  35. void bt_fcc_send_packet(va_list param){}
  36. void h3c_init(u8 io_sel){}
  37. bool bt_fcc_test_is_en(void) {return 0;};
  38. #endif
  39. #if !BT_ALG_DBB_EN
  40. AT(.com_text.strong)
  41. uint sbc_hwdec_kick_hook(void) {return 0;}
  42. AT(.com_text.strong)
  43. uint aac_audec_kick_hook(void) {return 0;}
  44. AT(.com_text.strong)
  45. void sbc_pcm_out_start(void) {}
  46. AT(.text.codec)
  47. void dbb_pcm_out_exit(void) {}
  48. #endif
  49. #if !MIC_MAXPOW_CALC_EN
  50. u16 get_mic_maxpow(void){return 0;}
  51. u16 dnr_buf_maxpow(void){return 0;}
  52. #endif
  53. #if BT_AEC_NLP_GAIN_NEW_EN
  54. void aec_nlp_gain_proc_sw(void);
  55. void aec_nlp_gain_process(void)
  56. {
  57. aec_nlp_gain_proc_sw();
  58. }
  59. #endif
  60. #if !BT_A2DP_AVRCP_PLAY_STATUS_FIX
  61. void bt_a2dp_avrcp_play_status_patch(void) {}
  62. #endif
  63. #if !VUSB_TBOX_NEW_QTEST_EN
  64. bool update_set_qcheck_code(void){return false;};
  65. void qtest_set_check_code(u32 check_code){};
  66. void qtest_show_user_info(u8* param){};
  67. void qtest_custom_pair_id(u8* param){};
  68. void qtest_generate_linkey(u8* random_key,u8 *linkey){};
  69. void qtest_send_packet(u8* txbuf,u8 sub_cmd){};
  70. void qtest_set_local_bt_info_do(u8* buf,u8* txbuf){};
  71. void qtest_set_tx_param(void){};
  72. void qtest_deal_uart_message(void){};
  73. void qtest_set_tws_bt_info(u8* buf){};
  74. void qtest_set_local_bt_info(u8 *buf){};
  75. void qtest_beforehand_process(void){};
  76. void qtest_set_tws_bt_info_do(u8 *buf){};
  77. void qtest_process(void){};
  78. void qtest_get_bt_link_info(u8* buf){};
  79. u8 qtest_check_ear_feature(u8* tx_ptr){return 0;};
  80. u32 qtest_check_tbox_feature(u8* rx_ptr){return 0;};
  81. u32 qtest_get_osci_cap_addr(void) {return 0;}
  82. u32 xcfg_get_flash_addr(void) {return 0;}
  83. void param_bt_qpdn_boat_flag_write(u8 flag){};
  84. void param_bt_qpdn_boat_flag_read(void){};
  85. u8 param_bt_qpaird_id_read(void){return 0;};
  86. void param_bt_qpaird_id_write(u8* buf){};
  87. #endif
  88. #if !VUSB_TBOX_NEW_QTEST_RECORD_TWS_INFO_EN
  89. void pram_bt_set_tws_qtest_info(u8 *buf){};
  90. u8 pram_bt_get_tws_qtest_info(u8 *buf){ return false; }
  91. u8 bt_update_qtest_tws_info(void){ return false; }
  92. #endif
  93. #if !BT_MAP_EN
  94. void map_client_init(void) {}
  95. void goep_client_init(void) {}
  96. void btstack_map(uint16_t param) {}
  97. #endif
  98. #if (EQ_CHECK_RES_SEL == 0) || (EQ_CHECK_RES_SEL == 2)
  99. u8 eq_dec_param_buf[512] AT(.eq_dec_buf) ;
  100. #endif
  101. #if (EQ_CHECK_RES_SEL == 0) || (EQ_CHECK_RES_SEL == 1)
  102. AT(.text.dbb)
  103. const u8 *music_dbb_eq_coef_enc_param_get(u8 *table_max_level, u8 *max_level, u8* dac_spr,u32 *len){return NULL;}
  104. void dbb_dec_param(void){};
  105. #endif
  106. #if !EQ_CHECK_RES_SEL
  107. AT(.com_text.eq)
  108. bool eq_dec_en(void){return false;}
  109. AT(.com_text.eq)
  110. bool eq_dec_param(u8 *param, u8 *ptr, u32 len){ return true;}
  111. void eq_check_res(void){}
  112. #endif
  113. #if !(USER_TKEY_MULTI_EN || USER_TKEY_SLIDE || USER_TKEY_SHORT_SLIDE)
  114. AT(.com_text.tkey.isr)
  115. void tkey_multi_timeout_calibration(tk_multi_cb_t *tkm, u16 tkcnt) {}
  116. AT(.com_text.tkey.isr)
  117. void tkey_multi_press_check(tk_multi_cb_t *tkm, u16 tkcnt) {}
  118. AT(.com_text.tkey.isr)
  119. void tkey_bcnt_range_exception_fix(tk_multi_cb_t *tkm, u16 tkcnt, u8 tk_flag) {}
  120. #endif
  121. #if !USER_TKEY_SLIDE
  122. AT(.com_text.tkey.isr)
  123. void tkey_slide_up_down_check(tk_slide_cb_t *ts, tk_slide_cb_t *tp) {}
  124. #endif
  125. #if !BT_TWS_RECONN_NOR_FIX
  126. u8 btstack_tws_link_ctrl_timer_is_active(void) {return 0;}
  127. #endif
  128. #if !BT_A2DP_STORE_VOL_EN
  129. void btstack_store_a2dp_volume(u8 vol) {}
  130. bool bt_get_stored_a2dp_volume(u8 *vol) {return false;}
  131. #endif
  132. #if !BT_TWS_CUSTOMER_CONTROL_TWSSCAN_STA_EN
  133. void btstack_tws_set_scan_m(uint bt_param);
  134. void btstack_tws_set_scan(uint bt_param){
  135. btstack_tws_set_scan_m(bt_param);
  136. }
  137. #endif
  138. #if !BT_RF_POWER_BALANCE_EN
  139. void rf_current_supply(void){};
  140. void rf_current_recover(void){};
  141. void btmdm_disable(void){};
  142. void btmdm_enable(void){};
  143. void bt_power_balance_reconnect(u8 start) {};
  144. #endif
  145. #if !CHARGE_NTC_DETECT
  146. void charge_ntc_stop(u8 mode) {}
  147. void charge_detect_hook(void) {}
  148. void charge_detect_patch(void) {}
  149. #endif
  150. #if !BT_TWS_STANDBY_SUPPORT_SWITCH_EN
  151. bool bt_check_snoop_rssi(int8_t snoop_rssi_threshold,uint8_t tws_rssi_threshold,uint cnt){ return false;}
  152. #endif
  153. WEAK void bt_map_data_callback(uint8_t *packet)
  154. {
  155. }
  156. #if !BT_A2DP_AAC_BITRATE_CONFIG_EN
  157. void a2dp_set_aac_max_bitrate(void) {}
  158. #endif
  159. #if !BT_TWS_SET_RECONN_NOR_EN
  160. u8 btstack_tws_remote_send_nor_reconnect(void) {return 0;}
  161. void tws_send_set_reconnect_nor(u8 connect_retry) {}
  162. u8 tws_remote_reconnect_nor(void) {return 0;}
  163. void tws_remote_set_reconnect(u8 connect_retry) {}
  164. #endif
  165. #if !BT_LOW_LATENCY_QUICK_FIX
  166. u8 bt_low_latency_is_busy(void) {return 0;}
  167. void bt_low_latency_set_busy(void) {}
  168. void bt_low_latency_clr_busy(void) {}
  169. #endif