@@ -104,10 +104,46 @@ static void iso_connected_cb(struct bt_iso_chan *chan)
104
104
.pid = BT_ISO_DATA_PATH_HCI ,
105
105
.format = BT_HCI_CODING_FORMAT_TRANSPARENT ,
106
106
};
107
+ struct bt_iso_info info ;
107
108
int err ;
108
109
109
110
LOG_INF ("ISO Channel %p connected" , chan );
110
111
112
+ err = bt_iso_chan_get_info (chan , & info );
113
+ TEST_ASSERT (err == 0 , "Failed to get BIS info: %d" , err );
114
+
115
+ TEST_ASSERT (!info .can_recv );
116
+ TEST_ASSERT (info .can_send );
117
+ TEST_ASSERT (info .type == BT_ISO_CHAN_TYPE_BROADCASTER );
118
+ TEST_ASSERT ((BT_GAP_ISO_INTERVAL_TO_US (info .iso_interval ) % SDU_INTERVAL_US ) == 0U ,
119
+ "ISO interval %u (%u) shall be a multiple of the SDU interval %u" ,
120
+ BT_GAP_ISO_INTERVAL_TO_US (info .iso_interval ), info .iso_interval ,
121
+ SDU_INTERVAL_US );
122
+ TEST_ASSERT (IN_RANGE (info .iso_interval , BT_ISO_ISO_INTERVAL_MIN , BT_ISO_ISO_INTERVAL_MAX ),
123
+ "Invalid ISO interval 0x%04x" , info .iso_interval );
124
+ TEST_ASSERT (IN_RANGE (info .max_subevent , BT_ISO_NSE_MIN , BT_ISO_NSE_MAX ),
125
+ "Invalid subevent number 0x%02x" , info .max_subevent );
126
+ TEST_ASSERT (IN_RANGE (info .broadcaster .sync_delay , BT_HCI_LE_BIG_SYNC_DELAY_MIN ,
127
+ BT_HCI_LE_BIG_SYNC_DELAY_MAX ),
128
+ "Invalid sync delay 0x%06x" , info .broadcaster .sync_delay );
129
+ TEST_ASSERT (IN_RANGE (info .broadcaster .latency , BT_HCI_LE_TRANSPORT_LATENCY_BIG_MIN ,
130
+ BT_HCI_LE_TRANSPORT_LATENCY_BIG_MAX ),
131
+ "Invalid transport latency 0x%06x" , info .broadcaster .latency );
132
+ TEST_ASSERT ((info .broadcaster .pto % info .iso_interval ) == 0U ,
133
+ "PTO in ms %u shall be a multiple of the ISO interval %u" , info .broadcaster .pto ,
134
+ info .iso_interval );
135
+ TEST_ASSERT (IN_RANGE ((info .broadcaster .pto / info .iso_interval ), BT_ISO_PTO_MIN ,
136
+ BT_ISO_PTO_MAX ),
137
+ "Invalid PTO 0x%x" , (info .broadcaster .pto / info .iso_interval ));
138
+ TEST_ASSERT (info .broadcaster .phy == BT_GAP_LE_PHY_1M ||
139
+ info .broadcaster .phy == BT_GAP_LE_PHY_2M ||
140
+ info .broadcaster .phy == BT_GAP_LE_PHY_CODED ,
141
+ "Invalid PHY 0x%02x" , info .broadcaster .phy );
142
+ TEST_ASSERT (IN_RANGE (info .broadcaster .bn , BT_ISO_BN_MIN , BT_ISO_BN_MAX ),
143
+ "Invalid BN 0x%02x" , info .broadcaster .bn );
144
+ TEST_ASSERT (IN_RANGE (info .broadcaster .irc , BT_ISO_IRC_MIN , BT_ISO_IRC_MAX ),
145
+ "Invalid IRC 0x%02x" , info .broadcaster .irc );
146
+
111
147
if (chan == default_chan ) {
112
148
seq_num = 0U ;
113
149
0 commit comments