mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 19:24:33 +02:00
fix(ble/bluedroid): move setting host feature API to GAP
This commit is contained in:
@@ -214,35 +214,6 @@ esp_err_t esp_ble_iso_remove_iso_data_path(esp_ble_iso_remove_data_path_params_t
|
|||||||
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
esp_err_t esp_ble_iso_set_host_feature(uint16_t bit_num, uint8_t bit_val)
|
|
||||||
{
|
|
||||||
btc_msg_t msg = {0};
|
|
||||||
btc_ble_iso_args_t arg;
|
|
||||||
|
|
||||||
if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) {
|
|
||||||
return ESP_ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
|
||||||
if (bit_num > 0x07BF) {
|
|
||||||
return ESP_ERR_INVALID_ARG;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
if (bit_num > 0xFF) {
|
|
||||||
return ESP_ERR_INVALID_ARG;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
msg.sig = BTC_SIG_API_CALL;
|
|
||||||
msg.pid = BTC_PID_ISO_BLE;
|
|
||||||
msg.act = BTC_ISO_ACT_SET_HOST_FEATURE;
|
|
||||||
|
|
||||||
arg.iso_set_host_feature_params.bit_num = bit_num;
|
|
||||||
arg.iso_set_host_feature_params.bit_val = bit_val;
|
|
||||||
|
|
||||||
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_iso_args_t), NULL, NULL)
|
|
||||||
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
esp_err_t esp_ble_iso_read_iso_tx_sync(uint16_t iso_handle)
|
esp_err_t esp_ble_iso_read_iso_tx_sync(uint16_t iso_handle)
|
||||||
{
|
{
|
||||||
btc_msg_t msg = {0};
|
btc_msg_t msg = {0};
|
||||||
|
@@ -1963,3 +1963,34 @@ esp_err_t esp_ble_gap_subrate_request(esp_ble_subrate_req_param_t *subrate_req_p
|
|||||||
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
||||||
}
|
}
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
esp_err_t esp_ble_gap_set_host_feature(uint16_t bit_num, uint8_t bit_val)
|
||||||
|
{
|
||||||
|
btc_msg_t msg;
|
||||||
|
btc_ble_5_gap_args_t arg;
|
||||||
|
|
||||||
|
if (esp_bluedroid_get_status() != ESP_BLUEDROID_STATUS_ENABLED) {
|
||||||
|
return ESP_ERR_INVALID_STATE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
||||||
|
if (bit_num > 0x07BF) {
|
||||||
|
return ESP_ERR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if (bit_num > 0xFF) {
|
||||||
|
return ESP_ERR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
msg.sig = BTC_SIG_API_CALL;
|
||||||
|
msg.pid = BTC_PID_GAP_BLE;
|
||||||
|
msg.act = BTC_GAP_ACT_SET_HOST_FEATURE;
|
||||||
|
|
||||||
|
arg.set_host_feature_params.bit_num = bit_num;
|
||||||
|
arg.set_host_feature_params.bit_val = bit_val;
|
||||||
|
|
||||||
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_5_gap_args_t), NULL, NULL)
|
||||||
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
||||||
|
}
|
||||||
|
#endif //#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
@@ -26,7 +26,6 @@ typedef enum {
|
|||||||
ESP_BLE_ISO_BIG_SYNC_TERMINATE_CMPL_EVT, /*!< When BIG sync terminate complete, the event comes */
|
ESP_BLE_ISO_BIG_SYNC_TERMINATE_CMPL_EVT, /*!< When BIG sync terminate complete, the event comes */
|
||||||
ESP_BLE_ISO_BIGINFO_ADV_REPORT_EVT, /*!< When receiving an Advertising PDU that contained a BIGInfo field, the event comes */
|
ESP_BLE_ISO_BIGINFO_ADV_REPORT_EVT, /*!< When receiving an Advertising PDU that contained a BIGInfo field, the event comes */
|
||||||
ESP_BLE_ISO_ISO_DATA_PATH_UPDATE_EVT, /*!< When ISO data path update complete, the event comes */
|
ESP_BLE_ISO_ISO_DATA_PATH_UPDATE_EVT, /*!< When ISO data path update complete, the event comes */
|
||||||
ESP_BLE_ISO_SET_HOST_FEATURE_CMPL_EVT, /*!< When host feature set complete, the event comes */
|
|
||||||
ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT, /*!< When reading tx sync complete, the event comes */
|
ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT, /*!< When reading tx sync complete, the event comes */
|
||||||
ESP_BLE_ISO_READ_LINK_QUALITY_CMPL_EVT, /*!< When reading link quality complete, the event comes */
|
ESP_BLE_ISO_READ_LINK_QUALITY_CMPL_EVT, /*!< When reading link quality complete, the event comes */
|
||||||
ESP_BLE_ISO_SET_CIG_PARAMS_CMPL_EVT, /*!< When CIG parameters set complete, the event comes */
|
ESP_BLE_ISO_SET_CIG_PARAMS_CMPL_EVT, /*!< When CIG parameters set complete, the event comes */
|
||||||
@@ -295,12 +294,6 @@ typedef union {
|
|||||||
ESP_BLE_ISO_DATA_PATH_UPDATE_TYPE op_type; /*!< data path update type, setup or remove */
|
ESP_BLE_ISO_DATA_PATH_UPDATE_TYPE op_type; /*!< data path update type, setup or remove */
|
||||||
uint16_t iso_hdl; /*!< Connection handle of the CIS or BIS */
|
uint16_t iso_hdl; /*!< Connection handle of the CIS or BIS */
|
||||||
} data_path; /*!< Event parameter of ESP_BLE_ISO_ISO_DATA_PATH_UPDATE_EVT */
|
} data_path; /*!< Event parameter of ESP_BLE_ISO_ISO_DATA_PATH_UPDATE_EVT */
|
||||||
/**
|
|
||||||
* @brief ESP_BLE_ISO_SET_HOST_FEATURE_CMPL_EVT
|
|
||||||
*/
|
|
||||||
struct ble_iso_set_host_feature_evt_param {
|
|
||||||
esp_bt_status_t status; /*!< Indicate host feature update success status */
|
|
||||||
} host_feature; /*!< Event parameter of ESP_BLE_ISO_SET_HOST_FEATURE_CMPL_EVT */
|
|
||||||
/**
|
/**
|
||||||
* @brief ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT
|
* @brief ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT
|
||||||
*/
|
*/
|
||||||
@@ -529,19 +522,6 @@ esp_err_t esp_ble_iso_set_iso_data_path(esp_ble_iso_set_data_path_params_t *data
|
|||||||
*/
|
*/
|
||||||
esp_err_t esp_ble_iso_remove_iso_data_path(esp_ble_iso_remove_data_path_params_t *data_path_params);
|
esp_err_t esp_ble_iso_remove_iso_data_path(esp_ble_iso_remove_data_path_params_t *data_path_params);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief This function is called to set host feature.
|
|
||||||
*
|
|
||||||
* @param[in] bit_num: the bit position in the FeatureSet.
|
|
||||||
* @param[in] bit_val: the feature is enabled or disabled
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* - ESP_OK : success
|
|
||||||
* - other : failed
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
esp_err_t esp_ble_iso_set_host_feature(uint16_t bit_num, uint8_t bit_val);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function is called to read tx sync.
|
* @brief This function is called to read tx sync.
|
||||||
*
|
*
|
||||||
|
@@ -244,6 +244,7 @@ typedef enum {
|
|||||||
ESP_GAP_BLE_SET_DEFAULT_SUBRATE_COMPLETE_EVT, /*!< when set default subrate complete, the event comes */
|
ESP_GAP_BLE_SET_DEFAULT_SUBRATE_COMPLETE_EVT, /*!< when set default subrate complete, the event comes */
|
||||||
ESP_GAP_BLE_SUBRATE_REQUEST_COMPLETE_EVT, /*!< when subrate request command complete, the event comes */
|
ESP_GAP_BLE_SUBRATE_REQUEST_COMPLETE_EVT, /*!< when subrate request command complete, the event comes */
|
||||||
ESP_GAP_BLE_SUBRATE_CHANGE_EVT, /*!< when Connection Subrate Update procedure has completed and some parameters of the specified connection have changed, the event comes */
|
ESP_GAP_BLE_SUBRATE_CHANGE_EVT, /*!< when Connection Subrate Update procedure has completed and some parameters of the specified connection have changed, the event comes */
|
||||||
|
ESP_GAP_BLE_SET_HOST_FEATURE_CMPL_EVT, /*!< When host feature set complete, the event comes */
|
||||||
ESP_GAP_BLE_EVT_MAX, /*!< when maximum advertising event complete, the event comes */
|
ESP_GAP_BLE_EVT_MAX, /*!< when maximum advertising event complete, the event comes */
|
||||||
} esp_gap_ble_cb_event_t;
|
} esp_gap_ble_cb_event_t;
|
||||||
|
|
||||||
@@ -1775,6 +1776,14 @@ typedef union {
|
|||||||
uint16_t supervision_timeout; /*!< New supervision timeout for this connection(Time = N × 10 ms). Range: 0x000A to 0x0C80, Time Range: 100 ms to 32 s */
|
uint16_t supervision_timeout; /*!< New supervision timeout for this connection(Time = N × 10 ms). Range: 0x000A to 0x0C80, Time Range: 100 ms to 32 s */
|
||||||
} subrate_change_evt; /*!< Event parameter of ESP_GAP_BLE_SUBRATE_CHANGE_EVT */
|
} subrate_change_evt; /*!< Event parameter of ESP_GAP_BLE_SUBRATE_CHANGE_EVT */
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
/**
|
||||||
|
* @brief ESP_GAP_BLE_SET_HOST_FEATURE_CMPL_EVT
|
||||||
|
*/
|
||||||
|
struct ble_set_host_feature_evt_param {
|
||||||
|
esp_bt_status_t status; /*!< Indicate host feature update success status */
|
||||||
|
} host_feature; /*!< Event parameter of ESP_GAP_BLE_SET_HOST_FEATURE_CMPL_EVT */
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
} esp_ble_gap_cb_param_t;
|
} esp_ble_gap_cb_param_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3096,6 +3105,19 @@ esp_err_t esp_ble_gap_set_default_subrate(esp_ble_default_subrate_param_t *defau
|
|||||||
*/
|
*/
|
||||||
esp_err_t esp_ble_gap_subrate_request(esp_ble_subrate_req_param_t *subrate_req_params);
|
esp_err_t esp_ble_gap_subrate_request(esp_ble_subrate_req_param_t *subrate_req_params);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This function is called to set host feature.
|
||||||
|
*
|
||||||
|
* @param[in] bit_num: the bit position in the FeatureSet.
|
||||||
|
* @param[in] bit_val: the feature is enabled or disabled
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* - ESP_OK : success
|
||||||
|
* - other : failed
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
esp_err_t esp_ble_gap_set_host_feature(uint16_t bit_num, uint8_t bit_val);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -6163,12 +6163,6 @@ void bta_dm_ble_iso_remove_data_path(tBTA_DM_MSG *p_data)
|
|||||||
BTM_BleIsoRemoveDataPath(param.conn_handle, param.data_path_dir);
|
BTM_BleIsoRemoveDataPath(param.conn_handle, param.data_path_dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bta_dm_ble_iso_set_host_feature(tBTA_DM_MSG *p_data)
|
|
||||||
{
|
|
||||||
APPL_TRACE_API("%s", __func__);
|
|
||||||
BTM_BleIsoSetHostFeature(p_data->iso_set_host_feat.bit_num, p_data->iso_set_host_feat.bit_val);
|
|
||||||
}
|
|
||||||
|
|
||||||
void bta_dm_ble_iso_read_tx_sync(tBTA_DM_MSG *p_data)
|
void bta_dm_ble_iso_read_tx_sync(tBTA_DM_MSG *p_data)
|
||||||
{
|
{
|
||||||
APPL_TRACE_API("%s", __func__);
|
APPL_TRACE_API("%s", __func__);
|
||||||
@@ -6328,6 +6322,13 @@ void bta_dm_api_subrate_request(tBTA_DM_MSG *p_data)
|
|||||||
}
|
}
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
void bta_dm_ble_set_host_feature(tBTA_DM_MSG *p_data)
|
||||||
|
{
|
||||||
|
BTM_BleSetHostFeature(p_data->set_host_feat.bit_num, p_data->set_host_feat.bit_val);
|
||||||
|
}
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
#if (BLE_HOST_SETUP_STORAGE_EN == TRUE)
|
#if (BLE_HOST_SETUP_STORAGE_EN == TRUE)
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
|
@@ -3134,6 +3134,25 @@ void BTA_DmBleGapSubrateReqest(uint16_t conn_handle, uint16_t subrate_min, uint1
|
|||||||
}
|
}
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
void BTA_DmBleGapSetHostFeature(uint16_t bit_num, uint8_t bit_val)
|
||||||
|
{
|
||||||
|
tBTA_DM_API_SET_HOST_FEATURE *p_msg;
|
||||||
|
APPL_TRACE_API("%s", __func__);
|
||||||
|
if ((p_msg = (tBTA_DM_API_SET_HOST_FEATURE *) osi_malloc(sizeof(tBTA_DM_API_SET_HOST_FEATURE))) != NULL) {
|
||||||
|
memset(p_msg, 0, sizeof(tBTA_DM_API_SET_HOST_FEATURE));
|
||||||
|
p_msg->hdr.event = BTA_DM_API_SET_HOST_FEATURE_EVT;
|
||||||
|
|
||||||
|
p_msg->bit_num = bit_num;
|
||||||
|
p_msg->bit_val = bit_val;
|
||||||
|
//start sent the msg to the bta system control module
|
||||||
|
bta_sys_sendmsg(p_msg);
|
||||||
|
} else {
|
||||||
|
APPL_TRACE_ERROR("%s malloc failed", __func__);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
** Function BTA_VendorInit
|
** Function BTA_VendorInit
|
||||||
@@ -3866,23 +3885,6 @@ void BTA_DmBleGapIsoDataPathRemove(tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS *p_is
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BTA_DmBleGapIsoSetHostFeature(uint16_t bit_num, uint8_t bit_val)
|
|
||||||
{
|
|
||||||
tBTA_DM_API_ISO_SET_HOST_FEATURE *p_msg;
|
|
||||||
APPL_TRACE_API("%s", __func__);
|
|
||||||
if ((p_msg = (tBTA_DM_API_ISO_SET_HOST_FEATURE *) osi_malloc(sizeof(tBTA_DM_API_ISO_SET_HOST_FEATURE))) != NULL) {
|
|
||||||
memset(p_msg, 0, sizeof(tBTA_DM_API_ISO_SET_HOST_FEATURE));
|
|
||||||
p_msg->hdr.event = BTA_DM_API_ISO_SET_HOST_FEATURE_EVT;
|
|
||||||
|
|
||||||
p_msg->bit_num = bit_num;
|
|
||||||
p_msg->bit_val = bit_val;
|
|
||||||
//start sent the msg to the bta system control module
|
|
||||||
bta_sys_sendmsg(p_msg);
|
|
||||||
} else {
|
|
||||||
APPL_TRACE_ERROR("%s malloc failed", __func__);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void BTA_DmBleGapIsoReadTxSync(uint16_t iso_handle)
|
void BTA_DmBleGapIsoReadTxSync(uint16_t iso_handle)
|
||||||
{
|
{
|
||||||
tBTA_DM_API_ISO_READ_TX_SYNC *p_msg;
|
tBTA_DM_API_ISO_READ_TX_SYNC *p_msg;
|
||||||
|
@@ -299,7 +299,6 @@ const tBTA_DM_ACTION bta_dm_action[BTA_DM_MAX_EVT] = {
|
|||||||
#endif// #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif// #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
bta_dm_ble_iso_set_data_path, /* BTA_DM_API_ISO_SET_DATA_PATH_EVT */
|
bta_dm_ble_iso_set_data_path, /* BTA_DM_API_ISO_SET_DATA_PATH_EVT */
|
||||||
bta_dm_ble_iso_remove_data_path, /* BTA_DM_API_ISO_REMOVE_DATA_PATH_EVT */
|
bta_dm_ble_iso_remove_data_path, /* BTA_DM_API_ISO_REMOVE_DATA_PATH_EVT */
|
||||||
bta_dm_ble_iso_set_host_feature, /* BTA_DM_API_ISO_SET_HOST_FEATURE_EVT */
|
|
||||||
bta_dm_ble_iso_read_tx_sync, /* BTA_DM_API_ISO_READ_TX_SYNC_EVT */
|
bta_dm_ble_iso_read_tx_sync, /* BTA_DM_API_ISO_READ_TX_SYNC_EVT */
|
||||||
bta_dm_ble_iso_read_link_quality, /* BTA_DM_API_ISO_READ_LINK_QUALITY_EVT */
|
bta_dm_ble_iso_read_link_quality, /* BTA_DM_API_ISO_READ_LINK_QUALITY_EVT */
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -341,6 +340,9 @@ const tBTA_DM_ACTION bta_dm_action[BTA_DM_MAX_EVT] = {
|
|||||||
bta_dm_api_set_default_subrate, /* BTA_DM_API_SET_DEFALT_SUBRATE */
|
bta_dm_api_set_default_subrate, /* BTA_DM_API_SET_DEFALT_SUBRATE */
|
||||||
bta_dm_api_subrate_request, /* BTA_DM_API_SUBRATE_REQUEST */
|
bta_dm_api_subrate_request, /* BTA_DM_API_SUBRATE_REQUEST */
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
bta_dm_ble_set_host_feature, /* BTA_DM_API_SET_HOST_FEATURE_EVT */
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -290,7 +290,6 @@ enum {
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
BTA_DM_API_ISO_SET_DATA_PATH_EVT,
|
BTA_DM_API_ISO_SET_DATA_PATH_EVT,
|
||||||
BTA_DM_API_ISO_REMOVE_DATA_PATH_EVT,
|
BTA_DM_API_ISO_REMOVE_DATA_PATH_EVT,
|
||||||
BTA_DM_API_ISO_SET_HOST_FEATURE_EVT,
|
|
||||||
BTA_DM_API_ISO_READ_TX_SYNC_EVT,
|
BTA_DM_API_ISO_READ_TX_SYNC_EVT,
|
||||||
BTA_DM_API_ISO_READ_LINK_QUALITY_EVT,
|
BTA_DM_API_ISO_READ_LINK_QUALITY_EVT,
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -332,6 +331,9 @@ enum {
|
|||||||
BTA_DM_API_SET_DEFALT_SUBRATE,
|
BTA_DM_API_SET_DEFALT_SUBRATE,
|
||||||
BTA_DM_API_SUBRATE_REQUEST,
|
BTA_DM_API_SUBRATE_REQUEST,
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
BTA_DM_API_SET_HOST_FEATURE_EVT,
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
BTA_DM_MAX_EVT
|
BTA_DM_MAX_EVT
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1139,6 +1141,14 @@ typedef struct {
|
|||||||
} tBTA_DM_API_BLE_SUBRATE_REQUEST;
|
} tBTA_DM_API_BLE_SUBRATE_REQUEST;
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
typedef struct {
|
||||||
|
BT_HDR hdr;
|
||||||
|
uint16_t bit_num;
|
||||||
|
uint8_t bit_val;
|
||||||
|
} tBTA_DM_API_SET_HOST_FEATURE;
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
#endif /* BLE_INCLUDED */
|
#endif /* BLE_INCLUDED */
|
||||||
|
|
||||||
#if (BLE_HOST_REMOVE_AN_ACL_EN == TRUE)
|
#if (BLE_HOST_REMOVE_AN_ACL_EN == TRUE)
|
||||||
@@ -1422,12 +1432,6 @@ typedef struct {
|
|||||||
tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS iso_data_path_remove_param;
|
tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS iso_data_path_remove_param;
|
||||||
} tBTA_DM_API_ISO_DATA_PATH_REMOVE;
|
} tBTA_DM_API_ISO_DATA_PATH_REMOVE;
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
BT_HDR hdr;
|
|
||||||
uint16_t bit_num;
|
|
||||||
uint8_t bit_val;
|
|
||||||
} tBTA_DM_API_ISO_SET_HOST_FEATURE;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
BT_HDR hdr;
|
BT_HDR hdr;
|
||||||
uint16_t iso_hdl;
|
uint16_t iso_hdl;
|
||||||
@@ -1818,7 +1822,6 @@ typedef union {
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
tBTA_DM_API_ISO_DATA_PATH iso_set_data_path;
|
tBTA_DM_API_ISO_DATA_PATH iso_set_data_path;
|
||||||
tBTA_DM_API_ISO_DATA_PATH_REMOVE iso_remove_data_path;
|
tBTA_DM_API_ISO_DATA_PATH_REMOVE iso_remove_data_path;
|
||||||
tBTA_DM_API_ISO_SET_HOST_FEATURE iso_set_host_feat;
|
|
||||||
tBTA_DM_API_ISO_READ_TX_SYNC iso_read_tx_sync;
|
tBTA_DM_API_ISO_READ_TX_SYNC iso_read_tx_sync;
|
||||||
tBTA_DM_API_ISO_READ_LINK_QUALITY iso_read_link_quality;
|
tBTA_DM_API_ISO_READ_LINK_QUALITY iso_read_link_quality;
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -1861,6 +1864,9 @@ typedef union {
|
|||||||
tBTA_DM_API_BLE_SET_DEFAULT_SUBRATE default_subrate;
|
tBTA_DM_API_BLE_SET_DEFAULT_SUBRATE default_subrate;
|
||||||
tBTA_DM_API_BLE_SUBRATE_REQUEST subrate_request;
|
tBTA_DM_API_BLE_SUBRATE_REQUEST subrate_request;
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
tBTA_DM_API_SET_HOST_FEATURE set_host_feat;
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
} tBTA_DM_MSG;
|
} tBTA_DM_MSG;
|
||||||
|
|
||||||
|
|
||||||
@@ -2479,7 +2485,6 @@ extern void bta_dm_ble_big_sync_terminate(tBTA_DM_MSG *p_data);
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
extern void bta_dm_ble_iso_set_data_path(tBTA_DM_MSG *p_data);
|
extern void bta_dm_ble_iso_set_data_path(tBTA_DM_MSG *p_data);
|
||||||
extern void bta_dm_ble_iso_remove_data_path(tBTA_DM_MSG *p_data);
|
extern void bta_dm_ble_iso_remove_data_path(tBTA_DM_MSG *p_data);
|
||||||
extern void bta_dm_ble_iso_set_host_feature(tBTA_DM_MSG *p_data);
|
|
||||||
extern void bta_dm_ble_iso_read_tx_sync(tBTA_DM_MSG *p_data);
|
extern void bta_dm_ble_iso_read_tx_sync(tBTA_DM_MSG *p_data);
|
||||||
void bta_dm_ble_iso_read_link_quality(tBTA_DM_MSG *p_data);
|
void bta_dm_ble_iso_read_link_quality(tBTA_DM_MSG *p_data);
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -2525,4 +2530,7 @@ void bta_dm_api_set_trans_power_reporting_en(tBTA_DM_MSG *p_data);
|
|||||||
void bta_dm_api_set_default_subrate(tBTA_DM_MSG *p_data);
|
void bta_dm_api_set_default_subrate(tBTA_DM_MSG *p_data);
|
||||||
void bta_dm_api_subrate_request(tBTA_DM_MSG *p_data);
|
void bta_dm_api_subrate_request(tBTA_DM_MSG *p_data);
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
extern void bta_dm_ble_set_host_feature(tBTA_DM_MSG *p_data);
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
#endif /* BTA_DM_INT_H */
|
#endif /* BTA_DM_INT_H */
|
||||||
|
@@ -1694,6 +1694,9 @@ typedef struct {
|
|||||||
#define BTA_BLE_GAP_SUBRATE_REQUEST_EVT BTM_BLE_GAP_SUBRATE_REQUEST_EVT
|
#define BTA_BLE_GAP_SUBRATE_REQUEST_EVT BTM_BLE_GAP_SUBRATE_REQUEST_EVT
|
||||||
#define BTA_BLE_GAP_SUBRATE_CHANGE_EVT BTM_BLE_GAP_SUBRATE_CHANGE_EVT
|
#define BTA_BLE_GAP_SUBRATE_CHANGE_EVT BTM_BLE_GAP_SUBRATE_CHANGE_EVT
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
#define BTA_BLE_GAP_SET_HOST_FEATURE_EVT BTM_BLE_GAP_SET_HOST_FEATURE_EVT
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
#define BTA_DM_BLE_5_GAP_UNKNOWN_EVT BTM_BLE_5_GAP_UNKNOWN_EVT
|
#define BTA_DM_BLE_5_GAP_UNKNOWN_EVT BTM_BLE_5_GAP_UNKNOWN_EVT
|
||||||
typedef tBTM_BLE_5_GAP_EVENT tBTA_DM_BLE_5_GAP_EVENT;
|
typedef tBTM_BLE_5_GAP_EVENT tBTA_DM_BLE_5_GAP_EVENT;
|
||||||
@@ -1717,7 +1720,6 @@ extern tBTM_BLE_5_HCI_CBACK ble_5_hci_cb;
|
|||||||
#define BTA_BLE_ISO_BIGINFO_ADV_REPORT_EVT BTM_BLE_ISO_BIGINFO_ADV_REPORT_EVT
|
#define BTA_BLE_ISO_BIGINFO_ADV_REPORT_EVT BTM_BLE_ISO_BIGINFO_ADV_REPORT_EVT
|
||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
#define BTA_BLE_ISO_DATA_PATH_UPFATE_EVT BTM_BLE_ISO_DATA_PATH_UPFATE_EVT
|
#define BTA_BLE_ISO_DATA_PATH_UPFATE_EVT BTM_BLE_ISO_DATA_PATH_UPFATE_EVT
|
||||||
#define BTA_BLE_ISO_SET_HOST_FEATURE_EVT BTM_BLE_ISO_SET_HOST_FEATURE_EVT
|
|
||||||
#define BTA_BLE_ISO_READ_TX_SYNC_EVT BTM_BLE_ISO_READ_TX_SYNC_EVT
|
#define BTA_BLE_ISO_READ_TX_SYNC_EVT BTM_BLE_ISO_READ_TX_SYNC_EVT
|
||||||
#define BTA_BLE_ISO_READ_LINK_QUALITY_EVT BTM_BLE_ISO_READ_LINK_QUALITY_EVT
|
#define BTA_BLE_ISO_READ_LINK_QUALITY_EVT BTM_BLE_ISO_READ_LINK_QUALITY_EVT
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -3084,6 +3086,10 @@ void BTA_DmBleGapSubrateReqest(uint16_t conn_handle, uint16_t subrate_min, uint1
|
|||||||
uint16_t max_latency, uint16_t continuation_number, uint16_t supervision_timeout);
|
uint16_t max_latency, uint16_t continuation_number, uint16_t supervision_timeout);
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
extern void BTA_DmBleGapSetHostFeature(uint16_t bit_num, uint8_t bit_val);
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
** Function BTA_DmBleSetStorageParams
|
** Function BTA_DmBleSetStorageParams
|
||||||
@@ -3371,7 +3377,6 @@ extern void BTA_DmBleGapIsoBigSyncTerminate(tBTA_DM_BLE_BIG_SYNC_TERMINATE_PARAM
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
extern void BTA_DmBleGapIsoDataPathSet(tBTA_DM_BLE_ISO_SET_DATA_PATH_PARAMS *p_iso_data_path_param);
|
extern void BTA_DmBleGapIsoDataPathSet(tBTA_DM_BLE_ISO_SET_DATA_PATH_PARAMS *p_iso_data_path_param);
|
||||||
extern void BTA_DmBleGapIsoDataPathRemove(tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS *p_iso_data_path_param);
|
extern void BTA_DmBleGapIsoDataPathRemove(tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS *p_iso_data_path_param);
|
||||||
extern void BTA_DmBleGapIsoSetHostFeature(uint16_t bit_num, uint8_t bit_val);
|
|
||||||
extern void BTA_DmBleGapIsoReadTxSync(uint16_t iso_handle);
|
extern void BTA_DmBleGapIsoReadTxSync(uint16_t iso_handle);
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
extern void BTA_DmBleIsoSetCigParams(uint8_t cig_id, uint32_t sdu_int_c_to_p, uint32_t sdu_int_p_to_c, uint8_t worse_case_SCA, uint8_t packing,
|
extern void BTA_DmBleIsoSetCigParams(uint8_t cig_id, uint32_t sdu_int_c_to_p, uint32_t sdu_int_p_to_c, uint8_t worse_case_SCA, uint8_t packing,
|
||||||
|
@@ -1270,6 +1270,12 @@ static void btc_ble_5_gap_callback(tBTA_DM_BLE_5_GAP_EVENT event,
|
|||||||
param.subrate_change_evt.supervision_timeout = params->subrate_change_evt.supervision_timeout;
|
param.subrate_change_evt.supervision_timeout = params->subrate_change_evt.supervision_timeout;
|
||||||
break;
|
break;
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
case BTA_BLE_GAP_SET_HOST_FEATURE_EVT:
|
||||||
|
msg.act = ESP_GAP_BLE_SET_HOST_FEATURE_CMPL_EVT;
|
||||||
|
param.host_feature.status = btc_btm_status_to_esp_status(params->status);
|
||||||
|
break;
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2621,6 +2627,11 @@ void btc_gap_ble_call_handler(btc_msg_t *msg)
|
|||||||
arg_5->subrate_req_param.max_latency, arg_5->subrate_req_param.continuation_number, arg_5->subrate_req_param.supervision_timeout);
|
arg_5->subrate_req_param.max_latency, arg_5->subrate_req_param.continuation_number, arg_5->subrate_req_param.supervision_timeout);
|
||||||
break;
|
break;
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
case BTC_GAP_ACT_SET_HOST_FEATURE:
|
||||||
|
BTA_DmBleGapSetHostFeature(arg_5->set_host_feature_params.bit_num, arg_5->set_host_feature_params.bit_val);
|
||||||
|
break;
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -133,6 +133,9 @@ typedef enum {
|
|||||||
BTC_GAP_BLE_SET_DEFALT_SUBRATE,
|
BTC_GAP_BLE_SET_DEFALT_SUBRATE,
|
||||||
BTC_GAP_BLE_SUBRATE_REQUEST,
|
BTC_GAP_BLE_SUBRATE_REQUEST,
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
BTC_GAP_ACT_SET_HOST_FEATURE,
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
} btc_gap_ble_act_t;
|
} btc_gap_ble_act_t;
|
||||||
|
|
||||||
/* btc_ble_gap_args_t */
|
/* btc_ble_gap_args_t */
|
||||||
@@ -519,6 +522,10 @@ typedef union {
|
|||||||
uint16_t supervision_timeout;
|
uint16_t supervision_timeout;
|
||||||
} subrate_req_param;
|
} subrate_req_param;
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
struct set_host_feature_arg {
|
||||||
|
uint16_t bit_num;
|
||||||
|
uint8_t bit_val;
|
||||||
|
} set_host_feature_params;
|
||||||
} btc_ble_5_gap_args_t;
|
} btc_ble_5_gap_args_t;
|
||||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
|
@@ -52,7 +52,6 @@ typedef enum {
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
BTC_ISO_ACT_SET_DATA_PATH,
|
BTC_ISO_ACT_SET_DATA_PATH,
|
||||||
BTC_ISO_ACT_REMOVE_DATA_PATH,
|
BTC_ISO_ACT_REMOVE_DATA_PATH,
|
||||||
BTC_ISO_ACT_SET_HOST_FEATURE,
|
|
||||||
BTC_ISO_ACT_READ_ISO_TX_SYNC,
|
BTC_ISO_ACT_READ_ISO_TX_SYNC,
|
||||||
BTC_ISO_ACT_READ_ISO_LINK_QUALITY,
|
BTC_ISO_ACT_READ_ISO_LINK_QUALITY,
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -146,11 +145,6 @@ typedef union {
|
|||||||
uint8_t data_path_dir;
|
uint8_t data_path_dir;
|
||||||
} iso_remove_data_path_params;
|
} iso_remove_data_path_params;
|
||||||
|
|
||||||
struct iso_set_host_feature_arg {
|
|
||||||
uint16_t bit_num;
|
|
||||||
uint8_t bit_val;
|
|
||||||
} iso_set_host_feature_params;
|
|
||||||
|
|
||||||
struct iso_read_tx_sync_arg {
|
struct iso_read_tx_sync_arg {
|
||||||
uint16_t iso_handle;
|
uint16_t iso_handle;
|
||||||
} iso_read_tx_sync_params;
|
} iso_read_tx_sync_params;
|
||||||
|
@@ -112,10 +112,6 @@ static void btc_ble_iso_callback(tBTM_BLE_ISO_EVENT event,
|
|||||||
param.data_path.status = btc_btm_status_to_esp_status(params->btm_data_path_update.status);
|
param.data_path.status = btc_btm_status_to_esp_status(params->btm_data_path_update.status);
|
||||||
param.data_path.iso_hdl = params->btm_data_path_update.conn_hdl;
|
param.data_path.iso_hdl = params->btm_data_path_update.conn_hdl;
|
||||||
break;
|
break;
|
||||||
case BTA_BLE_ISO_SET_HOST_FEATURE_EVT:
|
|
||||||
msg.act = ESP_BLE_ISO_SET_HOST_FEATURE_CMPL_EVT;
|
|
||||||
param.host_feature.status = btc_btm_status_to_esp_status(params->status);
|
|
||||||
break;
|
|
||||||
case BTA_BLE_ISO_READ_TX_SYNC_EVT:
|
case BTA_BLE_ISO_READ_TX_SYNC_EVT:
|
||||||
msg.act = ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT;
|
msg.act = ESP_BLE_ISO_READ_ISO_TX_SYNC_CMPL_EVT;
|
||||||
param.read_tx_sync.status = btc_btm_status_to_esp_status(params->btm_read_tx_sync.status);
|
param.read_tx_sync.status = btc_btm_status_to_esp_status(params->btm_read_tx_sync.status);
|
||||||
@@ -329,9 +325,6 @@ void btc_iso_ble_call_handler(btc_msg_t *msg)
|
|||||||
case BTC_ISO_ACT_REMOVE_DATA_PATH:
|
case BTC_ISO_ACT_REMOVE_DATA_PATH:
|
||||||
BTA_DmBleGapIsoDataPathRemove((tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS *)&arg->iso_remove_data_path_params);
|
BTA_DmBleGapIsoDataPathRemove((tBTA_DM_BLE_ISO_REMOVE_DATA_PATH_PARAMS *)&arg->iso_remove_data_path_params);
|
||||||
break;
|
break;
|
||||||
case BTC_ISO_ACT_SET_HOST_FEATURE:
|
|
||||||
BTA_DmBleGapIsoSetHostFeature(arg->iso_set_host_feature_params.bit_num, arg->iso_set_host_feature_params.bit_val);
|
|
||||||
break;
|
|
||||||
case BTC_ISO_ACT_READ_ISO_TX_SYNC:
|
case BTC_ISO_ACT_READ_ISO_TX_SYNC:
|
||||||
BTA_DmBleGapIsoReadTxSync(arg->iso_read_tx_sync_params.iso_handle);
|
BTA_DmBleGapIsoReadTxSync(arg->iso_read_tx_sync_params.iso_handle);
|
||||||
break;
|
break;
|
||||||
|
@@ -1707,3 +1707,24 @@ void btm_ble_subrate_change_evt(tBTM_BLE_SUBRATE_CHANGE_EVT *params)
|
|||||||
BTM_ExtBleCallbackTrigger(BTM_BLE_GAP_SUBRATE_CHANGE_EVT, (tBTM_BLE_5_GAP_CB_PARAMS *)params);
|
BTM_ExtBleCallbackTrigger(BTM_BLE_GAP_SUBRATE_CHANGE_EVT, (tBTM_BLE_5_GAP_CB_PARAMS *)params);
|
||||||
}
|
}
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
tBTM_STATUS BTM_BleSetHostFeature(uint16_t bit_num, uint8_t bit_val)
|
||||||
|
{
|
||||||
|
tHCI_STATUS err = HCI_SUCCESS;
|
||||||
|
tBTM_STATUS status = BTM_SUCCESS;
|
||||||
|
tBTM_BLE_5_GAP_CB_PARAMS cb_params = {0};
|
||||||
|
|
||||||
|
BTM_TRACE_DEBUG("BTM_BleSetHostFeature bit_num %d bit_value %d\n", bit_num, bit_val);
|
||||||
|
|
||||||
|
if ((err = btsnd_hcic_ble_set_host_feature(bit_num, bit_val)) != HCI_SUCCESS) {
|
||||||
|
BTM_TRACE_ERROR("set host feature, cmd err=0x%x", err);
|
||||||
|
status = BTM_HCI_ERROR | err;
|
||||||
|
}
|
||||||
|
|
||||||
|
cb_params.status = status;
|
||||||
|
BTM_ExtBleCallbackTrigger(BTM_BLE_GAP_SET_HOST_FEATURE_EVT, &cb_params);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
@@ -393,25 +393,6 @@ tBTM_STATUS BTM_BleIsoRemoveDataPath(uint16_t conn_handle, uint8_t data_path_dir
|
|||||||
return BTM_SUCCESS;
|
return BTM_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
tBTM_STATUS BTM_BleIsoSetHostFeature(uint16_t bit_num, uint8_t bit_val)
|
|
||||||
{
|
|
||||||
tHCI_STATUS err = HCI_SUCCESS;
|
|
||||||
tBTM_STATUS status = BTM_SUCCESS;
|
|
||||||
tBTM_BLE_ISO_CB_PARAMS cb_params = {0};
|
|
||||||
|
|
||||||
BTM_TRACE_DEBUG("BTM_BleIsoSetHostFeature bit_num %d bit_value %d\n", bit_num, bit_val);
|
|
||||||
|
|
||||||
if ((err = btsnd_hcic_ble_iso_set_host_feature(bit_num, bit_val)) != HCI_SUCCESS) {
|
|
||||||
BTM_TRACE_ERROR("iso set host feature, cmd err=0x%x", err);
|
|
||||||
status = BTM_HCI_ERROR | err;
|
|
||||||
}
|
|
||||||
|
|
||||||
cb_params.status = status;
|
|
||||||
BTM_IsoBleCallbackTrigger(BTM_BLE_ISO_SET_HOST_FEATURE_EVT, &cb_params);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
tBTM_STATUS BTM_BleIsoReadTxSync(uint16_t iso_hdl)
|
tBTM_STATUS BTM_BleIsoReadTxSync(uint16_t iso_hdl)
|
||||||
{
|
{
|
||||||
tHCI_STATUS err = HCI_SUCCESS;
|
tHCI_STATUS err = HCI_SUCCESS;
|
||||||
|
@@ -2201,33 +2201,6 @@ UINT8 btsnd_hcic_ble_iso_remove_data_path(uint16_t conn_handle, uint8_t data_pat
|
|||||||
return btu_hcif_send_cmd_sync(LOCAL_BR_EDR_CONTROLLER_ID, p);
|
return btu_hcif_send_cmd_sync(LOCAL_BR_EDR_CONTROLLER_ID, p);
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT8 btsnd_hcic_ble_iso_set_host_feature(uint16_t bit_num, uint8_t bit_val)
|
|
||||||
{
|
|
||||||
BT_HDR *p;
|
|
||||||
UINT8 *pp;
|
|
||||||
|
|
||||||
HCI_TRACE_DEBUG("hci set host feature: bit_num %d bit_val %d", bit_num, bit_val);
|
|
||||||
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
|
||||||
HCIC_BLE_CMD_CREATED(p, pp, HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS_V2);
|
|
||||||
#else
|
|
||||||
HCIC_BLE_CMD_CREATED(p, pp, HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS);
|
|
||||||
#endif // #if (BLE_FEAT_ISO_60_EN == TRUE)
|
|
||||||
pp = (UINT8 *)(p + 1);
|
|
||||||
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
|
||||||
UINT16_TO_STREAM(pp, HCI_BLE_ISO_SET_HOST_FEATURE_V2);
|
|
||||||
UINT8_TO_STREAM(pp, HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS_V2);
|
|
||||||
// Bit_Number V1
|
|
||||||
UINT16_TO_STREAM(pp, bit_num);
|
|
||||||
#else
|
|
||||||
UINT16_TO_STREAM(pp, HCI_BLE_ISO_SET_HOST_FEATURE);
|
|
||||||
UINT8_TO_STREAM(pp, HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS);
|
|
||||||
// Bit_Number V1
|
|
||||||
UINT8_TO_STREAM(pp, bit_num);
|
|
||||||
#endif // #if (BLE_FEAT_ISO_60_EN == TRUE)
|
|
||||||
UINT8_TO_STREAM(pp, bit_val);
|
|
||||||
return btu_hcif_send_cmd_sync(LOCAL_BR_EDR_CONTROLLER_ID, p);
|
|
||||||
}
|
|
||||||
|
|
||||||
UINT8 btsnd_hcic_ble_iso_read_tx_sync(uint16_t iso_hdl)
|
UINT8 btsnd_hcic_ble_iso_read_tx_sync(uint16_t iso_hdl)
|
||||||
{
|
{
|
||||||
BT_HDR *p;
|
BT_HDR *p;
|
||||||
@@ -2804,3 +2777,32 @@ UINT8 btsnd_hcic_ble_subrate_request(UINT16 conn_handle, UINT16 subrate_min, UIN
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
UINT8 btsnd_hcic_ble_set_host_feature(uint16_t bit_num, uint8_t bit_val)
|
||||||
|
{
|
||||||
|
BT_HDR *p;
|
||||||
|
UINT8 *pp;
|
||||||
|
|
||||||
|
HCI_TRACE_DEBUG("hci set host feature: bit_num %d bit_val %d", bit_num, bit_val);
|
||||||
|
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
||||||
|
HCIC_BLE_CMD_CREATED(p, pp, HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS_V2);
|
||||||
|
#else
|
||||||
|
HCIC_BLE_CMD_CREATED(p, pp, HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS);
|
||||||
|
#endif // #if (BLE_FEAT_ISO_60_EN == TRUE)
|
||||||
|
pp = (UINT8 *)(p + 1);
|
||||||
|
#if (BLE_FEAT_ISO_60_EN == TRUE)
|
||||||
|
UINT16_TO_STREAM(pp, HCI_BLE_SET_HOST_FEATURE_V2);
|
||||||
|
UINT8_TO_STREAM(pp, HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS_V2);
|
||||||
|
// Bit_Number V1
|
||||||
|
UINT16_TO_STREAM(pp, bit_num);
|
||||||
|
#else
|
||||||
|
UINT16_TO_STREAM(pp, HCI_BLE_SET_HOST_FEATURE);
|
||||||
|
UINT8_TO_STREAM(pp, HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS);
|
||||||
|
// Bit_Number V1
|
||||||
|
UINT8_TO_STREAM(pp, bit_num);
|
||||||
|
#endif // #if (BLE_FEAT_ISO_60_EN == TRUE)
|
||||||
|
UINT8_TO_STREAM(pp, bit_val);
|
||||||
|
return btu_hcif_send_cmd_sync(LOCAL_BR_EDR_CONTROLLER_ID, p);
|
||||||
|
}
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
@@ -1086,7 +1086,10 @@ typedef void (tBTM_SET_VENDOR_EVT_MASK_CBACK) (tBTM_STATUS status);
|
|||||||
#define BTM_BLE_GAP_SUBRATE_REQUEST_EVT 49
|
#define BTM_BLE_GAP_SUBRATE_REQUEST_EVT 49
|
||||||
#define BTM_BLE_GAP_SUBRATE_CHANGE_EVT 50
|
#define BTM_BLE_GAP_SUBRATE_CHANGE_EVT 50
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
#define BTM_BLE_5_GAP_UNKNOWN_EVT 51
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
#define BTM_BLE_GAP_SET_HOST_FEATURE_EVT 51
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
#define BTM_BLE_5_GAP_UNKNOWN_EVT 52
|
||||||
typedef UINT8 tBTM_BLE_5_GAP_EVENT;
|
typedef UINT8 tBTM_BLE_5_GAP_EVENT;
|
||||||
|
|
||||||
#if (BLE_FEAT_ISO_EN == TRUE)
|
#if (BLE_FEAT_ISO_EN == TRUE)
|
||||||
@@ -1101,7 +1104,6 @@ typedef UINT8 tBTM_BLE_5_GAP_EVENT;
|
|||||||
#define BTM_BLE_ISO_BIGINFO_ADV_REPORT_EVT 6
|
#define BTM_BLE_ISO_BIGINFO_ADV_REPORT_EVT 6
|
||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
#define BTM_BLE_ISO_DATA_PATH_UPFATE_EVT 7
|
#define BTM_BLE_ISO_DATA_PATH_UPFATE_EVT 7
|
||||||
#define BTM_BLE_ISO_SET_HOST_FEATURE_EVT 8
|
|
||||||
#define BTM_BLE_ISO_READ_TX_SYNC_EVT 9
|
#define BTM_BLE_ISO_READ_TX_SYNC_EVT 9
|
||||||
#define BTM_BLE_ISO_READ_LINK_QUALITY_EVT 10
|
#define BTM_BLE_ISO_READ_LINK_QUALITY_EVT 10
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
@@ -3296,8 +3298,6 @@ tBTM_STATUS BTM_BleIsoSetDataPath(uint16_t conn_handle, uint8_t data_path_dir, u
|
|||||||
uint8_t *codec_cfg);
|
uint8_t *codec_cfg);
|
||||||
tBTM_STATUS BTM_BleIsoRemoveDataPath(uint16_t conn_handle, uint8_t data_path_dir);
|
tBTM_STATUS BTM_BleIsoRemoveDataPath(uint16_t conn_handle, uint8_t data_path_dir);
|
||||||
|
|
||||||
tBTM_STATUS BTM_BleIsoSetHostFeature(uint16_t bit_num, uint8_t bit_val);
|
|
||||||
|
|
||||||
tBTM_STATUS BTM_BleIsoReadTxSync(uint16_t iso_hdl);
|
tBTM_STATUS BTM_BleIsoReadTxSync(uint16_t iso_hdl);
|
||||||
tBTM_STATUS BTM_BleIsoReadLinkQuality(uint16_t iso_hdl);
|
tBTM_STATUS BTM_BleIsoReadLinkQuality(uint16_t iso_hdl);
|
||||||
|
|
||||||
@@ -3355,5 +3355,7 @@ void BTM_BleSetDefaultSubrate(UINT16 subrate_min, UINT16 subrate_max, UINT16 max
|
|||||||
void BTM_BleSubrateRequest(UINT16 conn_handle, UINT16 subrate_min, UINT16 subrate_max,
|
void BTM_BleSubrateRequest(UINT16 conn_handle, UINT16 subrate_min, UINT16 subrate_max,
|
||||||
UINT16 max_latency, UINT16 continuation_number, UINT16 supervision_timeout);
|
UINT16 max_latency, UINT16 continuation_number, UINT16 supervision_timeout);
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
tBTM_STATUS BTM_BleSetHostFeature(uint16_t bit_num, uint8_t bit_val);
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
#endif
|
#endif
|
||||||
|
@@ -426,9 +426,9 @@
|
|||||||
#define HCI_BLE_BIG_TERMINATE_SYNC (0x006C | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_BIG_TERMINATE_SYNC (0x006C | HCI_GRP_BLE_CMDS)
|
||||||
#define HCI_BLE_ISO_SET_DATA_PATH (0x006E | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_ISO_SET_DATA_PATH (0x006E | HCI_GRP_BLE_CMDS)
|
||||||
#define HCI_BLE_ISO_REMOVE_DATA_PATH (0x006F | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_ISO_REMOVE_DATA_PATH (0x006F | HCI_GRP_BLE_CMDS)
|
||||||
#define HCI_BLE_ISO_SET_HOST_FEATURE (0x0074 | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_SET_HOST_FEATURE (0x0074 | HCI_GRP_BLE_CMDS)
|
||||||
#define HCI_BLE_ISO_READ_ISO_LINK_QUALITY (0x0075 | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_ISO_READ_ISO_LINK_QUALITY (0x0075 | HCI_GRP_BLE_CMDS)
|
||||||
#define HCI_BLE_ISO_SET_HOST_FEATURE_V2 (0x0097 | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_SET_HOST_FEATURE_V2 (0x0097 | HCI_GRP_BLE_CMDS)
|
||||||
|
|
||||||
#if (BLE_FEAT_POWER_CONTROL_EN == TRUE)
|
#if (BLE_FEAT_POWER_CONTROL_EN == TRUE)
|
||||||
#define HCI_BLE_ENH_READ_TRANS_POWER_LEVEL (0x0076 | HCI_GRP_BLE_CMDS)
|
#define HCI_BLE_ENH_READ_TRANS_POWER_LEVEL (0x0076 | HCI_GRP_BLE_CMDS)
|
||||||
|
@@ -1103,8 +1103,6 @@ UINT8 btsnd_hcic_ble_set_default_periodic_adv_sync_trans_params(UINT8 mode, UINT
|
|||||||
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
#endif // #if (BLE_FEAT_ISO_BIG_SYNCER_EN == TRUE)
|
||||||
#define HCIC_PARAM_SIZE_ISO_SET_DATA_PATH_PARAMS 13
|
#define HCIC_PARAM_SIZE_ISO_SET_DATA_PATH_PARAMS 13
|
||||||
#define HCIC_PARAM_SIZE_ISO_REMOVE_DATA_PATH_PARAMS 3
|
#define HCIC_PARAM_SIZE_ISO_REMOVE_DATA_PATH_PARAMS 3
|
||||||
#define HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS 2
|
|
||||||
#define HCIC_PARAM_SIZE_ISO_SET_HOST_FEATURE_PARAMS_V2 3
|
|
||||||
|
|
||||||
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
#if (BLE_FEAT_ISO_CIG_CENTRAL_EN == TRUE)
|
||||||
struct ble_hci_le_cis_params {
|
struct ble_hci_le_cis_params {
|
||||||
@@ -1178,8 +1176,6 @@ UINT8 btsnd_hcic_ble_iso_set_data_path(uint16_t conn_handle, uint8_t data_path_d
|
|||||||
uint8_t *codec_cfg);
|
uint8_t *codec_cfg);
|
||||||
UINT8 btsnd_hcic_ble_iso_remove_data_path(uint16_t conn_handle, uint8_t data_path_dir);
|
UINT8 btsnd_hcic_ble_iso_remove_data_path(uint16_t conn_handle, uint8_t data_path_dir);
|
||||||
|
|
||||||
UINT8 btsnd_hcic_ble_iso_set_host_feature(uint16_t bit_num, uint8_t bit_val);
|
|
||||||
|
|
||||||
UINT8 btsnd_hcic_ble_iso_read_tx_sync(uint16_t iso_hdl);
|
UINT8 btsnd_hcic_ble_iso_read_tx_sync(uint16_t iso_hdl);
|
||||||
|
|
||||||
UINT8 btsnd_hcic_ble_iso_read_iso_link_quality(uint16_t iso_hdl);
|
UINT8 btsnd_hcic_ble_iso_read_iso_link_quality(uint16_t iso_hdl);
|
||||||
@@ -1241,4 +1237,10 @@ UINT8 btsnd_hcic_ble_subrate_request(UINT16 conn_handle, UINT16 subrate_min, UIN
|
|||||||
UINT16 continuation_number, UINT16 supervision_timeout);
|
UINT16 continuation_number, UINT16 supervision_timeout);
|
||||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||||
|
|
||||||
|
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
#define HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS 2
|
||||||
|
#define HCIC_PARAM_SIZE_SET_HOST_FEATURE_PARAMS_V2 3
|
||||||
|
UINT8 btsnd_hcic_ble_set_host_feature(uint16_t bit_num, uint8_t bit_val);
|
||||||
|
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user