feat(bt): Add API to get some information of Classic Bluetooth profile

This commit is contained in:
xiongweichao
2025-04-18 10:48:37 +08:00
parent b33394907b
commit f02e35363b
14 changed files with 102 additions and 14 deletions
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -294,6 +294,15 @@ typedef struct {
uint8_t attr_val; /*!< player application attribute value */
} esp_avrc_set_app_value_param_t;
/**
* @brief AVRCP profile status parameters
*/
typedef struct {
bool avrc_ct_inited; /*!< AVRCP CT initialization */
bool avrc_tg_inited; /*!< AVRCP TG initialization */
uint8_t ct_cover_art_conn_num; /*!< Number of cover art client connections */
} esp_avrc_profile_status_t;
/// AVRC controller callback parameters
typedef union {
/**
@@ -870,6 +879,16 @@ esp_err_t esp_avrc_ct_cover_art_get_image(uint8_t *image_handle, uint8_t *image_
*/
esp_err_t esp_avrc_ct_cover_art_get_linked_thumbnail(uint8_t *image_handle);
/**
* @brief This function is used to get the status of AVRCP
*
* @param[out] profile_status - AVRCP status
*
* @return
* - ESP_OK: success
* - other: failed
*/
esp_err_t esp_avrc_get_profile_status(esp_avrc_profile_status_t *profile_status);
#ifdef __cplusplus
}
@@ -306,6 +306,8 @@ typedef uint8_t esp_ble_key_mask_t; /* the key mask type */
#define ESP_BLE_ADV_NAME_LEN_MAX 29
#define ESP_INVALID_CONN_HANDLE 0xfff
#ifdef __cplusplus
}
#endif
@@ -79,7 +79,8 @@ typedef enum
/// HFP AG profile status parameters
typedef struct {
bool hfp_ag_inited; /*!< hfp ag initialization */
uint8_t conn_num; /*!< Number of connections */
uint8_t slc_conn_num; /*!< Number of Service Level Connections */
uint8_t sync_conn_num; /*!< Number of (e)SCO Connections */
} esp_hf_profile_status_t;
/// HFP AG callback parameters
@@ -48,7 +48,8 @@ typedef enum {
*/
typedef struct {
bool hf_client_inited; /*!< hf client initialization */
uint8_t conn_num; /*!< Number of connections */
uint8_t slc_conn_num; /*!< Number of Service Level Connections */
uint8_t sync_conn_num; /*!< Number of (e)SCO Connections */
} esp_hf_client_profile_status_t;
/* features masks of AG */
@@ -151,6 +151,8 @@ typedef enum {
typedef struct {
bool hidd_inited; /*!< HID device initialization */
uint8_t conn_num; /*!< Number of connections */
uint8_t plug_vc_dev_num; /*!< Number of plugged virtual cable devices */
uint8_t reg_app_num; /*!< Number of HID device application registrations */
} esp_hidd_profile_status_t;
/**
@@ -139,6 +139,7 @@ typedef struct {
typedef struct {
bool hidh_inited; /*!< HID host initialization */
uint8_t conn_num; /*!< Number of connections */
uint8_t plug_vc_dev_num; /*!< Number of plugged virtual cable devices*/
} esp_hidh_profile_status_t;
/**