#include "include.h" #include "api.h" #define BT_PROFILE (PROF_A2DP*BT_A2DP_EN) | (PROF_HFP*BT_HFP_EN) | (PROF_SPP*BT_SPP_EN) | (PROF_HID*BT_HID_EN) | (PROF_HSP*BT_HSP_EN) #define BT_CODEC (CODEC_SBC) | (CODEC_MSBC * BT_HFP_MSBC_EN) | (CODEC_PLC * BT_PLC_EN) #define HFP_FEATURE (HFP_BAT_REPORT*BT_HFP_BAT_REPORT_EN) | (HFP_INBAND_RING_RONE*BT_HFP_INBAND_RING_EN) | (HFP_CALL_PRIVATE*BT_HFP_CALL_PRIVATE_FORCE_EN) | (HFP_RING_NUMBER_EN*BT_HFP_RING_NUMBER_EN) #define A2DP_FEATURE (A2DP_VOL_CTRL*BT_A2DP_VOL_CTRL_EN) | (A2DP_RESTORE_PLAYING) | (A2DP_AVDTP_DELAY_REPORT*BT_AVDTP_DELAY_REPORT_EN) ///baseband uint8_t cfg_bt_rf_def_txpwr = 0; //降低预置参数RF发射功率,单位1dbm uint8_t cfg_bt_page_inq_txpwr = 0; //降低回连和搜索RF发射功率,单位2dbm uint8_t cfg_bt_sniff_clk_sel = 2; //2:31.25KHz 晶振, 3:31.25KHz RC ///stack uint8_t cfg_bt_work_mode = WORK_MODE; uint8_t cfg_bt_max_acl_link = BT_2ACL_EN+1; bool cfg_bt_dual_mode = BT_DUAL_MODE_EN; bool cfg_bt_scan_ctrl_mode = BT_DISCOVER_CTRL_EN; bool cfg_bt_simple_pair_mode = BT_SIMPLE_PAIR_EN; uint16_t cfg_bt_support_profile = BT_PROFILE; uint16_t cfg_bt_support_codec = BT_CODEC; uint8_t cfg_bt_a2dp_feature = A2DP_FEATURE; uint8_t cfg_bt_hfp_feature = HFP_FEATURE; uint8_t cfg_bt_hid_type = BT_HID_TYPE; uint16_t cfg_bt_def_connect_times = BT_POWER_UP_RECONNECT_TIMES; //默认回连重试次数 uint16_t cfg_bt_sup_to_connect_times = BT_TIME_OUT_RECONNECT_TIMES; //超时断线回连重试次数 bool cfg_bt_voip_reject_en = BT_VOIP_REJECT_EN; const char *bt_get_local_name(void) { return xcfg_cb.bt_name; } void bt_get_local_bd_addr(u8 *addr) { #if LE_SM_SC_EN memcpy(addr, xcfg_cb.bt_addr, 6); if (!app_phone_type_get()) { addr[5] ^= 0x55; } #elif BT_LOCAL_ADDR param_random_key_read(&addr[2]); addr[0] = 0x41; addr[1] = 0x42; #else memcpy(addr, xcfg_cb.bt_addr, 6); #endif } //void bt_get_link_info(void *buf, u16 addr, u16 size) //{ // //printf("bt_read: %04x,%04x, %08lx\n", addr, size, BT_CM_PAGE(addr)); // cm_read(buf, BT_CM_PAGE(addr), size); // //print_r(buf, size); //} // //void bt_put_link_info(void *buf, u16 addr, u16 size) //{ // //printf("bt_write: %04x,%04x, %08lx\n", addr, size, BT_CM_PAGE(addr)); // //print_r(buf, size); // cm_write(buf, BT_CM_PAGE(addr), size); //} // //void bt_get_ext_link_info(void *buf, u16 addr, u16 size) //{ // //printf("bt_read: %04x,%04x, %08lx\n", addr, size, BT_CM_PAGE(addr)); // cm_read(buf, EXT_CM_PAGE(addr), size); // //print_r(buf, size); //} // //void bt_put_ext_link_info(void *buf, u16 addr, u16 size) //{ // //printf("bt_write: %04x,%04x, %08lx\n", addr, size, BT_CM_PAGE(addr)); // //print_r(buf, size); // cm_write(buf, EXT_CM_PAGE(addr), size); //} //void bt_sync_link_info(void) //{ // cm_sync(); //}