This is an automated email from the ASF dual-hosted git repository.

sjanc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit 2cf66a2b17235319d82e6ded7aa2a6ccdcc5eec6
Author: Szymon Czapracki <[email protected]>
AuthorDate: Wed Apr 8 13:11:43 2026 +0200

    nimble/bttester: Report connectable state in controller info
    
    Set CONNECTABLE in current_settings based on the current advertising
    parameters so controller_info reports the actual runtime state.
---
 apps/bttester/src/btp_gap.c | 42 ++++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/apps/bttester/src/btp_gap.c b/apps/bttester/src/btp_gap.c
index 44e189a48..7f68b8eb7 100644
--- a/apps/bttester/src/btp_gap.c
+++ b/apps/bttester/src/btp_gap.c
@@ -150,6 +150,20 @@ controller_index_list(const void *cmd, uint16_t cmd_len,
     return BTP_STATUS_SUCCESS;
 }
 
+#if MYNEWT_VAL(BLE_EXT_ADV)
+static struct ble_gap_ext_adv_params adv_params = {
+    .primary_phy = BLE_HCI_LE_PHY_1M,
+    .secondary_phy = BLE_HCI_LE_PHY_1M,
+    .sid = 1,
+    .legacy_pdu = 1,
+};
+#else
+static struct ble_gap_adv_params adv_params = {
+    .conn_mode = BLE_GAP_CONN_MODE_NON,
+    .disc_mode = BLE_GAP_DISC_MODE_NON,
+};
+#endif
+
 static uint8_t
 controller_info(const void *cmd, uint16_t cmd_len,
                 void *rsp, uint16_t *rsp_len)
@@ -202,6 +216,20 @@ controller_info(const void *cmd, uint16_t cmd_len,
     supported_settings |= BIT(BTP_GAP_SETTINGS_ADVERTISING);
     supported_settings |= BIT(BTP_GAP_SETTINGS_SC);
 
+#if MYNEWT_VAL(BLE_EXT_ADV)
+    if (adv_params.connectable) {
+        current_settings |= BIT(BTP_GAP_SETTINGS_CONNECTABLE);
+    } else {
+        current_settings &= ~BIT(BTP_GAP_SETTINGS_CONNECTABLE);
+    }
+#else
+    if (adv_params.conn_mode != BLE_GAP_CONN_MODE_NON) {
+        current_settings |= BIT(BTP_GAP_SETTINGS_CONNECTABLE);
+    } else {
+        current_settings &= ~BIT(BTP_GAP_SETTINGS_CONNECTABLE);
+    }
+#endif
+
     if (ble_hs_cfg.sm_bonding) {
         current_settings |= BIT(BTP_GAP_SETTINGS_BONDABLE);
     }
@@ -219,20 +247,6 @@ controller_info(const void *cmd, uint16_t cmd_len,
     return BTP_STATUS_SUCCESS;
 }
 
-#if MYNEWT_VAL(BLE_EXT_ADV)
-static struct ble_gap_ext_adv_params adv_params = {
-    .primary_phy = BLE_HCI_LE_PHY_1M,
-    .secondary_phy = BLE_HCI_LE_PHY_1M,
-    .sid = 1,
-    .legacy_pdu = 1,
-};
-#else
-static struct ble_gap_adv_params adv_params = {
-    .conn_mode = BLE_GAP_CONN_MODE_NON,
-    .disc_mode = BLE_GAP_DISC_MODE_NON,
-};
-#endif
-
 static uint8_t ad_flags = BLE_HS_ADV_F_BREDR_UNSUP;
 
 #if MYNEWT_VAL(BTTESTER_PRIVACY_MODE) && MYNEWT_VAL(BTTESTER_USE_NRPA)

Reply via email to