-
Notifications
You must be signed in to change notification settings - Fork 8.2k
tests: bluetooth: tester: Add AVRCP and AVCTP PTS support #99198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
CanWang001
wants to merge
21
commits into
zephyrproject-rtos:main
Choose a base branch
from
nxp-upstream:test_br_pts_avrcp
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
tests: bluetooth: tester: Add AVRCP and AVCTP PTS support #99198
CanWang001
wants to merge
21
commits into
zephyrproject-rtos:main
from
nxp-upstream:test_br_pts_avrcp
+27,334
−1,152
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remove unnecessary checking for net_buf_tailroom(buf) < chunk_size before sending data in avctp_tx_processor. Signed-off-by: Make Shi <[email protected]>
This patch introduces support for AVRCP vendor-dependent commands and responses, including full handling of fragmented messages. - Adds fragmentation and reassembly logic for AVRCP vendor-dependent - Introduces TX queue management using delayed work for TG - Adds support for GetCapabilities PDUs - Add new Kconfig for vendor-dependent with fragmentation support Signed-off-by: Make Shi <[email protected]>
This patch adds AVRCP notification event handling for both CT and TG roles. Also add Shell command support for testing notification registration and responses. Signed-off-by: Make Shi <[email protected]>
Implement support for AVRCP Player app Settings PDUs on both CT/TG - Added APIs for sending and handling commands like LIST_ATTRS, LIST_VALS, GET_CURR_VAL, SET_VAL, and related text/inform PDUs. - Added callbacks for TG request handling and CT response processing. - Add shell commands for Player app Settings commands testing. Signed-off-by: Make Shi <[email protected]>
Add full support for all remaining AVRCP vendor-dependent PDUs on both Controller (CT) and Target (TG), including APIs, callbacks, and shell commands for testing. Signed-off-by: Make Shi <[email protected]>
Drop the 'U' suffix from enum hex literals keep style consistent and rename `bt_avrcp_list_app_setting_attr_rsp` to the clearer. Signed-off-by: Make Shi <[email protected]>
Introduce an optional alloc_buf() callback into AVCTP so that each session can decide which RX buffer pool to use. Provided a dedicated RX pool for the AVRCP browsing channel. Also provided BT_AVRCP_BROWSING_L2CAP_MTU for configure. Signed-off-by: Make Shi <[email protected]>
This change implements full AVRCP Browsing support on both CT/TG, and included all public APIs and callbacks, and add shell commands for testing. Signed-off-by: Make Shi <[email protected]>
A new function bt_obex_add_header_body_or_end_body() is added to help to add the body/end body header. When the tail room of the buffer is more than the passed body room, and the total length of buffer is not more than the mopl if the body has been added, the header end body will be added. Or, the header body will be added. Signed-off-by: Lyle Zhu <[email protected]>
The `bt_obex_string_is_valid()` is used to check whether the sending or receiving UTF-16 string is valid or not. Expose function "bt_obex_string_is_valid()" to support external checking of UTF-16 strings. Signed-off-by: Lyle Zhu <[email protected]>
The function `bt_obex_has_header()` is used to check whether the specific header is in the buffer. It is required by upper layer to check the header from the receiving buffer. Signed-off-by: Lyle Zhu <[email protected]>
Add functions to manage BIP transport connect and disconnect both for l2cap and rfcomm. Add functions to register and unregister primary and secondary OBEX servers. Add functions to send OBEX connect/disconnect request and response. Add functions to send OBEX get/put request and response with different type defined by BT_BIP_HDR_TYPE_*. Add functions to send abort request and response. Signed-off-by: Lyle Zhu <[email protected]>
Add commands for transport over RFCOMM, including `register-rfcomm`, `connect-rfcomm`, and `disconnect-rfcomm`. Add commands for transport over L2CAP, including `register-l2cap`, `connect-l2cap`, and `disconnect-l2cap`. Add command `alloc-buf` and `release-buf` to allocate and release TX buffer. Add command set `add-header` to add the OBEX headers to allocated TX buffer. Add command set `client` to send BIP client requests with allocated TX buffer. Add command set `server` to send BIP responses with allocated TX buffer. Signed-off-by: Lyle Zhu <[email protected]>
Add function `bt_bip_set_supported_capabilities()` to set the supported caps of responder. Add function `bt_bip_set_supported_features()` to set the supported features of responder. Add function `bt_bip_set_supported_functions()` to set the supported functions of responder. Check the supported features of responder when sending OBEX connect request on initiator side. Check the supported functions of responder when sending OBEX get/put request on initiator side. Signed-off-by: Lyle Zhu <[email protected]>
Add define `BT_SDP_SUPPORTED_CAPABILITIES` to define supported capabilities attribute. Add define `BT_SDP_SUPPORTED_FUNCTIONS` to define supported functions attribute. Signed-off-by: Lyle Zhu <[email protected]>
Add command `reg` to register the BIP responder SDP record. Add command `set_caps`, `set_features`, and `set_functions` to set the supported capabilities, features, and functions for BIP responder. Add command `discover` to discovery the BIP responder SDP record. And parse the response data to get the supported features and functions. Add command `set_feats_funcs` to set the discovered supported features and functions. Signed-off-by: Lyle Zhu <[email protected]>
The response function should be consistent with the function of request when server responses the request of client. Check whether the BIP function in the server response function is consistent with the client request. Signed-off-by: Lyle Zhu <[email protected]>
For the uncompleted BIP request, the following BIP request function should be same with the previous. Keep the first request function type, and check it with the following request function type. Signed-off-by: Lyle Zhu <[email protected]>
Add Kconfig `BT_AVRCP_TG_COVER_ART` to enable the target cover art feature. Add Kconfig `BT_AVRCP_CT_COVER_ART_GET_IMAGE_PROPERTIES` to enable the controller cover art get image properties feature. Add Kconfig `BT_AVRCP_CT_COVER_ART_GET_IMAGE` to enable the controller cover art get image feature. Add Kconfig `BT_AVRCP_CT_COVER_ART_GET_LINKED_THUMBNAIL` to enable the controller cover art get linked thumbnail feature. Add functions `bt_avrcp_cover_art_ct_cb_register()` and `bt_avrcp_cover_art_tg_cb_register()` to register the callback. Add function `bt_avrcp_cover_art_ct_l2cap_connect()` to create the L2CAP connection for OBEX transport. Add functions `bt_avrcp_cover_art_ct_l2cap_disconnect()` and `bt_avrcp_cover_art_tg_l2cap_disconnect()` to disconnect the L2CAP connection. Add functions to send OBEX request/response, including connect, disconnect, abort, get_image_properties, get_image, and get_linked_thumbnail. Signed-off-by: Lyle Zhu <[email protected]>
Add cover art shell commands for AVRCP controller and target. Signed-off-by: Lyle Zhu <[email protected]>
5060277 to
8e185cc
Compare
Add Bluetooth Test Protocol (BTP) support for Audio/Video Remote Control Profile (AVRCP) and Audio/Video Control Transport Protocol (AVCTP) testing to enable PTS qualification. AVRCP implementation: - Controller (CT) role with browsing and cover art support - Target (TG) role with browsing and cover art support - Complete BTP command/event interface - Support for all AVRCP PTS test cases AVCTP implementation: - Complete BTP command/event interface - Support for all AVCTP PTS test cases Signed-off-by: Can Wang <[email protected]>
8e185cc to
6875ef7
Compare
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Add Bluetooth Test Protocol (BTP) support for Audio/Video Remote
Control Profile (AVRCP) and Audio/Video Control Transport Protocol
(AVCTP) testing to enable PTS qualification.
AVRCP implementation:
AVCTP implementation: