-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Bluetooth: BAP: Add a set of suggested intervals to use with BAP #81093
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
Bluetooth: BAP: Add a set of suggested intervals to use with BAP #81093
Conversation
ad61f81 to
b94bd7b
Compare
b94bd7b to
f4f3960
Compare
f4f3960 to
60198f5
Compare
f7716ab to
3c06ff4
Compare
3c06ff4 to
ab7faed
Compare
|
CI failure depends on #84297 |
This PR is no longer blocked by Controller bugs, if any? |
ab7faed to
44004d5
Compare
|
@rugeGerritsen please re-review or dismiss you change request :) |
rugeGerritsen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commit message needs to be updated as we are no longer disabling tests
| * | ||
| * Defined by Table 8.1 in BAP 1.0.2 | ||
| */ | ||
| #define BT_BAP_ADV_PARAM_CONN_QUICK \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this file we now use QUICK/SHORT/FAST and REDUCED/SLOW. The existing advertising macros use FAST and SLOW only, so maybe we should stick to that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing advertising macros use FAST and SLOW only, so maybe we should stick to that?
The BT Core spec uses "FAST" and "SLOW" when defining the values

The BAP spec does not defines values for advertising, but the BAP macros for advertising in this PR uses SLOW and FAST.
The Core spec does not defined slow/fast values for connection parameters, and only has
Not sure if it makes sense to define SLOW and FAST for connection parameters, since those are not defined by Zephyr or Core Spec either.
The BAP spec uses the following terminology

I'm OK to modify it to always be fast and slow for consistency if you think that makes more sense
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not have a strong opinion on this. But I believe it may make sense to align terminology with existing macros
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typically, I always open up a Spec PDF and search for terms like "quick" or "reduced", in this case the BAP spec. Hence, I will keep the QUICK and REDUCED in this context to be able to quickly refer to spec definitions.
If the other new defined with FAST, SLOW and RELAXED too have references to in the BAP spec, I will use it so.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rugeGerritsen Please re-review :)
44004d5 to
364e18e
Compare
cvinayak
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought this PR passed CI before rebase, the bsim air trace needs to be analysed to figure cause.
| * | ||
| * Defined by Table 8.1 in BAP 1.0.2 | ||
| */ | ||
| #define BT_BAP_ADV_PARAM_CONN_QUICK \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typically, I always open up a Spec PDF and search for terms like "quick" or "reduced", in this case the BAP spec. Hence, I will keep the QUICK and REDUCED in this context to be able to quickly refer to spec definitions.
If the other new defined with FAST, SLOW and RELAXED too have references to in the BAP spec, I will use it so.
|
Workaround for failing test due to overlapping Peripheral ACL in the broadcast sink device: To correctly handle drifting ACL into BIG events, need the scheduling to permit selective BIS subevent reception. Some experiments in this draft #75760 (still a WIP though as support for interleaved too needs consideration, which is also open #67231). |
Add a selection of interval values that are suitable for BAP, which will allow better coexistence between ISO and ACL, for both broadcast and unicast. Some of these are defined by the BAP spec, and some are defined by Zephyr, since they do have a suggested value from BAP. Samples and tests have been updated to use these new values. Peripheral samples have also been updated with CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS so that the connection parameters from the centrals aren't updated to something else shortly after. The shell has also been updated to use the LE Audio (BAP) values if audio is enabled, and the audio.conf file has disabled automatic updating of the connection parameters as the peripheral, as we rarely (if ever) want to do that. Due to the connection interval change, CI hit an issue with test_bass_broadcast_code in test_main_client_sync, where the reading of the long receive state did not finish before we attempted to do another procedure, so the function was updated to have a retry. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
364e18e to
7d84741
Compare


Add a selection of interval values that are suitable for BAP,
which will allow better coexistence between ISO and ACL,
for both broadcast and unicast.
Samples and tests have been updated to use these new values.
The shell has also been updated to use the LE Audio (BAP) values
if audio is enabled, and the audio.conf file has disabled automatic
updating of the connection parameters as the peripheral, as we rarely
(if ever) want to do that.