فهرست منبع

Merge branch 'bugfix/restart_ext_adv_after_discovery' into 'master'

Nimble: Updated bleprph example to re-enable ext adv after advertising is completed

See merge request espressif/esp-idf!22369
Jiang Jiang Jian 2 سال پیش
والد
کامیت
7320e10d20
1فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 8 2
      examples/bluetooth/nimble/bleprph/main/main.c

+ 8 - 2
examples/bluetooth/nimble/bleprph/main/main.c

@@ -89,9 +89,13 @@ ext_bleprph_advertise(void)
 {
     struct ble_gap_ext_adv_params params;
     struct os_mbuf *data;
-    uint8_t instance = 1;
+    uint8_t instance = 0;
     int rc;
 
+    /* First check if any instance is already active */
+    if(ble_gap_adv_active())
+        return;
+
     /* use defaults for non-set params */
     memset (&params, 0, sizeof(params));
 
@@ -323,7 +327,9 @@ bleprph_gap_event(struct ble_gap_event *event, void *arg)
     case BLE_GAP_EVENT_ADV_COMPLETE:
         MODLOG_DFLT(INFO, "advertise complete; reason=%d",
                     event->adv_complete.reason);
-#if !CONFIG_EXAMPLE_EXTENDED_ADV
+#if CONFIG_EXAMPLE_EXTENDED_ADV
+        ext_bleprph_advertise();
+#else
         bleprph_advertise();
 #endif
         return 0;