Bluetooth: Controller: Replace Central connection spacing Kconfig

Replace the BT_CTLR_ADVANCED_SCHEDULING_CENTRAL_CONN_SPACING
Kconfig with BT_CTLR_CENTRAL_SPACING to configure the
the spacing from the beginning of a central connection event
to beginning of the next central connection when supporting
multiple simulataneous central connections.

If the BT_CTLR_CENTRAL_SPACING in microseconds is smaller
then the required time reservation for a connection event,
for given maximum data length and PHY in use, then the
calculated time reservation will be used as the spacing
between consecution central connection events.

The change fixes an issue wherein use of old Kconfig with
higher values causes new central connections to be placed
in between already connected central role if there was
free time space available to fit the new connections time
reservation.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2022-11-07 18:20:53 +05:30 committed by Carles Cufí
commit a6beef4b26
4 changed files with 25 additions and 27 deletions

View file

@ -440,25 +440,24 @@ config BT_CTLR_SCHED_ADVANCED
Disabling this feature will lead to overlapping role in timespace
leading to skipped events amongst active roles.
config BT_CTLR_SCHED_ADVANCED_CENTRAL_CONN_SPACING
int "Advanced scheduling central preferred connection spacing"
config BT_CTLR_CENTRAL_SPACING
int "Central Connection Spacing"
depends on BT_CTLR_SCHED_ADVANCED
default 0
range 0 65535
help
The central preferred connection spacing defines an additional spacing
in microseconds, added to the fixed ~1250 us spacing obtained by enabling
BT_CTLR_SCHED_ADVANCED. Specifying 0 (default) will obtain a spacing of
~1250 us, whereas specifying 1250 will yield a spacing of ~2500 us.
The spacing is defined as the distance in time between the anchor points
of the established central role connections.
The precision is determined by the resolution of the platform dependent
ticker clock.
When specifying values above 6.25 ms, the spacing may be unobtainable if
the connection interval becomes smaller than the total spacing. In that
case, modulo is applied and a total spacing of 15 ms on a 10 ms connection
interval yields 5 ms spacing.
For multiple connections, it may become impossible to honor the preferred
spacing, in which case overlapping will occur.
The preferred connection spacing between multiple simultaneous central
roles in microseconds. The Controller will calculate the required time
reservation using the data length and PHY currently in use. The
greater of the preferred spacing and the calculated time reservation
will be used.
The precision is determined by the resolution of the platform
dependent ticker clock.
The upper range is a ceil value permitting any tuning of Controller's
radio handling overheads and to allow Coded PHY S8 coding scheme PDU
time, i.e. radio event overheads + 17040 (PDU Tx) + 150 (tIFS) + 4
(active clock jitter) + 17040 (PDU rx) = (radio event overheads +
34234) microseconds.
config BT_CTLR_LLL_PRIO
int "Lower Link Layer (Radio) IRQ priority" if (BT_CTLR_ULL_LLL_PRIO_SUPPORT && !BT_CTLR_ZLI)