Bluetooth: ISO: Update BIS index to start from 0x01

The HCI spec defines the BIS index range as starting from
index 0x01. We had previously implemented it such that it
starts from 0x00, and then simply adding 1 to the index
when sending over HCI. However, this may cause issue with
other HCI, or other SIG defined specification, commands
and events, and thus it is probably simpler if we just
use the HCI defined range.

This commit disallows BIT(0) (representing the BIS
index 0x00) to be set, and removes the addition
of 1 when sending over HCI.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
Emil Gydesen 2021-08-31 09:51:20 +02:00 committed by Anas Nashif
commit 93bfe7a2c9
4 changed files with 12 additions and 6 deletions

View file

@ -313,7 +313,12 @@ struct bt_iso_big_sync_param {
*/
uint8_t num_bis;
/** Bitfield of the BISes to sync to */
/** Bitfield of the BISes to sync to
*
* The BIS indexes start from 0x01, so the lowest allowed bit is
* BIT(1) that represents index 0x01. To synchronize to e.g. BIS
* indexes 0x01 and 0x02, the bitfield value should be BIT(1) | BIT(2).
*/
uint32_t bis_bitfield;
/** @brief Maximum subevents