12#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AVRCP_H_
13#define ZEPHYR_INCLUDE_BLUETOOTH_AVRCP_H_
19#define BT_AVRCP_COMPANY_ID_SIZE (3)
20#define BT_AVRCP_COMPANY_ID_BLUETOOTH_SIG (0x001958)
23typedef enum __packed {
29typedef enum __packed {
46typedef enum __packed {
55typedef enum __packed {
67typedef enum __packed {
73typedef enum __packed {
139typedef enum __packed {
149typedef enum __packed {
299#define BT_AVRCP_PASSTHROUGH_GET_STATE(payload) \
300 ((bt_avrcp_opid_t)(FIELD_GET(BIT(7), ((payload)->opid_state))))
301#define BT_AVRCP_PASSTHROUGH_GET_OPID(payload) \
302 ((bt_avrcp_button_state_t)(FIELD_GET(GENMASK(6, 0), ((payload)->opid_state))))
303#define BT_AVRCP_PASSTHROUGH_SET_STATE_OPID(payload, state, opid) \
304 (payload)->opid_state = FIELD_PREP(BIT(7), state) | FIELD_PREP(GENMASK(6, 0), opid)
330typedef enum __packed {
351typedef enum __packed {
361typedef enum __packed {
368typedef enum __packed {
377#define BT_AVRCP_MAX_ABSOLUTE_VOLUME 0x7F
380typedef enum __packed {
412typedef enum __packed {
420typedef enum __packed {
426typedef enum __packed {
434typedef enum __packed {
441typedef enum __packed {
453typedef enum __packed {
664 void (*
connected)(
struct bt_conn *conn,
struct bt_avrcp_ct *ct);
1384 void (*
connected)(
struct bt_conn *conn,
struct bt_avrcp_tg *tg);
int bt_avrcp_ct_get_play_status(struct bt_avrcp_ct *ct, uint8_t tid)
Send AVRCP vendor dependent command for GET_PLAY_STATUS.
int bt_avrcp_ct_get_unit_info(struct bt_avrcp_ct *ct, uint8_t tid)
Get AVRCP Unit Info.
int bt_avrcp_ct_list_player_app_setting_vals(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t attr_id)
Send AVRCP vendor dependent command for LIST_PLAYER_APP_SETTING_VALS.
int bt_avrcp_tg_get_player_app_setting_attr_text(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_GET_PLAYER_APP_SETTING_ATTR_TEXT.
bt_avrcp_system_status_t
AVRCP System Status Code.
Definition avrcp.h:361
@ BT_AVRCP_SYSTEM_STATUS_UNPLUGGED
Definition avrcp.h:364
@ BT_AVRCP_SYSTEM_STATUS_POWER_OFF
Definition avrcp.h:363
@ BT_AVRCP_SYSTEM_STATUS_POWER_ON
Definition avrcp.h:362
bt_avrcp_button_state_t
AVRCP button state flag.
Definition avrcp.h:139
@ BT_AVRCP_BUTTON_RELEASED
Definition avrcp.h:141
@ BT_AVRCP_BUTTON_PRESSED
Definition avrcp.h:140
int bt_avrcp_ct_passthrough(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t opid, uint8_t state, const uint8_t *payload, uint8_t len)
Send AVRCP Pass Through command.
int bt_avrcp_ct_get_player_app_setting_attr_text(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for GET_PLAYER_APP_SETTING_ATTR_TEXT.
int bt_avrcp_tg_notification(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, uint8_t event_id, struct bt_avrcp_event_data *data)
Send notification response.
bt_avrcp_repeat_mode_value_t
AVRCP Player Application Setting Values for Repeat Mode.
Definition avrcp.h:426
@ BT_AVRCP_REPEAT_MODE_SINGLE_TRACK
Definition avrcp.h:428
@ BT_AVRCP_REPEAT_MODE_OFF
Definition avrcp.h:427
@ BT_AVRCP_REPEAT_MODE_GROUP
Definition avrcp.h:430
@ BT_AVRCP_REPEAT_MODE_ALL_TRACKS
Definition avrcp.h:429
int bt_avrcp_ct_get_curr_player_app_setting_val(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for GET_CURR_PLAYER_APP_SETTING_VAL.
int bt_avrcp_ct_set_absolute_volume(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t absolute_volume)
Send Set Absolute Volume command (CT).
bt_avrcp_ctype_t
AV/C command types.
Definition avrcp.h:46
@ BT_AVRCP_CTYPE_GENERAL_INQUIRY
Definition avrcp.h:51
@ BT_AVRCP_CTYPE_CONTROL
Definition avrcp.h:47
@ BT_AVRCP_CTYPE_STATUS
Definition avrcp.h:48
@ BT_AVRCP_CTYPE_SPECIFIC_INQUIRY
Definition avrcp.h:49
@ BT_AVRCP_CTYPE_NOTIFY
Definition avrcp.h:50
int bt_avrcp_ct_get_caps(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t cap_id)
Get AVRCP Capabilities.
bt_avrcp_battery_status_t
AVRCP Battery Status Code.
Definition avrcp.h:368
@ BT_AVRCP_BATTERY_STATUS_EXTERNAL
Definition avrcp.h:372
@ BT_AVRCP_BATTERY_STATUS_WARNING
Definition avrcp.h:370
@ BT_AVRCP_BATTERY_STATUS_FULL
Definition avrcp.h:373
@ BT_AVRCP_BATTERY_STATUS_CRITICAL
Definition avrcp.h:371
@ BT_AVRCP_BATTERY_STATUS_NORMAL
Definition avrcp.h:369
bt_avrcp_opid_t
AV/C operation ids used in AVRCP passthrough commands.
Definition avrcp.h:73
@ BT_AVRCP_OPID_ROOT_MENU
Definition avrcp.h:83
@ BT_AVRCP_OPID_BACKWARD
Definition avrcp.h:125
@ BT_AVRCP_OPID_FORWARD
Definition avrcp.h:124
@ BT_AVRCP_OPID_F4
Definition avrcp.h:133
@ BT_AVRCP_OPID_6
Definition avrcp.h:95
@ BT_AVRCP_OPID_9
Definition avrcp.h:98
@ BT_AVRCP_OPID_DOWN
Definition avrcp.h:76
@ BT_AVRCP_OPID_PAUSE
Definition avrcp.h:119
@ BT_AVRCP_OPID_F3
Definition avrcp.h:132
@ BT_AVRCP_OPID_SOUND_SELECT
Definition avrcp.h:106
@ BT_AVRCP_OPID_4
Definition avrcp.h:93
@ BT_AVRCP_OPID_ENTER
Definition avrcp.h:100
@ BT_AVRCP_OPID_CHANNEL_DOWN
Definition avrcp.h:104
@ BT_AVRCP_OPID_PAGE_DOWN
Definition avrcp.h:111
@ BT_AVRCP_OPID_PREVIOUS_CHANNEL
Definition avrcp.h:105
@ BT_AVRCP_OPID_FAVORITE_MENU
Definition avrcp.h:86
@ BT_AVRCP_OPID_VOLUME_DOWN
Definition avrcp.h:115
@ BT_AVRCP_OPID_REWIND
Definition avrcp.h:121
@ BT_AVRCP_OPID_MUTE
Definition avrcp.h:116
@ BT_AVRCP_OPID_DOT
Definition avrcp.h:99
@ BT_AVRCP_OPID_RIGHT_DOWN
Definition avrcp.h:80
@ BT_AVRCP_OPID_LEFT_DOWN
Definition avrcp.h:82
@ BT_AVRCP_OPID_STOP
Definition avrcp.h:118
@ BT_AVRCP_OPID_FAST_FORWARD
Definition avrcp.h:122
@ BT_AVRCP_OPID_LEFT
Definition avrcp.h:77
@ BT_AVRCP_OPID_DISPLAY_INFORMATION
Definition avrcp.h:108
@ BT_AVRCP_OPID_SETUP_MENU
Definition avrcp.h:84
@ BT_AVRCP_OPID_RIGHT_UP
Definition avrcp.h:79
@ BT_AVRCP_OPID_RECORD
Definition avrcp.h:120
@ BT_AVRCP_OPID_LEFT_UP
Definition avrcp.h:81
@ BT_AVRCP_OPID_F5
Definition avrcp.h:134
@ BT_AVRCP_OPID_F2
Definition avrcp.h:131
@ BT_AVRCP_OPID_INPUT_SELECT
Definition avrcp.h:107
@ BT_AVRCP_OPID_RIGHT
Definition avrcp.h:78
@ BT_AVRCP_OPID_F1
Definition avrcp.h:130
@ BT_AVRCP_OPID_5
Definition avrcp.h:94
@ BT_AVRCP_OPID_PAGE_UP
Definition avrcp.h:110
@ BT_AVRCP_OPID_1
Definition avrcp.h:90
@ BT_AVRCP_OPID_POWER
Definition avrcp.h:113
@ BT_AVRCP_OPID_EXIT
Definition avrcp.h:87
@ BT_AVRCP_OPID_CONTENTS_MENU
Definition avrcp.h:85
@ BT_AVRCP_OPID_7
Definition avrcp.h:96
@ BT_AVRCP_OPID_UP
Definition avrcp.h:75
@ BT_AVRCP_OPID_HELP
Definition avrcp.h:109
@ BT_AVRCP_OPID_SUBPICTURE
Definition avrcp.h:128
@ BT_AVRCP_OPID_8
Definition avrcp.h:97
@ BT_AVRCP_OPID_2
Definition avrcp.h:91
@ BT_AVRCP_OPID_SELECT
Definition avrcp.h:74
@ BT_AVRCP_OPID_CHANNEL_UP
Definition avrcp.h:103
@ BT_AVRCP_OPID_VENDOR_UNIQUE
Definition avrcp.h:135
@ BT_AVRCP_OPID_EJECT
Definition avrcp.h:123
@ BT_AVRCP_OPID_CLEAR
Definition avrcp.h:101
@ BT_AVRCP_OPID_0
Definition avrcp.h:89
@ BT_AVRCP_OPID_PLAY
Definition avrcp.h:117
@ BT_AVRCP_OPID_3
Definition avrcp.h:92
@ BT_AVRCP_OPID_VOLUME_UP
Definition avrcp.h:114
@ BT_AVRCP_OPID_ANGLE
Definition avrcp.h:127
bt_avrcp_playback_status_t
AVRCP Playback Status.
Definition avrcp.h:351
@ BT_AVRCP_PLAYBACK_STATUS_ERROR
Definition avrcp.h:357
@ BT_AVRCP_PLAYBACK_STATUS_PAUSED
Definition avrcp.h:354
@ BT_AVRCP_PLAYBACK_STATUS_REV_SEEK
Definition avrcp.h:356
@ BT_AVRCP_PLAYBACK_STATUS_STOPPED
Definition avrcp.h:352
@ BT_AVRCP_PLAYBACK_STATUS_FWD_SEEK
Definition avrcp.h:355
@ BT_AVRCP_PLAYBACK_STATUS_PLAYING
Definition avrcp.h:353
bt_avrcp_scan_value_t
AVRCP Player Application Setting Values for Scan.
Definition avrcp.h:441
@ BT_AVRCP_SCAN_ALL_TRACKS
Definition avrcp.h:443
@ BT_AVRCP_SCAN_GROUP
Definition avrcp.h:444
@ BT_AVRCP_SCAN_OFF
Definition avrcp.h:442
int bt_avrcp_ct_get_subunit_info(struct bt_avrcp_ct *ct, uint8_t tid)
Get AVRCP Subunit Info.
int bt_avrcp_tg_get_play_status(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_GET_PLAY_STATUS.
bt_avrcp_status_t
AVRCP status and error codes.
Definition avrcp.h:149
@ BT_AVRCP_STATUS_NO_VALID_SEARCH_RESULTS
No valid search results.
Definition avrcp.h:249
@ BT_AVRCP_STATUS_UID_CHANGED
The UIDs on the device have changed.
Definition avrcp.h:178
@ BT_AVRCP_STATUS_NOT_IMPLEMENTED
Not implemented response.
Definition avrcp.h:271
@ BT_AVRCP_STATUS_INVALID_COMMAND
Invalid command.
Definition avrcp.h:153
@ BT_AVRCP_STATUS_PLAYER_NOT_BROWSABLE
Player not browsable.
Definition avrcp.h:239
@ BT_AVRCP_STATUS_FOLDER_ITEM_IS_NOT_PLAYABLE
Folder item is not playable.
Definition avrcp.h:209
@ BT_AVRCP_STATUS_NOW_PLAYING_LIST_FULL
Now Playing List full.
Definition avrcp.h:219
@ BT_AVRCP_STATUS_PLAYER_NOT_ADDRESSED
Player not addressed.
Definition avrcp.h:244
@ BT_AVRCP_STATUS_SEARCH_IN_PROGRESS
Search in progress.
Definition avrcp.h:229
@ BT_AVRCP_STATUS_ADDRESSED_PLAYER_CHANGED
Addressed player changed.
Definition avrcp.h:259
@ BT_AVRCP_STATUS_INVALID_DIRECTION
The Direction parameter is invalid.
Definition avrcp.h:183
@ BT_AVRCP_STATUS_SEARCH_NOT_SUPPORTED
Search not supported.
Definition avrcp.h:224
@ BT_AVRCP_STATUS_NO_AVAILABLE_PLAYERS
No available players.
Definition avrcp.h:254
@ BT_AVRCP_STATUS_INVALID_PLAYER_ID
The specified Player Id does not refer to a valid player.
Definition avrcp.h:234
@ BT_AVRCP_STATUS_NOT_A_DIRECTORY
The UID provided does not refer to a folder item.
Definition avrcp.h:188
@ BT_AVRCP_STATUS_PARAMETER_CONTENT_ERROR
Parameter content error.
Definition avrcp.h:163
@ BT_AVRCP_STATUS_RANGE_OUT_OF_BOUNDS
Range out of bounds.
Definition avrcp.h:204
@ BT_AVRCP_STATUS_INVALID_PARAMETER
Invalid parameter.
Definition avrcp.h:158
@ BT_AVRCP_STATUS_DOES_NOT_EXIST
The UID provided does not refer to any currently valid item.
Definition avrcp.h:193
@ BT_AVRCP_STATUS_INVALID_SCOPE
Invalid scope.
Definition avrcp.h:199
@ BT_AVRCP_STATUS_OPERATION_COMPLETED
Operation completed without error.
Definition avrcp.h:173
@ BT_AVRCP_STATUS_MEDIA_IN_USE
Media in use.
Definition avrcp.h:214
@ BT_AVRCP_STATUS_INTERNAL_ERROR
Internal error.
Definition avrcp.h:168
@ BT_AVRCP_STATUS_IN_TRANSITION
In transition response.
Definition avrcp.h:265
@ BT_AVRCP_STATUS_SUCCESS
Successful response.
Definition avrcp.h:279
int bt_avrcp_tg_play_item(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_PLAY_ITEM.
int bt_avrcp_ct_set_addressed_player(struct bt_avrcp_ct *ct, uint8_t tid, uint16_t player_id)
Send AVRCP vendor dependent command for SET_ADDRESSED_PLAYER.
int bt_avrcp_connect(struct bt_conn *conn)
Connect AVRCP.
int bt_avrcp_ct_register_cb(const struct bt_avrcp_ct_cb *cb)
Register callback.
bt_avrcp_subunit_type_t
AV/C subunit type, also used for unit type.
Definition avrcp.h:67
@ BT_AVRCP_SUBUNIT_TYPE_PANEL
Definition avrcp.h:68
@ BT_AVRCP_SUBUNIT_TYPE_UNIT
Definition avrcp.h:69
int bt_avrcp_tg_register_cb(const struct bt_avrcp_tg_cb *cb)
Register callback.
int bt_avrcp_ct_add_to_now_playing(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for ADD_TO_NOW_PLAYING.
int bt_avrcp_disconnect(struct bt_conn *conn)
Disconnect AVRCP.
bt_avrcp_player_attr_id_t
AVRCP Player Application Setting Attribute IDs.
Definition avrcp.h:412
@ BT_AVRCP_PLAYER_ATTR_EQUALIZER
Definition avrcp.h:413
@ BT_AVRCP_PLAYER_ATTR_SHUFFLE
Definition avrcp.h:415
@ BT_AVRCP_PLAYER_ATTR_SCAN
Definition avrcp.h:416
@ BT_AVRCP_PLAYER_ATTR_REPEAT_MODE
Definition avrcp.h:414
bt_avrcp_charset_t
AVRCP Character Set IDs.
Definition avrcp.h:330
@ BT_AVRCP_CHARSET_UTF8
Definition avrcp.h:331
int bt_avrcp_tg_get_element_attrs(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_GET_ELEMENT_ATTRS.
bt_avrcp_media_attr_t
AVRCP Media Attribute IDs.
Definition avrcp.h:380
@ BT_AVRCP_MEDIA_ATTR_GENRE
Definition avrcp.h:386
@ BT_AVRCP_MEDIA_ATTR_PLAYING_TIME
Definition avrcp.h:387
@ BT_AVRCP_MEDIA_ATTR_TITLE
Definition avrcp.h:381
@ BT_AVRCP_MEDIA_ATTR_TOTAL_TRACKS
Definition avrcp.h:385
@ BT_AVRCP_MEDIA_ATTR_ARTIST
Definition avrcp.h:382
@ BT_AVRCP_MEDIA_ATTR_ALBUM
Definition avrcp.h:383
@ BT_AVRCP_MEDIA_ATTR_TRACK_NUMBER
Definition avrcp.h:384
int bt_avrcp_tg_get_player_app_setting_val_text(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_GET_PLAYER_APP_SETTING_VAL_TEXT.
bt_avrcp_shuffle_value_t
AVRCP Player Application Setting Values for Shuffle.
Definition avrcp.h:434
@ BT_AVRCP_SHUFFLE_GROUP
Definition avrcp.h:437
@ BT_AVRCP_SHUFFLE_OFF
Definition avrcp.h:435
@ BT_AVRCP_SHUFFLE_ALL_TRACKS
Definition avrcp.h:436
int bt_avrcp_ct_set_player_app_setting_val(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for SET_PLAYER_APP_SETTING_VAL.
int bt_avrcp_tg_set_player_app_setting_val(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_SET_PLAYER_APP_SETTING_VAL.
int bt_avrcp_browsing_disconnect(struct bt_conn *conn)
Disconnect AVRCP browsing channel.
int bt_avrcp_tg_inform_batt_status_of_ct(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_INFORM_BATT_STATUS_OF_CT.
bt_avrcp_scope_t
AVRCP Scope Values 0x00 = Media Player List 0x01 = Filesystem 0x02 = Search 0x03 = Now Playing.
Definition avrcp.h:453
@ BT_AVRCP_SCOPE_FILESYSTEM
Definition avrcp.h:455
@ BT_AVRCP_SCOPE_SEARCH
Definition avrcp.h:456
@ BT_AVRCP_SCOPE_MEDIA_PLAYER_LIST
Definition avrcp.h:454
@ BT_AVRCP_SCOPE_NOW_PLAYING
Definition avrcp.h:457
int bt_avrcp_ct_set_browsed_player(struct bt_avrcp_ct *ct, uint8_t tid, uint16_t player_id)
Set browsed player.
int bt_avrcp_tg_get_curr_player_app_setting_val(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_GET_CURR_PLAYER_APP_SETTING_VAL.
int bt_avrcp_ct_inform_displayable_char_set(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for INFORM_DISPLAYABLE_CHAR_SET.
int bt_avrcp_ct_register_notification(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t event_id, uint32_t interval, bt_avrcp_notify_changed_cb_t cb)
Register for AVRCP changed notifications with callback.
int bt_avrcp_tg_list_player_app_setting_attrs(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_LIST_PLAYER_APP_SETTING_ATTRS.
int bt_avrcp_ct_play_item(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for PLAY_ITEM.
void(* bt_avrcp_notify_changed_cb_t)(struct bt_avrcp_ct *ct, uint8_t event_id, struct bt_avrcp_event_data *data)
Callback for AVRCP event notifications (CHANGED only).
Definition avrcp.h:652
bt_avrcp_rsp_t
AV/C response codes.
Definition avrcp.h:55
@ BT_AVRCP_RSP_REJECTED
Definition avrcp.h:58
@ BT_AVRCP_RSP_ACCEPTED
Definition avrcp.h:57
@ BT_AVRCP_RSP_STABLE
For STATUS commands.
Definition avrcp.h:61
@ BT_AVRCP_RSP_INTERIM
Definition avrcp.h:63
@ BT_AVRCP_RSP_NOT_IMPLEMENTED
Definition avrcp.h:56
@ BT_AVRCP_RSP_IMPLEMENTED
For SPECIFIC_INQUIRY and GENERAL_INQUIRY commands.
Definition avrcp.h:60
@ BT_AVRCP_RSP_IN_TRANSITION
Definition avrcp.h:59
@ BT_AVRCP_RSP_CHANGED
Definition avrcp.h:62
int bt_avrcp_tg_send_subunit_info_rsp(struct bt_avrcp_tg *tg, uint8_t tid)
Send the subunit info response.
bt_avrcp_cap_t
AVRCP Capability ID.
Definition avrcp.h:23
@ BT_AVRCP_CAP_EVENTS_SUPPORTED
Definition avrcp.h:25
@ BT_AVRCP_CAP_COMPANY_ID
Definition avrcp.h:24
struct net_buf * bt_avrcp_create_pdu(struct net_buf_pool *pool)
Allocate a net_buf for AVRCP PDU transmission, reserving headroom for AVRCP, AVRCTP,...
int bt_avrcp_browsing_connect(struct bt_conn *conn)
Connect AVRCP browsing channel.
int bt_avrcp_tg_send_passthrough_rsp(struct bt_avrcp_tg *tg, uint8_t tid, bt_avrcp_rsp_t result, struct net_buf *buf)
Send AVRCP Pass Through response.
int bt_avrcp_ct_get_player_app_setting_val_text(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for GET_PLAYER_APP_SETTING_VAL_TEXT.
struct net_buf * bt_avrcp_create_vendor_pdu(struct net_buf_pool *pool)
Allocate a net_buf for AVRCP Vendor-Dependent PDU transmission, reserving headroom for the Vendor PDU...
int bt_avrcp_tg_absolute_volume(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, uint8_t absolute_volume)
Send Set Absolute Volume response (TG).
int bt_avrcp_tg_get_caps(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send GET_CAPABILITIES response.
int bt_avrcp_tg_send_set_browsed_player_rsp(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Send the set browsed player response.
int bt_avrcp_tg_set_addressed_player(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_SET_ADDRESSED_PLAYER.
int bt_avrcp_tg_inform_displayable_char_set(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_INFORM_DISPLAYABLE_CHAR_SET.
int bt_avrcp_ct_list_player_app_setting_attrs(struct bt_avrcp_ct *ct, uint8_t tid)
Send AVRCP vendor dependent command for LIST_PLAYER_APP_SETTING_ATTRS.
#define BT_AVRCP_COMPANY_ID_SIZE
Definition avrcp.h:19
bt_avrcp_equalizer_value_t
AVRCP Player Application Setting Values for Equalizer.
Definition avrcp.h:420
@ BT_AVRCP_EQUALIZER_OFF
Definition avrcp.h:421
@ BT_AVRCP_EQUALIZER_ON
Definition avrcp.h:422
int bt_avrcp_tg_list_player_app_setting_vals(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status, struct net_buf *buf)
Send response for PDU ID BT_AVRCP_PDU_ID_LIST_PLAYER_APP_SETTING_VALS.
int bt_avrcp_ct_inform_batt_status_of_ct(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t battery_status)
Send AVRCP vendor dependent command for INFORM_BATT_STATUS_OF_CT.
int bt_avrcp_tg_send_unit_info_rsp(struct bt_avrcp_tg *tg, uint8_t tid, struct bt_avrcp_unit_info_rsp *rsp)
Send the unit info response.
bt_avrcp_evt_t
AVRCP Notification Events.
Definition avrcp.h:29
@ BT_AVRCP_EVT_TRACK_CHANGED
Definition avrcp.h:31
@ BT_AVRCP_EVT_TRACK_REACHED_END
Definition avrcp.h:32
@ BT_AVRCP_EVT_PLAYBACK_STATUS_CHANGED
Definition avrcp.h:30
@ BT_AVRCP_EVT_UIDS_CHANGED
Definition avrcp.h:41
@ BT_AVRCP_EVT_VOLUME_CHANGED
Definition avrcp.h:42
@ BT_AVRCP_EVT_BATT_STATUS_CHANGED
Definition avrcp.h:35
@ BT_AVRCP_EVT_PLAYER_APP_SETTING_CHANGED
Definition avrcp.h:37
@ BT_AVRCP_EVT_ADDRESSED_PLAYER_CHANGED
Definition avrcp.h:40
@ BT_AVRCP_EVT_AVAILABLE_PLAYERS_CHANGED
Definition avrcp.h:39
@ BT_AVRCP_EVT_NOW_PLAYING_CONTENT_CHANGED
Definition avrcp.h:38
@ BT_AVRCP_EVT_SYSTEM_STATUS_CHANGED
Definition avrcp.h:36
@ BT_AVRCP_EVT_TRACK_REACHED_START
Definition avrcp.h:33
@ BT_AVRCP_EVT_PLAYBACK_POS_CHANGED
Definition avrcp.h:34
int bt_avrcp_ct_get_element_attrs(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Send AVRCP vendor dependent command for GET_ELEMENT_ATTRS.
int bt_avrcp_tg_add_to_now_playing(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t status)
Send response for PDU ID BT_AVRCP_PDU_ID_ADD_TO_NOW_PLAYING.
state
Definition parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
AddToNowPlaying command request.
Definition avrcp.h:589
uint16_t uid_counter
UID counter.
Definition avrcp.h:592
uint8_t uid[8]
UID of the item.
Definition avrcp.h:591
uint8_t scope
Scope: bt_avrcp_scope_t.
Definition avrcp.h:590
AVRCP Attribute Text Entry.
Definition avrcp.h:508
uint8_t text[]
Text string.
Definition avrcp.h:512
uint8_t attr_id
Attribute ID.
Definition avrcp.h:509
uint8_t text_len
Length of text.
Definition avrcp.h:511
uint16_t charset_id
Charset ID.
Definition avrcp.h:510
AVRCP Attribute-Value Pair.
Definition avrcp.h:484
uint8_t value_id
Value ID.
Definition avrcp.h:486
uint8_t attr_id
Attribute ID.
Definition avrcp.h:485
AVRCP Attribute Text Entry.
Definition avrcp.h:529
uint16_t charset_id
Charset ID.
Definition avrcp.h:531
uint8_t value_id
Value ID.
Definition avrcp.h:530
uint8_t text[]
Text string.
Definition avrcp.h:533
uint8_t text_len
Length of text.
Definition avrcp.h:532
void(* get_player_app_setting_attr_text)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID GET_PLAYER_APP_SETTING_ATTR_TEXT.
Definition avrcp.h:891
void(* notification)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, uint8_t event_id, struct bt_avrcp_event_data *data)
Callback function for Event Notification response (CT).
Definition avrcp.h:787
void(* connected)(struct bt_conn *conn, struct bt_avrcp_ct *ct)
An AVRCP CT connection has been established.
Definition avrcp.h:664
void(* get_caps)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback function for bt_avrcp_get_caps().
Definition avrcp.h:713
void(* inform_batt_status_of_ct)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID INFORM_BATT_STATUS_OF_CT.
Definition avrcp.h:940
void(* browsing_connected)(struct bt_conn *conn, struct bt_avrcp_ct *ct)
An AVRCP CT browsing connection has been established.
Definition avrcp.h:683
void(* list_player_app_setting_attrs)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID LIST_PLAYER_APP_SETTING_ATTRS.
Definition avrcp.h:810
void(* subunit_info_rsp)(struct bt_avrcp_ct *ct, uint8_t tid, struct bt_avrcp_subunit_info_rsp *rsp)
Callback function for bt_avrcp_get_subunit_info().
Definition avrcp.h:734
void(* set_player_app_setting_val)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID SET_PLAYER_APP_SETTING_VAL.
Definition avrcp.h:870
void(* set_addressed_player)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID SET_ADDRESSED_PLAYER.
Definition avrcp.h:1012
void(* passthrough_rsp)(struct bt_avrcp_ct *ct, uint8_t tid, bt_avrcp_rsp_t result, const struct bt_avrcp_passthrough_rsp *rsp)
Callback function for bt_avrcp_passthrough().
Definition avrcp.h:746
void(* play_item)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID PLAY_ITEM.
Definition avrcp.h:1025
void(* inform_displayable_char_set)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID INFORM_DISPLAYABLE_CHAR_SET.
Definition avrcp.h:927
void(* list_player_app_setting_vals)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID LIST_PLAYER_APP_SETTING_VALS.
Definition avrcp.h:833
void(* disconnected)(struct bt_avrcp_ct *ct)
An AVRCP CT connection has been disconnected.
Definition avrcp.h:673
void(* browsed_player_rsp)(struct bt_avrcp_ct *ct, uint8_t tid, struct net_buf *buf)
Callback function for bt_avrcp_ct_set_browsed_player().
Definition avrcp.h:760
void(* get_play_status)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID GET_PLAY_STATUS.
Definition avrcp.h:998
void(* get_player_app_setting_val_text)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID GET_PLAYER_APP_SETTING_VAL_TEXT.
Definition avrcp.h:913
void(* get_curr_player_app_setting_val)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID GET_CURR_PLAYER_APP_SETTING_VAL.
Definition avrcp.h:856
void(* unit_info_rsp)(struct bt_avrcp_ct *ct, uint8_t tid, struct bt_avrcp_unit_info_rsp *rsp)
Callback function for bt_avrcp_get_unit_info().
Definition avrcp.h:723
void(* get_element_attrs)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, struct net_buf *buf)
Callback for PDU ID GET_ELEMENT_ATTRS.
Definition avrcp.h:976
void(* set_absolute_volume)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status, uint8_t absolute_volume)
Callback function for Set Absolute Volume response (CT).
Definition avrcp.h:954
void(* add_to_now_playing)(struct bt_avrcp_ct *ct, uint8_t tid, uint8_t status)
Callback for PDU ID ADD_TO_NOW_PLAYING.
Definition avrcp.h:1038
void(* browsing_disconnected)(struct bt_avrcp_ct *ct)
An AVRCP CT browsing connection has been disconnected.
Definition avrcp.h:692
uint8_t identifier[8]
Definition avrcp.h:601
struct bt_avrcp_event_data::@257146241107017275103301331176062107266015056107::@050163204331037176011217265126316251256154336273 addressed_player_changed
uint8_t system_status
Definition avrcp.h:610
uint8_t num_of_attr
Definition avrcp.h:614
uint16_t uid_counter
Definition avrcp.h:621
struct bt_avrcp_event_data::@257146241107017275103301331176062107266015056107::@312063362210104176244252166322271304063266050351 setting_changed
uint32_t playback_pos
Definition avrcp.h:604
uint8_t battery_status
Definition avrcp.h:607
uint16_t player_id
Definition avrcp.h:620
struct bt_avrcp_app_setting_attr_val * attr_vals
Definition avrcp.h:615
uint8_t play_status
Definition avrcp.h:598
uint8_t absolute_volume
Definition avrcp.h:628
get folder name (response)
Definition avrcp.h:335
uint8_t folder_name[]
Definition avrcp.h:337
uint16_t folder_name_len
Definition avrcp.h:336
uint8_t cap_cnt
number of items contained in *cap
Definition avrcp.h:325
uint8_t cap_id
bt_avrcp_cap_t
Definition avrcp.h:324
uint8_t cap[]
1 or 3 octets each depends on cap_id
Definition avrcp.h:326
GetCurrentPlayerApplicationSettingValue command request.
Definition avrcp.h:478
uint8_t attr_ids[]
Array of attribute IDs.
Definition avrcp.h:480
uint8_t num_attrs
Number of attributes to query.
Definition avrcp.h:479
GetCurrentPlayerApplicationSettingValue response.
Definition avrcp.h:490
uint8_t num_attrs
Number of attributes returned.
Definition avrcp.h:491
struct bt_avrcp_app_setting_attr_val attr_vals[]
Array of attribute-value pairs.
Definition avrcp.h:492
GetElementAttributes command request structure.
Definition avrcp.h:391
uint32_t attr_ids[]
Array of requested attribute IDs.
Definition avrcp.h:394
uint8_t num_attrs
Number of attributes requested (0 = all)
Definition avrcp.h:393
uint8_t identifier[8]
Element identifier (0x0 for currently playing)
Definition avrcp.h:392
GetElementAttributes response structure.
Definition avrcp.h:406
struct bt_avrcp_media_attr attrs[]
Array of media attributes.
Definition avrcp.h:408
uint8_t num_attrs
Number of attributes in response.
Definition avrcp.h:407
GetPlayStatus response.
Definition avrcp.h:554
uint8_t play_status
Play status: bt_avrcp_playback_status_t.
Definition avrcp.h:557
uint32_t song_position
Current position in the song in milliseconds.
Definition avrcp.h:556
uint32_t song_length
Total length of the song in milliseconds.
Definition avrcp.h:555
GetPlayerApplicationSettingAttributeText command request.
Definition avrcp.h:502
uint8_t num_attrs
Number of attributes to get text for.
Definition avrcp.h:503
uint8_t attr_ids[]
Array of attribute IDs.
Definition avrcp.h:504
GetPlayerApplicationSettingAttributeText response.
Definition avrcp.h:516
struct bt_avrcp_app_setting_attr_text attr_text[]
Definition avrcp.h:518
uint8_t num_attrs
Number of attributes returned.
Definition avrcp.h:517
GetPlayerApplicationSettingValueText command request.
Definition avrcp.h:522
uint8_t attr_id
Attribute ID.
Definition avrcp.h:523
uint8_t value_ids[]
Array of value IDs.
Definition avrcp.h:525
uint8_t num_values
Number of values to get text for.
Definition avrcp.h:524
GetPlayerApplicationSettingValueText response.
Definition avrcp.h:537
uint8_t num_values
Number of values returned.
Definition avrcp.h:538
struct bt_avrcp_app_setting_val_text value_text[]
Definition avrcp.h:539
ListPlayerApplicationSettingAttributes response.
Definition avrcp.h:461
uint8_t num_attrs
Number of application setting attributes.
Definition avrcp.h:462
uint8_t attr_ids[]
Array of attribute IDs bt_avrcp_player_attr_id_t.
Definition avrcp.h:463
ListPlayerApplicationSettingValues command request.
Definition avrcp.h:467
uint8_t attr_id
Attribute ID to query values for.
Definition avrcp.h:468
ListPlayerApplicationSettingValues response.
Definition avrcp.h:472
uint8_t values[]
Array of possible values.
Definition avrcp.h:474
uint8_t num_values
Number of values for the attribute.
Definition avrcp.h:473
struct bt_avrcp_passthrough_opvu_data data[0]
opvu data
Definition avrcp.h:314
uint8_t data_len
Definition avrcp.h:313
uint8_t opid_state
[7]: state_flag, [6:0]: opid
Definition avrcp.h:312
uint16_t opid_vu
Definition avrcp.h:308
uint8_t company_id[(3)]
Definition avrcp.h:307
uint8_t data_len
Definition avrcp.h:319
struct bt_avrcp_passthrough_opvu_data data[0]
opvu data
Definition avrcp.h:320
uint8_t opid_state
[7]: state_flag, [6:0]: opid
Definition avrcp.h:318
PlayItem command request.
Definition avrcp.h:582
uint8_t scope
Scope: bt_avrcp_scope_t.
Definition avrcp.h:583
uint16_t uid_counter
UID counter.
Definition avrcp.h:585
uint8_t uid[8]
UID of the item.
Definition avrcp.h:584
RegisterNotification command request.
Definition avrcp.h:561
uint32_t interval
Playback interval (used only for event_id = 0x05)
Definition avrcp.h:563
uint8_t event_id
Event ID to register for.
Definition avrcp.h:562
SetAbsoluteVolume command request.
Definition avrcp.h:567
uint8_t absolute_volume
Volume level (0x00 to 0x7F)
Definition avrcp.h:568
SetAbsoluteVolume response.
Definition avrcp.h:572
uint8_t absolute_volume
Volume level acknowledged.
Definition avrcp.h:573
SetAddressedPlayer command request.
Definition avrcp.h:577
uint16_t player_id
Player ID to be addressed.
Definition avrcp.h:578
Set browsed player response structure.
Definition avrcp.h:341
uint16_t uid_counter
UID counter.
Definition avrcp.h:343
uint16_t charset_id
Character set ID.
Definition avrcp.h:345
uint8_t status
Status see bt_avrcp_status_t.
Definition avrcp.h:342
struct bt_avrcp_folder_name folder_names[0]
Folder names data.
Definition avrcp.h:347
uint32_t num_items
Number of items in the folder.
Definition avrcp.h:344
uint8_t folder_depth
Folder depth.
Definition avrcp.h:346
SetPlayerApplicationSettingValue command request.
Definition avrcp.h:496
struct bt_avrcp_app_setting_attr_val attr_vals[]
Array of attribute-value pairs.
Definition avrcp.h:498
uint8_t num_attrs
Number of attributes to set.
Definition avrcp.h:497
const uint8_t * extended_subunit_id
contains max_subunit_id items
Definition avrcp.h:296
bt_avrcp_subunit_type_t subunit_type
Definition avrcp.h:293
const uint8_t * extended_subunit_type
contains max_subunit_id items
Definition avrcp.h:295
uint8_t max_subunit_id
Definition avrcp.h:294
void(* set_player_app_setting_val)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_SET_PLAYER_APP_SETTING_VAL.
Definition avrcp.h:1521
void(* set_addressed_player)(struct bt_avrcp_tg *tg, uint8_t tid, uint16_t player_id)
Callback for PDU ID BT_AVRCP_PDU_ID_SET_ADDRESSED_PLAYER.
Definition avrcp.h:1613
void(* get_player_app_setting_attr_text)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_GET_PLAYER_APP_SETTING_ATTR_TEXT.
Definition avrcp.h:1534
void(* set_absolute_volume)(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t absolute_volume)
Callback function for Set Absolute Volume command (TG).
Definition avrcp.h:1594
void(* register_notification)(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t event_id, uint32_t interval)
Register notification request callback.
Definition avrcp.h:1414
void(* passthrough_req)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Pass Through command request callback.
Definition avrcp.h:1476
void(* get_curr_player_app_setting_val)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_GET_CURR_PLAYER_APP_SETTING_VAL.
Definition avrcp.h:1508
void(* get_player_app_setting_val_text)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_GET_PLAYER_APP_SETTING_VAL_TEXT.
Definition avrcp.h:1547
void(* add_to_now_playing)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_ADD_TO_NOW_PLAYING.
Definition avrcp.h:1637
void(* browsing_connected)(struct bt_conn *conn, struct bt_avrcp_tg *tg)
An AVRCP TG browsing connection has been established.
Definition avrcp.h:1444
void(* inform_batt_status_of_ct)(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t battery_status)
Callback for PDU ID BT_AVRCP_PDU_ID_INFORM_BATT_STATUS_OF_CT.
Definition avrcp.h:1571
void(* get_play_status)(struct bt_avrcp_tg *tg, uint8_t tid)
Callback for PDU ID BT_AVRCP_PDU_ID_GET_PLAY_STATUS.
Definition avrcp.h:1603
void(* connected)(struct bt_conn *conn, struct bt_avrcp_tg *tg)
An AVRCP TG connection has been established.
Definition avrcp.h:1384
void(* unit_info_req)(struct bt_avrcp_tg *tg, uint8_t tid)
Unit info request callback.
Definition avrcp.h:1402
void(* disconnected)(struct bt_avrcp_tg *tg)
An AVRCP TG connection has been disconnected.
Definition avrcp.h:1393
void(* get_caps)(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t cap_id)
Get capabilities request callback.
Definition avrcp.h:1434
void(* subunit_info_req)(struct bt_avrcp_tg *tg, uint8_t tid)
Subunit Info Request callback.
Definition avrcp.h:1424
void(* set_browsed_player_req)(struct bt_avrcp_tg *tg, uint8_t tid, uint16_t player_id)
Set browsed player request callback.
Definition avrcp.h:1463
void(* list_player_app_setting_vals)(struct bt_avrcp_tg *tg, uint8_t tid, uint8_t attr_id)
Callback for PDU ID BT_AVRCP_PDU_ID_LIST_PLAYER_APP_SETTING_VALS.
Definition avrcp.h:1496
void(* browsing_disconnected)(struct bt_avrcp_tg *tg)
An AVRCP TG browsing connection has been disconnected.
Definition avrcp.h:1453
void(* inform_displayable_char_set)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_INFORM_DISPLAYABLE_CHAR_SET.
Definition avrcp.h:1560
void(* get_element_attrs)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_GET_ELEMENT_ATTRS.
Definition avrcp.h:1584
void(* list_player_app_setting_attrs)(struct bt_avrcp_tg *tg, uint8_t tid)
Callback for PDU ID BT_AVRCP_PDU_ID_LIST_PLAYER_APP_SETTING_ATTRS.
Definition avrcp.h:1485
void(* play_item)(struct bt_avrcp_tg *tg, uint8_t tid, struct net_buf *buf)
Callback for PDU ID BT_AVRCP_PDU_ID_PLAY_ITEM.
Definition avrcp.h:1625
uint32_t company_id
Definition avrcp.h:289
bt_avrcp_subunit_type_t unit_type
Definition avrcp.h:288
Network buffer pool representation.
Definition net_buf.h:1079
Network buffer representation.
Definition net_buf.h:1006
uint8_t * data
Pointer to the start of data in the buffer.
Definition net_buf.h:1032
uint16_t len
Length of the data behind the data pointer.
Definition net_buf.h:1035