From 886a74ce60d488da54fde6a1b9dc328690cc48b5 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 3 Aug 2023 11:50:25 -0300 Subject: [PATCH 1/2] fixes preprocessor test When using `#define USE_SOFT_AP` Change `&& not USE_SOFT_AP` ==> `&& !defined(USE_SOFT_AP)` --- libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino b/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino index 28c470f7241..7ff386ddc5e 100644 --- a/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino +++ b/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino @@ -62,7 +62,7 @@ void setup() { Serial.begin(115200); WiFi.onEvent(SysProvEvent); -#if CONFIG_IDF_TARGET_ESP32 && CONFIG_BLUEDROID_ENABLED && not USE_SOFT_AP +#if CONFIG_IDF_TARGET_ESP32 && CONFIG_BLUEDROID_ENABLED && !defined(USE_SOFT_AP) Serial.println("Begin Provisioning using BLE"); // Sample uuid that user can pass during provisioning using BLE uint8_t uuid[16] = {0xb4, 0xdf, 0x5a, 0x1c, 0x3f, 0x6b, 0xf4, 0xbf, @@ -73,7 +73,7 @@ void setup() { WiFiProv.beginProvision(WIFI_PROV_SCHEME_SOFTAP, WIFI_PROV_SCHEME_HANDLER_NONE, WIFI_PROV_SECURITY_1, pop, service_name, service_key); #endif - #if CONFIG_BLUEDROID_ENABLED && not USE_SOFT_AP + #if CONFIG_BLUEDROID_ENABLED && !defined(USE_SOFT_AP) log_d("ble qr"); WiFiProv.printQR(service_name, pop, "ble"); #else From fa1024a823952056c9f7c2d0e65d07a1ea190318 Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Thu, 3 Aug 2023 12:37:06 -0300 Subject: [PATCH 2/2] Adds any BLE capable device in WiFiProv.ino Removing ESP32 restriction for BLE Provisioning. --- libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino b/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino index 7ff386ddc5e..204e6c34a5b 100644 --- a/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino +++ b/libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino @@ -62,24 +62,21 @@ void setup() { Serial.begin(115200); WiFi.onEvent(SysProvEvent); -#if CONFIG_IDF_TARGET_ESP32 && CONFIG_BLUEDROID_ENABLED && !defined(USE_SOFT_AP) +// BLE Provisioning using the ESP SoftAP Prov works fine for any BLE SoC, incuding ESP32, ESP32S3 and ESP32C3. +#if CONFIG_BLUEDROID_ENABLED && !defined(USE_SOFT_AP) Serial.println("Begin Provisioning using BLE"); // Sample uuid that user can pass during provisioning using BLE uint8_t uuid[16] = {0xb4, 0xdf, 0x5a, 0x1c, 0x3f, 0x6b, 0xf4, 0xbf, 0xea, 0x4a, 0x82, 0x03, 0x04, 0x90, 0x1a, 0x02 }; WiFiProv.beginProvision(WIFI_PROV_SCHEME_BLE, WIFI_PROV_SCHEME_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, pop, service_name, service_key, uuid, reset_provisioned); + log_d("ble qr"); + WiFiProv.printQR(service_name, pop, "ble"); #else Serial.println("Begin Provisioning using Soft AP"); WiFiProv.beginProvision(WIFI_PROV_SCHEME_SOFTAP, WIFI_PROV_SCHEME_HANDLER_NONE, WIFI_PROV_SECURITY_1, pop, service_name, service_key); -#endif - - #if CONFIG_BLUEDROID_ENABLED && !defined(USE_SOFT_AP) - log_d("ble qr"); - WiFiProv.printQR(service_name, pop, "ble"); - #else log_d("wifi qr"); WiFiProv.printQR(service_name, pop, "softap"); - #endif +#endif } void loop() {