Merge branch 'change/add_convt_from_hci_state_to_esp_state_v4.4' into 'release/v4.4'

change(bt/bluedroid): Use BTC util to convert HCI status to ESP status (v4.4)

See merge request espressif/esp-idf!29924
release/v4.4
Jiang Jiang Jian 2024-04-01 14:17:23 +08:00
commit e1f8314fd7
2 zmienionych plików z 7 dodań i 3 usunięć

Wyświetl plik

@ -18,6 +18,7 @@
#include "btc/btc_common.h" #include "btc/btc_common.h"
#include "btc/btc_dm.h" #include "btc/btc_dm.h"
#include "btc/btc_main.h" #include "btc/btc_main.h"
#include "btc/btc_util.h"
#include "common/bt_trace.h" #include "common/bt_trace.h"
#include "common/bt_target.h" #include "common/bt_target.h"
#include "btc/btc_storage.h" #include "btc/btc_storage.h"
@ -702,14 +703,14 @@ static void btc_dm_acl_link_stat(tBTA_DM_ACL_LINK_STAT *p_acl_link_stat)
switch (p_acl_link_stat->event) { switch (p_acl_link_stat->event) {
case BTA_ACL_LINK_STAT_CONN_CMPL: { case BTA_ACL_LINK_STAT_CONN_CMPL: {
event = ESP_BT_GAP_ACL_CONN_CMPL_STAT_EVT; event = ESP_BT_GAP_ACL_CONN_CMPL_STAT_EVT;
param.acl_conn_cmpl_stat.stat = p_acl_link_stat->link_act.conn_cmpl.status | ESP_BT_STATUS_BASE_FOR_HCI_ERR; param.acl_conn_cmpl_stat.stat = btc_hci_to_esp_status(p_acl_link_stat->link_act.conn_cmpl.status);
param.acl_conn_cmpl_stat.handle = p_acl_link_stat->link_act.conn_cmpl.handle; param.acl_conn_cmpl_stat.handle = p_acl_link_stat->link_act.conn_cmpl.handle;
memcpy(param.acl_conn_cmpl_stat.bda, p_acl_link_stat->link_act.conn_cmpl.bd_addr, ESP_BD_ADDR_LEN); memcpy(param.acl_conn_cmpl_stat.bda, p_acl_link_stat->link_act.conn_cmpl.bd_addr, ESP_BD_ADDR_LEN);
break; break;
} }
case BTA_ACL_LINK_STAT_DISCONN_CMPL: { case BTA_ACL_LINK_STAT_DISCONN_CMPL: {
event = ESP_BT_GAP_ACL_DISCONN_CMPL_STAT_EVT; event = ESP_BT_GAP_ACL_DISCONN_CMPL_STAT_EVT;
param.acl_disconn_cmpl_stat.reason = p_acl_link_stat->link_act.disconn_cmpl.reason | ESP_BT_STATUS_BASE_FOR_HCI_ERR; param.acl_disconn_cmpl_stat.reason = btc_hci_to_esp_status(p_acl_link_stat->link_act.disconn_cmpl.reason);
param.acl_disconn_cmpl_stat.handle = p_acl_link_stat->link_act.disconn_cmpl.handle; param.acl_disconn_cmpl_stat.handle = p_acl_link_stat->link_act.disconn_cmpl.handle;
memcpy(param.acl_disconn_cmpl_stat.bda, p_acl_link_stat->link_act.disconn_cmpl.bd_addr, ESP_BD_ADDR_LEN); memcpy(param.acl_disconn_cmpl_stat.bda, p_acl_link_stat->link_act.disconn_cmpl.bd_addr, ESP_BD_ADDR_LEN);
break; break;

Wyświetl plik

@ -346,8 +346,11 @@ esp_bt_status_t btc_hci_to_esp_status(uint8_t hci_status)
case HCI_ERR_ILLEGAL_PARAMETER_FMT: case HCI_ERR_ILLEGAL_PARAMETER_FMT:
esp_status = ESP_BT_STATUS_ERR_ILLEGAL_PARAMETER_FMT; esp_status = ESP_BT_STATUS_ERR_ILLEGAL_PARAMETER_FMT;
break; break;
case HCI_ERR_UNSUPPORTED_VALUE:
esp_status = ESP_BT_STATUS_UNSUPPORTED;
break;
default: default:
esp_status = ESP_BT_STATUS_FAIL; esp_status = hci_status | ESP_BT_STATUS_BASE_FOR_HCI_ERR;
break; break;
} }