feat(bt/bluedroid): added events to indicate the profile states of HFP

This commit is contained in:
Jin Cheng
2024-04-16 10:22:44 +08:00
committed by BOT
parent 408ae4c560
commit fdcf89ae6b
7 changed files with 124 additions and 20 deletions
@@ -46,6 +46,7 @@ const char *c_hf_evt_str[] = {
"WBS_EVT", /*!< CURRENT CODEC EVT */
"BCS_EVT", /*!< CODEC NEGO EVT */
"PKT_STAT_EVT", /*!< REQUEST PACKET STATUS EVT */
"PROF_STATE_EVT", /*!< Indicate HF init or deinit complete */
};
//esp_hf_connection_state_t
@@ -293,7 +294,7 @@ void bt_app_send_data_shut_down(void)
void bt_app_hf_cb(esp_hf_cb_event_t event, esp_hf_cb_param_t *param)
{
if (event <= ESP_HF_PKT_STAT_NUMS_GET_EVT) {
if (event <= ESP_HF_PROF_STATE_EVT) {
ESP_LOGI(BT_HF_TAG, "APP HFP event: %s", c_hf_evt_str[event]);
} else {
ESP_LOGE(BT_HF_TAG, "APP HFP invalid event %d", event);
@@ -499,6 +500,17 @@ void bt_app_hf_cb(esp_hf_cb_event_t event, esp_hf_cb_param_t *param)
ESP_LOGI(BT_HF_TAG, "ESP_HF_PKT_STAT_NUMS_GET_EVT: %d.", event);
break;
}
case ESP_HF_PROF_STATE_EVT:
{
if (ESP_HF_INIT_SUCCESS == param->prof_stat.state) {
ESP_LOGI(BT_HF_TAG, "AG PROF STATE: Init Complete");
} else if (ESP_HF_DEINIT_SUCCESS == param->prof_stat.state) {
ESP_LOGI(BT_HF_TAG, "AG PROF STATE: Deinit Complete");
} else {
ESP_LOGE(BT_HF_TAG, "AG PROF STATE error: %d", param->prof_stat.state);
}
break;
}
default:
ESP_LOGI(BT_HF_TAG, "Unsupported HF_AG EVT: %d.", event);
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Unlicense OR CC0-1.0
*/
@@ -49,6 +49,7 @@ const char *c_hf_evt_str[] = {
"LAST_VOICE_TAG_NUMBER_EVT", /*!< requested number from AG event */
"RING_IND_EVT", /*!< ring indication event */
"PKT_STAT_EVT", /*!< requested number of packet status event */
"PROF_STATE_EVT", /*!< Indicate HF CLIENT init or deinit complete */
};
// esp_hf_client_connection_state_t
@@ -229,7 +230,7 @@ static void bt_app_hf_client_incoming_cb(const uint8_t *buf, uint32_t sz)
/* callback for HF_CLIENT */
void bt_app_hf_client_cb(esp_hf_client_cb_event_t event, esp_hf_client_cb_param_t *param)
{
if (event <= ESP_HF_CLIENT_PKT_STAT_NUMS_GET_EVT) {
if (event <= ESP_HF_CLIENT_PROF_STATE_EVT) {
ESP_LOGI(BT_HF_TAG, "APP HFP event: %s", c_hf_evt_str[event]);
} else {
ESP_LOGE(BT_HF_TAG, "APP HFP invalid event %d", event);
@@ -399,6 +400,17 @@ void bt_app_hf_client_cb(esp_hf_client_cb_event_t event, esp_hf_client_cb_param_
ESP_LOGE(BT_HF_TAG, "ESP_HF_CLIENT_PKT_STAT_NUMS_GET_EVT: %d", event);
break;
}
case ESP_HF_CLIENT_PROF_STATE_EVT:
{
if (ESP_HF_INIT_SUCCESS == param->prof_stat.state) {
ESP_LOGI(BT_HF_TAG, "HF PROF STATE: Init Complete");
} else if (ESP_HF_DEINIT_SUCCESS == param->prof_stat.state) {
ESP_LOGI(BT_HF_TAG, "HF PROF STATE: Deinit Complete");
} else {
ESP_LOGE(BT_HF_TAG, "HF PROF STATE error: %d", param->prof_stat.state);
}
break;
}
default:
ESP_LOGE(BT_HF_TAG, "HF_CLIENT EVT: %d", event);
break;