Skip to content

Commit c7ccdd6

Browse files
committed
Bluetooth: ISO: Expand defines and their text
Add a few missing defines for limits used in ISO. Add missing units and provide the value in both hex and decimal (with units) for easier-to-read support. Signed-off-by: Emil Gydesen <[email protected]>
1 parent c0434fb commit c7ccdd6

File tree

1 file changed

+47
-36
lines changed
  • include/zephyr/bluetooth

1 file changed

+47
-36
lines changed

include/zephyr/bluetooth/iso.h

Lines changed: 47 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,21 @@ extern "C" {
7575
#define BT_ISO_DATA_PATH_VS_ID_MIN 0x01
7676
/** The maximum value for vendor specific data path ID */
7777
#define BT_ISO_DATA_PATH_VS_ID_MAX 0xFE
78-
/** Minimum controller delay in microseconds (0 s) */
78+
/** Minimum controller delay in microseconds (0 us) */
7979
#define BT_ISO_CONTROLLER_DELAY_MIN 0x000000
80-
/** Maximum controller delay in microseconds (4 s) */
80+
/** Maximum controller delay in microseconds (4000 us) */
8181
#define BT_ISO_CONTROLLER_DELAY_MAX 0x3D0900
82-
/** Minimum interval value in microseconds */
82+
/** Minimum interval value in microseconds (255 us) */
8383
#define BT_ISO_SDU_INTERVAL_MIN 0x0000FFU
84-
/** Maximum interval value in microseconds */
84+
/** Maximum interval value in microseconds (1048575 us) */
8585
#define BT_ISO_SDU_INTERVAL_MAX 0x0FFFFFU
86-
/** Minimum ISO interval (N * 1.25 ms) */
86+
/** Minimum ISO interval in units of 1.25 ms (5 ms) */
8787
#define BT_ISO_ISO_INTERVAL_MIN 0x0004U
88-
/** Maximum ISO interval (N * 1.25 ms) */
88+
/** Maximum ISO interval in units of 1.25 ms (4000 ms) */
8989
#define BT_ISO_ISO_INTERVAL_MAX 0x0C80U
90-
/** Minimum latency value in milliseconds */
90+
/** Minimum latency value in milliseconds (5 ms) */
9191
#define BT_ISO_LATENCY_MIN 0x0005
92-
/** Maximum latency value in milliseconds */
92+
/** Maximum latency value in milliseconds (4000 ms)*/
9393
#define BT_ISO_LATENCY_MAX 0x0FA0
9494
/** Packets will be sent sequentially between the channels in the group */
9595
#define BT_ISO_PACKING_SEQUENTIAL 0x00
@@ -99,62 +99,73 @@ extern "C" {
9999
#define BT_ISO_FRAMING_UNFRAMED 0x00
100100
/** Packets are always framed */
101101
#define BT_ISO_FRAMING_FRAMED 0x01
102-
/** Maximum number of isochronous channels in a single group */
102+
/** Maximum number of isochronous channels in a single group (31) */
103103
#define BT_ISO_MAX_GROUP_ISO_COUNT 0x1F
104-
/** Minimum SDU size */
104+
/** Minimum SDU size (1 octet) */
105105
#define BT_ISO_MIN_SDU 0x0001
106-
/** Maximum SDU size */
106+
/** Maximum SDU size (4095 octets) */
107107
#define BT_ISO_MAX_SDU 0x0FFF
108-
/** Minimum PDU size */
108+
/** Minimum PDU size (0 octet1) */
109109
#define BT_ISO_CONNECTED_PDU_MIN 0x0000U
110-
/** Minimum PDU size */
110+
/** Minimum PDU size (1 octet) */
111111
#define BT_ISO_BROADCAST_PDU_MIN 0x0001U
112-
/** Maximum PDU size */
112+
/** Maximum PDU size (251 octets) */
113113
#define BT_ISO_PDU_MAX 0x00FBU
114-
/** Minimum burst number */
114+
/** Minimum burst number (1) */
115115
#define BT_ISO_BN_MIN 0x01U
116-
/** Maximum burst number */
116+
/** Maximum burst number (15) */
117117
#define BT_ISO_BN_MAX 0x0FU
118-
/** Minimum flush timeout */
118+
/** Minimum flush timeout in multiples of ISO interval (1) */
119119
#define BT_ISO_FT_MIN 0x01U
120-
/** Maximum flush timeout */
120+
/** Maximum flush timeout in multiples of ISO interval (255) */
121121
#define BT_ISO_FT_MAX 0xFFU
122-
/** Minimum number of subevents */
122+
/** Minimum number of subevents (1) */
123123
#define BT_ISO_NSE_MIN 0x01U
124-
/** Maximum number of subevents */
124+
/** Maximum number of subevents (31) */
125125
#define BT_ISO_NSE_MAX 0x1FU
126-
/** Minimum BIG sync timeout value (N * 10 ms) */
126+
/** Minimum BIG sync timeout value in units of 10 ms (100 ms) */
127127
#define BT_ISO_SYNC_TIMEOUT_MIN 0x000A
128-
/** Maximum BIG sync timeout value (N * 10 ms) */
128+
/** Maximum BIG sync timeout value in units of 10 ms (163840 ms) */
129129
#define BT_ISO_SYNC_TIMEOUT_MAX 0x4000
130130
/** Controller controlled maximum subevent count value */
131131
#define BT_ISO_SYNC_MSE_ANY 0x00
132-
/** Minimum BIG sync maximum subevent count value */
132+
/** Minimum BIG sync maximum subevent count value (1) */
133133
#define BT_ISO_SYNC_MSE_MIN 0x01
134-
/** Maximum BIG sync maximum subevent count value */
134+
/** Maximum BIG sync maximum subevent count value (31) */
135135
#define BT_ISO_SYNC_MSE_MAX 0x1F
136-
/** Maximum connected ISO retransmission value */
136+
/** Minimum connected ISO retransmission value (0) */
137+
#define BT_ISO_CONNECTED_RTN_MIN 0x00
138+
/** Maximum connected ISO retransmission value (255) */
137139
#define BT_ISO_CONNECTED_RTN_MAX 0xFF
138-
/** Maximum broadcast ISO retransmission value */
140+
/** Minimum broadcast ISO retransmission value (0) */
141+
#define BT_ISO_BROADCAST_RTN_MIN 0x00
142+
/** Maximum broadcast ISO retransmission value (30) */
139143
#define BT_ISO_BROADCAST_RTN_MAX 0x1E
140-
/** Broadcast code size */
141-
#define BT_ISO_BROADCAST_CODE_SIZE 16
142-
/** Lowest BIS index */
144+
/** Broadcast code size (16 octets) */
145+
#define BT_ISO_BROADCAST_CODE_SIZE 0x10
146+
/** Lowest BIS index (1) */
143147
#define BT_ISO_BIS_INDEX_MIN 0x01
144-
/** Highest BIS index */
148+
/** Highest BIS index (31) */
145149
#define BT_ISO_BIS_INDEX_MAX 0x1F
146-
/** Minimum Immediate Repetition Count */
150+
/** Minimum Immediate Repetition Count (1) */
147151
#define BT_ISO_IRC_MIN 0x01U
148-
/** Maximum Immediate Repetition Count */
152+
/** Maximum Immediate Repetition Count (15) */
149153
#define BT_ISO_IRC_MAX 0x0FU
150-
/** Minimum pre-transmission offset */
154+
/** Minimum pre-transmission offset (0) */
151155
#define BT_ISO_PTO_MIN 0x00U
152-
/** Maximum pre-transmission offset */
156+
/** Maximum pre-transmission offset (15) */
153157
#define BT_ISO_PTO_MAX 0x0FU
154158
/** No subinterval */
155-
#define BT_ISO_SUBINTERVAL_NONE 0x00000000U
159+
#define BT_ISO_SUBINTERVAL_NONE 0x000000U
156160
/** Unknown subinterval */
157-
#define BT_ISO_SUBINTERVAL_UNKNOWN 0xFFFFFFFFU
161+
#define BT_ISO_SUBINTERVAL_UNKNOWN 0xFFFFFFU
162+
/** Minimum subinterval in microseconds (400 us) */
163+
#define BT_ISO_SUBINTERVAL_MIN 0x000190U
164+
/** @brief Maximum subinterval in microseconds (39999 us)
165+
*
166+
* This maximum depends on the ISO interval, as the subinterval shall be less than the ISO interval
167+
*/
168+
#define BT_ISO_SUBINTERVAL_MAX 0x009C3FU
158169

159170
/**
160171
* @brief Check if ISO BIS bitfield is valid (BT_ISO_BIS_INDEX_BIT(1)|..|BT_ISO_BIS_INDEX_BIT(31))

0 commit comments

Comments
 (0)