docs(bt): update Classic Bluetooth api reference of AVRCP

This commit is contained in:
yangfeng
2025-12-10 12:16:28 +08:00
parent 5da8d6df53
commit d3944162d8
2 changed files with 32 additions and 17 deletions
@@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -18,9 +18,9 @@ extern "C" {
#define ESP_AVRC_TRANS_LABEL_MAX 15 /*!< max transaction label */ #define ESP_AVRC_TRANS_LABEL_MAX 15 /*!< max transaction label */
#define ESP_AVRC_CA_IMAGE_HANDLE_LEN 7 /* The image handle length is fixed to 7, specified by Basic Image Profile */ #define ESP_AVRC_CA_IMAGE_HANDLE_LEN 7 /*!< The image handle length is fixed to 7, specified by Basic Image Profile */
#define ESP_AVRC_CA_MTU_MIN 255 /* Minimal MTU can be used in Cover Art OBEX connection */ #define ESP_AVRC_CA_MTU_MIN 255 /*!< Minimal MTU can be used in Cover Art OBEX connection */
#define ESP_AVRC_CA_MTU_MAX 1691 /* Maximum MTU can be used in Cover Art OBEX connection */ #define ESP_AVRC_CA_MTU_MAX 1691 /*!< Maximum MTU can be used in Cover Art OBEX connection */
/// AVRC feature bit mask /// AVRC feature bit mask
typedef enum { typedef enum {
@@ -113,7 +113,7 @@ typedef enum {
typedef enum { typedef enum {
ESP_AVRC_PSTH_FILTER_ALLOWED_CMD = 0, /*!< all of the PASSTHROUGH commands that can possibly be used, immutable */ ESP_AVRC_PSTH_FILTER_ALLOWED_CMD = 0, /*!< all of the PASSTHROUGH commands that can possibly be used, immutable */
ESP_AVRC_PSTH_FILTER_SUPPORTED_CMD = 1, /*!< PASSTHROUGH commands selectively supported according to the current configuration */ ESP_AVRC_PSTH_FILTER_SUPPORTED_CMD = 1, /*!< PASSTHROUGH commands selectively supported according to the current configuration */
ESP_AVRC_PSTH_FILTER_SUPPORT_MAX, ESP_AVRC_PSTH_FILTER_SUPPORT_MAX, /*!< Maximum value for PASSTHROUGH command filter */
} esp_avrc_psth_filter_t; } esp_avrc_psth_filter_t;
/// AVRC passthrough command bit mask /// AVRC passthrough command bit mask
@@ -121,6 +121,7 @@ typedef struct {
uint16_t bits[8]; /*!< bit mask representation of PASSTHROUGH commands */ uint16_t bits[8]; /*!< bit mask representation of PASSTHROUGH commands */
} esp_avrc_psth_bit_mask_t; } esp_avrc_psth_bit_mask_t;
/// AVRC operation code bit mask
typedef enum { typedef enum {
ESP_AVRC_BIT_MASK_OP_TEST = 0, /*!< operation code to test a specific bit */ ESP_AVRC_BIT_MASK_OP_TEST = 0, /*!< operation code to test a specific bit */
ESP_AVRC_BIT_MASK_OP_SET = 1, /*!< operation code to set a specific bit */ ESP_AVRC_BIT_MASK_OP_SET = 1, /*!< operation code to set a specific bit */
@@ -186,14 +187,14 @@ typedef enum {
ESP_AVRC_RN_ADDRESSED_PLAYER_CHANGE = 0x0b, /*!< the addressed player changed */ ESP_AVRC_RN_ADDRESSED_PLAYER_CHANGE = 0x0b, /*!< the addressed player changed */
ESP_AVRC_RN_UIDS_CHANGE = 0x0c, /*!< UIDs changed */ ESP_AVRC_RN_UIDS_CHANGE = 0x0c, /*!< UIDs changed */
ESP_AVRC_RN_VOLUME_CHANGE = 0x0d, /*!< volume changed locally on TG */ ESP_AVRC_RN_VOLUME_CHANGE = 0x0d, /*!< volume changed locally on TG */
ESP_AVRC_RN_MAX_EVT ESP_AVRC_RN_MAX_EVT /*!< maximum value for notification event */
} esp_avrc_rn_event_ids_t; } esp_avrc_rn_event_ids_t;
/// AVRC target notification event notification capability /// AVRC target notification event notification capability
typedef enum { typedef enum {
ESP_AVRC_RN_CAP_ALLOWED_EVT = 0, /*!< all of the notification events that can possibly be supported, immutable */ ESP_AVRC_RN_CAP_ALLOWED_EVT = 0, /*!< all of the notification events that can possibly be supported, immutable */
ESP_AVRC_RN_CAP_SUPPORTED_EVT = 1, /*!< notification events selectively supported according to the current configuration */ ESP_AVRC_RN_CAP_SUPPORTED_EVT = 1, /*!< notification events selectively supported according to the current configuration */
ESP_AVRC_RN_CAP_MAX, ESP_AVRC_RN_CAP_MAX, /*!< maximum value for the notification event capability */
} esp_avrc_rn_evt_cap_t; } esp_avrc_rn_evt_cap_t;
/// AVRC target notification event capability bit mask /// AVRC target notification event capability bit mask
@@ -213,7 +214,7 @@ typedef enum {
ESP_AVRC_PS_REPEAT_MODE = 0x02, /*!< repeat mode */ ESP_AVRC_PS_REPEAT_MODE = 0x02, /*!< repeat mode */
ESP_AVRC_PS_SHUFFLE_MODE = 0x03, /*!< shuffle mode */ ESP_AVRC_PS_SHUFFLE_MODE = 0x03, /*!< shuffle mode */
ESP_AVRC_PS_SCAN_MODE = 0x04, /*!< scan mode on or off */ ESP_AVRC_PS_SCAN_MODE = 0x04, /*!< scan mode on or off */
ESP_AVRC_PS_MAX_ATTR ESP_AVRC_PS_MAX_ATTR /*!< Maximum value for player setting attribute ids*/
} esp_avrc_ps_attr_ids_t; } esp_avrc_ps_attr_ids_t;
/// AVRC equalizer modes /// AVRC equalizer modes
@@ -232,9 +233,9 @@ typedef enum {
/// AVRC shuffle modes /// AVRC shuffle modes
typedef enum { typedef enum {
ESP_AVRC_PS_SHUFFLE_OFF = 0x1, /*<! shuffle off */ ESP_AVRC_PS_SHUFFLE_OFF = 0x1, /*!< shuffle off */
ESP_AVRC_PS_SHUFFLE_ALL = 0x2, /*<! shuffle all tracks */ ESP_AVRC_PS_SHUFFLE_ALL = 0x2, /*!< shuffle all tracks */
ESP_AVRC_PS_SHUFFLE_GROUP = 0x3 /*<! group shuffle */ ESP_AVRC_PS_SHUFFLE_GROUP = 0x3 /*!< group shuffle */
} esp_avrc_ps_shf_value_ids_t; } esp_avrc_ps_shf_value_ids_t;
/// AVRC scan modes /// AVRC scan modes
@@ -511,7 +512,7 @@ esp_err_t esp_avrc_ct_register_callback(esp_avrc_ct_cb_t callback);
* @brief Initialize the bluetooth AVRCP controller module, This function should be called * @brief Initialize the bluetooth AVRCP controller module, This function should be called
* after esp_bluedroid_enable() completes successfully. Note: AVRC cannot work independently, * after esp_bluedroid_enable() completes successfully. Note: AVRC cannot work independently,
* AVRC should be used along with A2DP and AVRC should be initialized before A2DP. * AVRC should be used along with A2DP and AVRC should be initialized before A2DP.
* ESP_AVRC_CT_PROF_STATE_EVT with ESP_AVRC_INIT_SUCCESS will reported to the APP layer. * `ESP_AVRC_CT_PROF_STATE_EVT` with `ESP_AVRC_INIT_SUCCESS` will be reported to the APP layer.
* *
* @return * @return
* - ESP_OK: success * - ESP_OK: success
@@ -524,9 +525,9 @@ esp_err_t esp_avrc_ct_init(void);
/** /**
* *
* @brief De-initialize AVRCP controller module. This function should be called after * @brief De-initialize AVRCP controller module. This function should be called after
* after esp_bluedroid_enable() completes successfully. Note: AVRC cannot work independently, * `esp_bluedroid_enable()` completes successfully. Note: AVRC cannot work independently,
* AVRC should be used along with A2DP and AVRC should be deinitialized before A2DP. * AVRC should be used along with A2DP and AVRC should be deinitialized before A2DP.
* ESP_AVRC_CT_PROF_STATE_EVT with ESP_AVRC_DEINIT_SUCCESS will reported to the APP layer. * `ESP_AVRC_CT_PROF_STATE_EVT` with `ESP_AVRC_DEINIT_SUCCESS` will be reported to the APP layer.
* *
* @return * @return
* - ESP_OK: success * - ESP_OK: success
@@ -702,6 +703,10 @@ esp_err_t esp_avrc_tg_deinit(void);
* passthrough commands selected to be supported according to current configuration. The * passthrough commands selected to be supported according to current configuration. The
* configuration can be changed using esp_avrc_tg_set_psth_cmd_filter(). * configuration can be changed using esp_avrc_tg_set_psth_cmd_filter().
* *
* @param[in] filter : The type of filter to retrieve.
* @param[out] cmd_set : A pointer to a bit mask that will be populated with the passthrough commands according to the filter type.
* Each bit in the mask corresponds to a specific passthrough command. This parameter should not be NULL.
*
* @return * @return
* - ESP_OK: success * - ESP_OK: success
* - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled or AVRC TG is not initialized * - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled or AVRC TG is not initialized
@@ -725,6 +730,9 @@ esp_err_t esp_avrc_tg_get_psth_cmd_filter(esp_avrc_psth_filter_t filter, esp_avr
* *
* Filter type "ESP_AVRC_PSTH_FILTER_ALLOWED_CMD" does not apply to this function. * Filter type "ESP_AVRC_PSTH_FILTER_ALLOWED_CMD" does not apply to this function.
* *
* @param[in] filter : The type of filter to set.
* @param[in] cmd_set : A pointer to the bit mask of passthrough commands to support.
*
* @return * @return
* - ESP_OK: success * - ESP_OK: success
* - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled * - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled
@@ -765,6 +773,10 @@ bool esp_avrc_psth_bit_mask_operation(esp_avrc_bit_mask_op_t op, esp_avrc_psth_b
* events selected to be supported under current configuration, The configuration can be * events selected to be supported under current configuration, The configuration can be
* changed using esp_avrc_tg_set_rn_evt_cap(). * changed using esp_avrc_tg_set_rn_evt_cap().
* *
* @param[in] cap : The type of capability to retrieve
* @param[out] evt_set : A pointer to a bit mask that will store the event notification capabilities.
* Each bit in the mask corresponds to a specific event. This parameter should not be NULL.
*
* @return * @return
* - ESP_OK: success * - ESP_OK: success
* - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled or AVRC TG is not initialized * - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled or AVRC TG is not initialized
@@ -779,6 +791,9 @@ esp_err_t esp_avrc_tg_get_rn_evt_cap(esp_avrc_rn_evt_cap_t cap, esp_avrc_rn_evt_
* bit mask representation in evt_set and must be a subset of allowed event IDs with current * bit mask representation in evt_set and must be a subset of allowed event IDs with current
* implementation. This function should be called after esp_avrc_tg_init(). * implementation. This function should be called after esp_avrc_tg_init().
* *
* @param[in] evt_set : A pointer to a bit mask representing the event notification capabilities to be set.
* Each bit in the mask corresponds to a specific event. This parameter cannot be NULL.
*
* @return * @return
* - ESP_OK: success * - ESP_OK: success
* - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled * - ESP_ERR_INVALID_STATE: if bluetooth stack is not enabled
+3 -3
View File
@@ -1,10 +1,10 @@
Bluetooth® AVRCP APIs Bluetooth® AVRCP API
===================== ====================
Overview Overview
-------- --------
Bluetooth AVRCP reference APIs. AVRCP (Audio/Video Remote Control Profile) enables remote control of audio and video devices over Bluetooth, allowing users to manage playback (play, pause, next/previous track), adjust volume, and retrieve media metadata.
Application Examples Application Examples
-------------------- --------------------