Skip to content

Commit 2071f46

Browse files
olivier-le-sagerlubos
authored andcommitted
bluetooth: samples: rrsp: Add CS procedure parameters
Otherwise this device responds with some default parameters when negotiating parameters with the other device, which may be hard to understand. Sending procedure parameters on both sides is needed, for instance, to make sure both sides send a desired tx_power_delta. Signed-off-by: Olivier Lesage <[email protected]>
1 parent bbf6721 commit 2071f46

File tree

1 file changed

+27
-0
lines changed
  • samples/bluetooth/channel_sounding_ras_reflector/src

1 file changed

+27
-0
lines changed

samples/bluetooth/channel_sounding_ras_reflector/src/main.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ LOG_MODULE_REGISTER(app_main, LOG_LEVEL_INF);
2525
#define CON_STATUS_LED DK_LED1
2626

2727
static K_SEM_DEFINE(sem_connected, 0, 1);
28+
static K_SEM_DEFINE(sem_config, 0, 1);
2829

2930
static struct bt_conn *connection;
3031

@@ -87,6 +88,7 @@ static void config_create_cb(struct bt_conn *conn,
8788

8889
if (status == BT_HCI_ERR_SUCCESS) {
8990
LOG_INF("CS config creation complete. ID: %d", config->id);
91+
k_sem_give(&sem_config);
9092
} else {
9193
LOG_WRN("CS config creation failed. (HCI status 0x%02x)", status);
9294
}
@@ -178,6 +180,31 @@ int main(void)
178180
if (err) {
179181
LOG_ERR("Failed to configure default CS settings (err %d)", err);
180182
}
183+
184+
k_sem_take(&sem_config, K_FOREVER);
185+
186+
const struct bt_le_cs_set_procedure_parameters_param procedure_params = {
187+
.config_id = 0,
188+
.max_procedure_len = 1000,
189+
.min_procedure_interval = 1,
190+
.max_procedure_interval = 100,
191+
.max_procedure_count = 0,
192+
.min_subevent_len = 10000,
193+
.max_subevent_len = 75000,
194+
.tone_antenna_config_selection = BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B1,
195+
.phy = BT_LE_CS_PROCEDURE_PHY_2M,
196+
.tx_power_delta = 0x80,
197+
.preferred_peer_antenna = BT_LE_CS_PROCEDURE_PREFERRED_PEER_ANTENNA_1,
198+
.snr_control_initiator = BT_LE_CS_SNR_CONTROL_NOT_USED,
199+
.snr_control_reflector = BT_LE_CS_SNR_CONTROL_NOT_USED,
200+
};
201+
202+
err = bt_le_cs_set_procedure_parameters(connection, &procedure_params);
203+
if (err) {
204+
LOG_ERR("Failed to set procedure parameters (err %d)", err);
205+
return 0;
206+
}
207+
181208
}
182209

183210
return 0;

0 commit comments

Comments
 (0)