Loading system/bta/dm/bta_dm_act.cc +0 −147 Original line number Diff line number Diff line Loading @@ -4734,50 +4734,6 @@ void bta_dm_ble_set_adv_params (uint16_t adv_int_min, uint16_t adv_int_max, BTM_BleSetAdvParams(adv_int_min, adv_int_max, p_dir_bda, BTA_DM_BLE_ADV_CHNL_MAP); } /******************************************************************************* ** ** Function bta_dm_ble_set_adv_config ** ** Description This function set the customized ADV data configuration ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_STATUS status = BTA_FAILURE; if (BTM_BleWriteAdvData(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS) status = BTA_SUCCESS; if (p_adv_data_cback) (*p_adv_data_cback)(status); } /******************************************************************************* ** ** Function bta_dm_ble_set_scan_rsp ** ** Description This function set the customized ADV scan resp. configuration ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_STATUS status = BTA_FAILURE; if(BTM_BleWriteScanRsp(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS) status = BTA_SUCCESS; if (p_adv_data_cback) (*p_adv_data_cback)(status); } /******************************************************************************* ** ** Function bta_dm_ble_set_data_length Loading Loading @@ -4810,109 +4766,6 @@ void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data) BTM_BleBroadcast(p_data->ble_observe.start); } void bta_dm_ble_multi_adv_register(tBTA_BLE_MULTI_ADV_CBACK *p_cback) { bta_dm_cb.p_multi_adv_cback = p_cback; BTM_BleAdvRegister((tBTM_BLE_MULTI_ADV_CBACK *)p_cback); } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_enb ** ** Description This function enables a single advertising instance ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_enb(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0) { btm_status = BTM_BleEnableAdvInstance(inst_id, (tBTM_BLE_ADV_PARAMS *)p_params); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_ENB_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_param_upd ** ** Description This function updates multiple advertising instance parameters ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleUpdateAdvInstParam(inst_id, (tBTM_BLE_ADV_PARAMS*)p_params); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_PARAM_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_data ** ** Description This function write multiple advertising instance adv data ** or scan response data ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA data) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleCfgAdvInstData(inst_id, is_scan_rsp, data_mask, (tBTM_BLE_ADV_DATA*)&data); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DATA_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function btm_dm_ble_multi_adv_disable ** ** Description This function disable a single adv instance ** ** Parameters: ** *******************************************************************************/ void btm_dm_ble_multi_adv_disable(uint8_t inst_id) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleDisableAdvInstance(inst_id); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DISABLE_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_setup_storage Loading system/bta/dm/bta_dm_api.cc +0 −154 Original line number Diff line number Diff line Loading @@ -902,52 +902,6 @@ void BTA_DmSetBleAdvParams(uint16_t adv_int_min, uint16_t adv_int_max, ********************************************************************************/ #if (BLE_INCLUDED == TRUE) /******************************************************************************* ** ** Function BTA_DmBleSetAdvConfig ** ** Description This function is called to override the BTA default ADV parameters. ** ** Parameters data_mask: adv data mask. ** p_adv_cfg: Pointer to User defined ADV data structure. This ** memory space can not be freed until p_adv_data_cback ** is received. ** p_adv_data_cback: set adv data complete callback. ** ** Returns None ** *******************************************************************************/ void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA; memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_set_adv_config, data_mask, base::Owned(adv_cfg), p_adv_data_cback)); } /******************************************************************************* ** ** Function BTA_DmBleSetScanRsp ** ** Description This function is called to override the BTA scan response. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA; memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_set_scan_rsp, data_mask, base::Owned(adv_cfg), p_adv_data_cback)); } /******************************************************************************* ** ** Function BTA_DmBleSetStorageParams Loading Loading @@ -1362,114 +1316,6 @@ void BTA_DmBleConfigLocalPrivacy(bool privacy_enable) } #if (BLE_INCLUDED == TRUE) /******************************************************************************* ** ** Register an advertising instance, status will be returned in |p_cback| ** callback, with assigned id, if operation succeeds. Instance is freed when ** advertising is disabled by calling |BTA_BleDisableAdvInstance|, or when any ** of the operations fails. *******************************************************************************/ void BTA_BleAdvRegisterInstance(tBTA_BLE_MULTI_ADV_CBACK *p_cback) { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_register, p_cback)); } /******************************************************************************* ** ** Function BTA_BleEnableAdvInstance ** ** Description This function enable a Multi-ADV instance with the specififed ** adv parameters ** ** Parameters inst_id: Adv instance to update the parameter. ** p_params: pointer to the adv parameter structure. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleEnableAdvInstance (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { APPL_TRACE_API("%s", __func__); if (p_params != NULL) { tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS; memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_enb, inst_id, base::Owned(params))); } else { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_enb, inst_id, nullptr)); } } /******************************************************************************* ** ** Function BTA_BleUpdateAdvInstParam ** ** Description This function update a Multi-ADV instance with the specififed ** adv parameters. ** ** Parameters inst_id: Adv instance to update the parameter. ** p_params: pointer to the adv parameter structure. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleUpdateAdvInstParam (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { APPL_TRACE_API("%s", __func__); tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS; memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_upd_param, inst_id, base::Owned(params))); } /******************************************************************************* ** ** Function BTA_BleCfgAdvInstData ** ** Description This function configure a Multi-ADV instance with the specififed ** adv data or scan response data. ** ** Parameter inst_id: Adv instance to configure the adv data or scan response. ** is_scan_rsp: is the data scan response or adv data. ** data_mask: adv data type as bit mask. ** p_data: pointer to the ADV data structure tBTA_BLE_ADV_DATA. This ** memory space can not be freed until BTA_BLE_MULTI_ADV_DATA_EVT ** is sent to application. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_data) { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_data, inst_id, is_scan_rsp, data_mask, *p_data)); } /******************************************************************************* ** ** Function BTA_BleDisableAdvInstance ** ** Description This function disable a Multi-ADV instance. ** ** Parameter inst_id: instance ID to disable. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleDisableAdvInstance(uint8_t inst_id) { APPL_TRACE_API("%s: %d", __func__, inst_id); do_in_bta_thread(FROM_HERE, base::Bind(&btm_dm_ble_multi_adv_disable, inst_id)); } /******************************************************************************* ** ** Function BTA_DmBleCfgFilterCondition Loading system/bta/dm/bta_dm_int.h +0 −16 Original line number Diff line number Diff line Loading @@ -799,7 +799,6 @@ typedef struct tBTA_DM_BLE_PF_CFG_CBACK *p_scan_filt_cfg_cback; tBTA_DM_BLE_PF_STATUS_CBACK *p_scan_filt_status_cback; tBTA_DM_BLE_PF_PARAM_CBACK *p_scan_filt_param_cback; tBTA_BLE_MULTI_ADV_CBACK *p_multi_adv_cback; tBTA_BLE_ENERGY_INFO_CBACK *p_energy_info_cback; #endif uint16_t state; Loading Loading @@ -1040,12 +1039,6 @@ extern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data); extern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data); extern void bta_dm_ble_set_adv_params(uint16_t adv_int_min, uint16_t adv_int_max, tBLE_BD_ADDR *p_dir_bda); extern void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); extern void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); extern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data); extern void bta_dm_ble_set_data_length(tBTA_DM_MSG *p_data); Loading @@ -1055,15 +1048,6 @@ extern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data); extern void bta_dm_scan_filter_param_setup (tBTA_DM_MSG *p_data); extern void bta_dm_enable_scan_filter(tBTA_DM_MSG *p_data); #endif extern void bta_dm_ble_multi_adv_register(tBTA_BLE_MULTI_ADV_CBACK *p_cback); extern void btm_dm_ble_multi_adv_disable(uint8_t inst_id); extern void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA data); extern void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); extern void bta_dm_ble_multi_adv_enb(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); extern void bta_dm_ble_setup_storage(tBTA_DM_MSG *p_data); extern void bta_dm_ble_enable_batch_scan(tBTA_DM_MSG * p_data); Loading system/bta/include/bta_api.h +0 −142 Original line number Diff line number Diff line Loading @@ -369,41 +369,9 @@ typedef struct typedef void (tBTA_SET_ADV_DATA_CMPL_CBACK) (tBTA_STATUS status); /* advertising channel map */ #define BTA_BLE_ADV_CHNL_37 BTM_BLE_ADV_CHNL_37 #define BTA_BLE_ADV_CHNL_38 BTM_BLE_ADV_CHNL_38 #define BTA_BLE_ADV_CHNL_39 BTM_BLE_ADV_CHNL_39 typedef tBTM_BLE_ADV_CHNL_MAP tBTA_BLE_ADV_CHNL_MAP; /* use as a bit mask */ /* advertising filter policy */ typedef tBTM_BLE_AFP tBTA_BLE_AFP; /* adv event type */ #define BTA_BLE_CONNECT_EVT BTM_BLE_CONNECT_EVT /* Connectable undirected advertising */ #define BTA_BLE_CONNECT_DIR_EVT BTM_BLE_CONNECT_DIR_EVT /* Connectable directed advertising */ #define BTA_BLE_DISCOVER_EVT BTM_BLE_DISCOVER_EVT /* Scannable undirected advertising */ #define BTA_BLE_NON_CONNECT_EVT BTM_BLE_NON_CONNECT_EVT /* Non connectable undirected advertising */ typedef uint8_t tBTA_BLE_ADV_EVT; /* adv tx power level */ #define BTA_BLE_ADV_TX_POWER_MIN 0 /* minimum tx power */ #define BTA_BLE_ADV_TX_POWER_LOW 1 /* low tx power */ #define BTA_BLE_ADV_TX_POWER_MID 2 /* middle tx power */ #define BTA_BLE_ADV_TX_POWER_UPPER 3 /* upper tx power */ #define BTA_BLE_ADV_TX_POWER_MAX 4 /* maximum tx power */ typedef uint8_t tBTA_BLE_ADV_TX_POWER; /* advertising instance parameters */ typedef struct { uint16_t adv_int_min; /* minimum adv interval */ uint16_t adv_int_max; /* maximum adv interval */ tBTA_BLE_ADV_EVT adv_type; /* adv event type */ tBTA_BLE_ADV_CHNL_MAP channel_map; /* adv channel map */ tBTA_BLE_AFP adv_filter_policy; /* advertising filter policy */ tBTA_BLE_ADV_TX_POWER tx_power; /* adv tx power */ }tBTA_BLE_ADV_PARAMS; /* These are the fields returned in each device adv packet. It ** is returned in the results callback if registered. */ Loading Loading @@ -902,20 +870,6 @@ typedef union /* Security callback */ typedef void (tBTA_DM_SEC_CBACK)(tBTA_DM_SEC_EVT event, tBTA_DM_SEC *p_data); #define BTA_BLE_MULTI_ADV_ILLEGAL 0 /* multi adv callback event */ #define BTA_BLE_MULTI_ADV_ENB_EVT 1 #define BTA_BLE_MULTI_ADV_DISABLE_EVT 2 #define BTA_BLE_MULTI_ADV_PARAM_EVT 3 #define BTA_BLE_MULTI_ADV_DATA_EVT 4 #define BTA_BLE_MULTI_ADV_REG_EVT 5 typedef uint8_t tBTA_BLE_MULTI_ADV_EVT; /* multi adv callback */ typedef void (tBTA_BLE_MULTI_ADV_CBACK)(tBTA_BLE_MULTI_ADV_EVT event, uint8_t inst_id, tBTA_STATUS status); typedef uint32_t tBTA_DM_BLE_REF_VALUE; #define BTA_DM_BLE_PF_ENABLE_EVT BTM_BLE_PF_ENABLE Loading Loading @@ -2003,36 +1957,6 @@ extern void BTA_DmBleConfigLocalPrivacy(bool privacy_enable); extern void BTA_DmBleEnableRemotePrivacy(BD_ADDR bd_addr, bool privacy_enable); /******************************************************************************* ** ** Function BTA_DmBleSetAdvConfig ** ** Description This function is called to override the BTA default ADV parameters. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); /******************************************************************************* ** ** Function BTA_DmBleSetScanRsp ** ** Description This function is called to override the BTA scan response. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); /******************************************************************************* ** ** Function BTA_DmBleBroadcast Loading @@ -2046,72 +1970,6 @@ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, *******************************************************************************/ extern void BTA_DmBleBroadcast (bool start); /******************************************************************************* ** ** Register an advertising instance, status will be returned in |p_cback| ** callback, with assigned id, if operation succeeds. Instance is freed when ** advertising is disabled by calling |BTA_BleDisableAdvInstance|, or when any ** of the operations fails. *******************************************************************************/ extern void BTA_BleAdvRegisterInstance(tBTA_BLE_MULTI_ADV_CBACK *p_cback); /******************************************************************************* ** ** Function BTA_BleEnableAdvInstance ** ** Description This function enables the Multi ADV instance feature ** ** Parameters inst_id Instance ID ** p_params Pointer to ADV param user defined structure ** ** Returns None ** *******************************************************************************/ extern void BTA_BleEnableAdvInstance(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); /******************************************************************************* ** ** Function BTA_BleUpdateAdvInstParam ** ** Description This function updates the Multi ADV instance params ** ** Parameters inst_id Instance ID ** p_params Pointer to ADV param user defined structure ** ** Returns None ** *******************************************************************************/ extern void BTA_BleUpdateAdvInstParam (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); /******************************************************************************* ** ** Function BTA_BleCfgAdvInstData ** ** Description This function is called to configure the ADV instance data ** ** Parameters inst_id - Instance ID ** is_scan_rsp - Boolean value Scan response ** Pointer to User defined ADV data structure ** Returns None ** *******************************************************************************/ extern void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_data); /******************************************************************************* ** ** Function BTA_BleDisableAdvInstance ** ** Description This function is called to disable the ADV instance ** ** Parameters inst_id - Instance ID to be disabled ** ** Returns None ** *******************************************************************************/ extern void BTA_BleDisableAdvInstance(uint8_t inst_id); /******************************************************************************* ** ** Function BTA_DmBleUpdateConnectionParams Loading system/btif/include/btif_gatt_multi_adv_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ typedef struct uint8_t advertiser_id; tBTA_BLE_AD_MASK mask; tBTA_BLE_ADV_DATA data; tBTA_BLE_ADV_PARAMS param; tBTM_BLE_ADV_PARAMS param; alarm_t *multi_adv_timer; int timeout_s; } btgatt_multi_adv_inst_cb; Loading Loading
system/bta/dm/bta_dm_act.cc +0 −147 Original line number Diff line number Diff line Loading @@ -4734,50 +4734,6 @@ void bta_dm_ble_set_adv_params (uint16_t adv_int_min, uint16_t adv_int_max, BTM_BleSetAdvParams(adv_int_min, adv_int_max, p_dir_bda, BTA_DM_BLE_ADV_CHNL_MAP); } /******************************************************************************* ** ** Function bta_dm_ble_set_adv_config ** ** Description This function set the customized ADV data configuration ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_STATUS status = BTA_FAILURE; if (BTM_BleWriteAdvData(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS) status = BTA_SUCCESS; if (p_adv_data_cback) (*p_adv_data_cback)(status); } /******************************************************************************* ** ** Function bta_dm_ble_set_scan_rsp ** ** Description This function set the customized ADV scan resp. configuration ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_STATUS status = BTA_FAILURE; if(BTM_BleWriteScanRsp(data_mask, (tBTM_BLE_ADV_DATA *)adv_cfg) == BTM_SUCCESS) status = BTA_SUCCESS; if (p_adv_data_cback) (*p_adv_data_cback)(status); } /******************************************************************************* ** ** Function bta_dm_ble_set_data_length Loading Loading @@ -4810,109 +4766,6 @@ void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data) BTM_BleBroadcast(p_data->ble_observe.start); } void bta_dm_ble_multi_adv_register(tBTA_BLE_MULTI_ADV_CBACK *p_cback) { bta_dm_cb.p_multi_adv_cback = p_cback; BTM_BleAdvRegister((tBTM_BLE_MULTI_ADV_CBACK *)p_cback); } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_enb ** ** Description This function enables a single advertising instance ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_enb(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0) { btm_status = BTM_BleEnableAdvInstance(inst_id, (tBTM_BLE_ADV_PARAMS *)p_params); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_ENB_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_param_upd ** ** Description This function updates multiple advertising instance parameters ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleUpdateAdvInstParam(inst_id, (tBTM_BLE_ADV_PARAMS*)p_params); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_PARAM_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_multi_adv_data ** ** Description This function write multiple advertising instance adv data ** or scan response data ** ** Parameters: ** *******************************************************************************/ void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA data) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleCfgAdvInstData(inst_id, is_scan_rsp, data_mask, (tBTM_BLE_ADV_DATA*)&data); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DATA_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function btm_dm_ble_multi_adv_disable ** ** Description This function disable a single adv instance ** ** Parameters: ** *******************************************************************************/ void btm_dm_ble_multi_adv_disable(uint8_t inst_id) { tBTM_STATUS btm_status = 0; if (BTM_BleMaxMultiAdvInstanceCount() > 0 && inst_id > 0 && inst_id < BTM_BleMaxMultiAdvInstanceCount()) { btm_status = BTM_BleDisableAdvInstance(inst_id); } if (BTM_CMD_STARTED != btm_status) { bta_dm_cb.p_multi_adv_cback(BTA_BLE_MULTI_ADV_DISABLE_EVT, inst_id, BTA_FAILURE); } } /******************************************************************************* ** ** Function bta_dm_ble_setup_storage Loading
system/bta/dm/bta_dm_api.cc +0 −154 Original line number Diff line number Diff line Loading @@ -902,52 +902,6 @@ void BTA_DmSetBleAdvParams(uint16_t adv_int_min, uint16_t adv_int_max, ********************************************************************************/ #if (BLE_INCLUDED == TRUE) /******************************************************************************* ** ** Function BTA_DmBleSetAdvConfig ** ** Description This function is called to override the BTA default ADV parameters. ** ** Parameters data_mask: adv data mask. ** p_adv_cfg: Pointer to User defined ADV data structure. This ** memory space can not be freed until p_adv_data_cback ** is received. ** p_adv_data_cback: set adv data complete callback. ** ** Returns None ** *******************************************************************************/ void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA; memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_set_adv_config, data_mask, base::Owned(adv_cfg), p_adv_data_cback)); } /******************************************************************************* ** ** Function BTA_DmBleSetScanRsp ** ** Description This function is called to override the BTA scan response. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback) { tBTA_BLE_ADV_DATA *adv_cfg = new tBTA_BLE_ADV_DATA; memcpy(adv_cfg, p_adv_cfg, sizeof(tBTA_BLE_ADV_DATA)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_set_scan_rsp, data_mask, base::Owned(adv_cfg), p_adv_data_cback)); } /******************************************************************************* ** ** Function BTA_DmBleSetStorageParams Loading Loading @@ -1362,114 +1316,6 @@ void BTA_DmBleConfigLocalPrivacy(bool privacy_enable) } #if (BLE_INCLUDED == TRUE) /******************************************************************************* ** ** Register an advertising instance, status will be returned in |p_cback| ** callback, with assigned id, if operation succeeds. Instance is freed when ** advertising is disabled by calling |BTA_BleDisableAdvInstance|, or when any ** of the operations fails. *******************************************************************************/ void BTA_BleAdvRegisterInstance(tBTA_BLE_MULTI_ADV_CBACK *p_cback) { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_register, p_cback)); } /******************************************************************************* ** ** Function BTA_BleEnableAdvInstance ** ** Description This function enable a Multi-ADV instance with the specififed ** adv parameters ** ** Parameters inst_id: Adv instance to update the parameter. ** p_params: pointer to the adv parameter structure. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleEnableAdvInstance (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { APPL_TRACE_API("%s", __func__); if (p_params != NULL) { tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS; memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_enb, inst_id, base::Owned(params))); } else { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_enb, inst_id, nullptr)); } } /******************************************************************************* ** ** Function BTA_BleUpdateAdvInstParam ** ** Description This function update a Multi-ADV instance with the specififed ** adv parameters. ** ** Parameters inst_id: Adv instance to update the parameter. ** p_params: pointer to the adv parameter structure. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleUpdateAdvInstParam (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params) { APPL_TRACE_API("%s", __func__); tBTA_BLE_ADV_PARAMS *params = new tBTA_BLE_ADV_PARAMS; memcpy(params, p_params, sizeof(tBTA_BLE_ADV_PARAMS)); do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_upd_param, inst_id, base::Owned(params))); } /******************************************************************************* ** ** Function BTA_BleCfgAdvInstData ** ** Description This function configure a Multi-ADV instance with the specififed ** adv data or scan response data. ** ** Parameter inst_id: Adv instance to configure the adv data or scan response. ** is_scan_rsp: is the data scan response or adv data. ** data_mask: adv data type as bit mask. ** p_data: pointer to the ADV data structure tBTA_BLE_ADV_DATA. This ** memory space can not be freed until BTA_BLE_MULTI_ADV_DATA_EVT ** is sent to application. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_data) { do_in_bta_thread(FROM_HERE, base::Bind(&bta_dm_ble_multi_adv_data, inst_id, is_scan_rsp, data_mask, *p_data)); } /******************************************************************************* ** ** Function BTA_BleDisableAdvInstance ** ** Description This function disable a Multi-ADV instance. ** ** Parameter inst_id: instance ID to disable. ** ** Returns BTA_SUCCESS if command started sucessfully; otherwise failure. ** *******************************************************************************/ void BTA_BleDisableAdvInstance(uint8_t inst_id) { APPL_TRACE_API("%s: %d", __func__, inst_id); do_in_bta_thread(FROM_HERE, base::Bind(&btm_dm_ble_multi_adv_disable, inst_id)); } /******************************************************************************* ** ** Function BTA_DmBleCfgFilterCondition Loading
system/bta/dm/bta_dm_int.h +0 −16 Original line number Diff line number Diff line Loading @@ -799,7 +799,6 @@ typedef struct tBTA_DM_BLE_PF_CFG_CBACK *p_scan_filt_cfg_cback; tBTA_DM_BLE_PF_STATUS_CBACK *p_scan_filt_status_cback; tBTA_DM_BLE_PF_PARAM_CBACK *p_scan_filt_param_cback; tBTA_BLE_MULTI_ADV_CBACK *p_multi_adv_cback; tBTA_BLE_ENERGY_INFO_CBACK *p_energy_info_cback; #endif uint16_t state; Loading Loading @@ -1040,12 +1039,6 @@ extern void bta_dm_ble_update_conn_params (tBTA_DM_MSG *p_data); extern void bta_dm_ble_config_local_privacy (tBTA_DM_MSG *p_data); extern void bta_dm_ble_set_adv_params(uint16_t adv_int_min, uint16_t adv_int_max, tBLE_BD_ADDR *p_dir_bda); extern void bta_dm_ble_set_adv_config (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); extern void bta_dm_ble_set_scan_rsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); extern void bta_dm_ble_broadcast (tBTA_DM_MSG *p_data); extern void bta_dm_ble_set_data_length(tBTA_DM_MSG *p_data); Loading @@ -1055,15 +1048,6 @@ extern void bta_dm_cfg_filter_cond (tBTA_DM_MSG *p_data); extern void bta_dm_scan_filter_param_setup (tBTA_DM_MSG *p_data); extern void bta_dm_enable_scan_filter(tBTA_DM_MSG *p_data); #endif extern void bta_dm_ble_multi_adv_register(tBTA_BLE_MULTI_ADV_CBACK *p_cback); extern void btm_dm_ble_multi_adv_disable(uint8_t inst_id); extern void bta_dm_ble_multi_adv_data(uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA data); extern void bta_dm_ble_multi_adv_upd_param(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); extern void bta_dm_ble_multi_adv_enb(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); extern void bta_dm_ble_setup_storage(tBTA_DM_MSG *p_data); extern void bta_dm_ble_enable_batch_scan(tBTA_DM_MSG * p_data); Loading
system/bta/include/bta_api.h +0 −142 Original line number Diff line number Diff line Loading @@ -369,41 +369,9 @@ typedef struct typedef void (tBTA_SET_ADV_DATA_CMPL_CBACK) (tBTA_STATUS status); /* advertising channel map */ #define BTA_BLE_ADV_CHNL_37 BTM_BLE_ADV_CHNL_37 #define BTA_BLE_ADV_CHNL_38 BTM_BLE_ADV_CHNL_38 #define BTA_BLE_ADV_CHNL_39 BTM_BLE_ADV_CHNL_39 typedef tBTM_BLE_ADV_CHNL_MAP tBTA_BLE_ADV_CHNL_MAP; /* use as a bit mask */ /* advertising filter policy */ typedef tBTM_BLE_AFP tBTA_BLE_AFP; /* adv event type */ #define BTA_BLE_CONNECT_EVT BTM_BLE_CONNECT_EVT /* Connectable undirected advertising */ #define BTA_BLE_CONNECT_DIR_EVT BTM_BLE_CONNECT_DIR_EVT /* Connectable directed advertising */ #define BTA_BLE_DISCOVER_EVT BTM_BLE_DISCOVER_EVT /* Scannable undirected advertising */ #define BTA_BLE_NON_CONNECT_EVT BTM_BLE_NON_CONNECT_EVT /* Non connectable undirected advertising */ typedef uint8_t tBTA_BLE_ADV_EVT; /* adv tx power level */ #define BTA_BLE_ADV_TX_POWER_MIN 0 /* minimum tx power */ #define BTA_BLE_ADV_TX_POWER_LOW 1 /* low tx power */ #define BTA_BLE_ADV_TX_POWER_MID 2 /* middle tx power */ #define BTA_BLE_ADV_TX_POWER_UPPER 3 /* upper tx power */ #define BTA_BLE_ADV_TX_POWER_MAX 4 /* maximum tx power */ typedef uint8_t tBTA_BLE_ADV_TX_POWER; /* advertising instance parameters */ typedef struct { uint16_t adv_int_min; /* minimum adv interval */ uint16_t adv_int_max; /* maximum adv interval */ tBTA_BLE_ADV_EVT adv_type; /* adv event type */ tBTA_BLE_ADV_CHNL_MAP channel_map; /* adv channel map */ tBTA_BLE_AFP adv_filter_policy; /* advertising filter policy */ tBTA_BLE_ADV_TX_POWER tx_power; /* adv tx power */ }tBTA_BLE_ADV_PARAMS; /* These are the fields returned in each device adv packet. It ** is returned in the results callback if registered. */ Loading Loading @@ -902,20 +870,6 @@ typedef union /* Security callback */ typedef void (tBTA_DM_SEC_CBACK)(tBTA_DM_SEC_EVT event, tBTA_DM_SEC *p_data); #define BTA_BLE_MULTI_ADV_ILLEGAL 0 /* multi adv callback event */ #define BTA_BLE_MULTI_ADV_ENB_EVT 1 #define BTA_BLE_MULTI_ADV_DISABLE_EVT 2 #define BTA_BLE_MULTI_ADV_PARAM_EVT 3 #define BTA_BLE_MULTI_ADV_DATA_EVT 4 #define BTA_BLE_MULTI_ADV_REG_EVT 5 typedef uint8_t tBTA_BLE_MULTI_ADV_EVT; /* multi adv callback */ typedef void (tBTA_BLE_MULTI_ADV_CBACK)(tBTA_BLE_MULTI_ADV_EVT event, uint8_t inst_id, tBTA_STATUS status); typedef uint32_t tBTA_DM_BLE_REF_VALUE; #define BTA_DM_BLE_PF_ENABLE_EVT BTM_BLE_PF_ENABLE Loading Loading @@ -2003,36 +1957,6 @@ extern void BTA_DmBleConfigLocalPrivacy(bool privacy_enable); extern void BTA_DmBleEnableRemotePrivacy(BD_ADDR bd_addr, bool privacy_enable); /******************************************************************************* ** ** Function BTA_DmBleSetAdvConfig ** ** Description This function is called to override the BTA default ADV parameters. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetAdvConfig (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); /******************************************************************************* ** ** Function BTA_DmBleSetScanRsp ** ** Description This function is called to override the BTA scan response. ** ** Parameters Pointer to User defined ADV data structure ** ** Returns None ** *******************************************************************************/ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_adv_cfg, tBTA_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback); /******************************************************************************* ** ** Function BTA_DmBleBroadcast Loading @@ -2046,72 +1970,6 @@ extern void BTA_DmBleSetScanRsp (tBTA_BLE_AD_MASK data_mask, *******************************************************************************/ extern void BTA_DmBleBroadcast (bool start); /******************************************************************************* ** ** Register an advertising instance, status will be returned in |p_cback| ** callback, with assigned id, if operation succeeds. Instance is freed when ** advertising is disabled by calling |BTA_BleDisableAdvInstance|, or when any ** of the operations fails. *******************************************************************************/ extern void BTA_BleAdvRegisterInstance(tBTA_BLE_MULTI_ADV_CBACK *p_cback); /******************************************************************************* ** ** Function BTA_BleEnableAdvInstance ** ** Description This function enables the Multi ADV instance feature ** ** Parameters inst_id Instance ID ** p_params Pointer to ADV param user defined structure ** ** Returns None ** *******************************************************************************/ extern void BTA_BleEnableAdvInstance(uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); /******************************************************************************* ** ** Function BTA_BleUpdateAdvInstParam ** ** Description This function updates the Multi ADV instance params ** ** Parameters inst_id Instance ID ** p_params Pointer to ADV param user defined structure ** ** Returns None ** *******************************************************************************/ extern void BTA_BleUpdateAdvInstParam (uint8_t inst_id, tBTA_BLE_ADV_PARAMS *p_params); /******************************************************************************* ** ** Function BTA_BleCfgAdvInstData ** ** Description This function is called to configure the ADV instance data ** ** Parameters inst_id - Instance ID ** is_scan_rsp - Boolean value Scan response ** Pointer to User defined ADV data structure ** Returns None ** *******************************************************************************/ extern void BTA_BleCfgAdvInstData (uint8_t inst_id, bool is_scan_rsp, tBTA_BLE_AD_MASK data_mask, tBTA_BLE_ADV_DATA *p_data); /******************************************************************************* ** ** Function BTA_BleDisableAdvInstance ** ** Description This function is called to disable the ADV instance ** ** Parameters inst_id - Instance ID to be disabled ** ** Returns None ** *******************************************************************************/ extern void BTA_BleDisableAdvInstance(uint8_t inst_id); /******************************************************************************* ** ** Function BTA_DmBleUpdateConnectionParams Loading
system/btif/include/btif_gatt_multi_adv_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ typedef struct uint8_t advertiser_id; tBTA_BLE_AD_MASK mask; tBTA_BLE_ADV_DATA data; tBTA_BLE_ADV_PARAMS param; tBTM_BLE_ADV_PARAMS param; alarm_t *multi_adv_timer; int timeout_s; } btgatt_multi_adv_inst_cb; Loading