Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit dcff2e9

Browse filesBrowse files
Separate Provisioning library from WiFi library (espressif#4547)
1 parent 6d256b6 commit dcff2e9
Copy full SHA for dcff2e9

File tree

Expand file treeCollapse file tree

8 files changed

+42
-29
lines changed
Filter options
Expand file treeCollapse file tree

8 files changed

+42
-29
lines changed

‎CMakeLists.txt

Copy file name to clipboardExpand all lines: CMakeLists.txt
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ set(LIBRARY_SRCS
7272
libraries/WiFi/src/WiFi.cpp
7373
libraries/WiFi/src/WiFiGeneric.cpp
7474
libraries/WiFi/src/WiFiMulti.cpp
75-
libraries/WiFi/src/WiFiProv.cpp
7675
libraries/WiFi/src/WiFiScan.cpp
7776
libraries/WiFi/src/WiFiServer.cpp
7877
libraries/WiFi/src/WiFiSTA.cpp
7978
libraries/WiFi/src/WiFiUdp.cpp
79+
libraries/WiFiProv/src/WiFiProv.cpp
8080
libraries/Wire/src/Wire.cpp
8181
)
8282

@@ -202,6 +202,7 @@ set(COMPONENT_ADD_INCLUDEDIRS
202202
libraries/WebServer/src
203203
libraries/WiFiClientSecure/src
204204
libraries/WiFi/src
205+
libraries/WiFiProv/src
205206
libraries/Wire/src
206207
)
207208

‎libraries/WiFi/src/WiFi.cpp

Copy file name to clipboardExpand all lines: libraries/WiFi/src/WiFi.cpp
+10Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,14 @@ void WiFiClass::printDiag(Print& p)
8888
p.println(conf.sta.bssid_set);
8989
}
9090

91+
void WiFiClass::enableProv(bool status)
92+
{
93+
prov_enable = status;
94+
}
95+
96+
bool WiFiClass::isProvEnabled()
97+
{
98+
return prov_enable;
99+
}
100+
91101
WiFiClass WiFi;

‎libraries/WiFi/src/WiFi.h

Copy file name to clipboardExpand all lines: libraries/WiFi/src/WiFi.h
+10-2Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,17 @@
3737
#include "WiFiClient.h"
3838
#include "WiFiServer.h"
3939
#include "WiFiUdp.h"
40-
#include "WiFiProv.h"
4140

42-
class WiFiClass : public WiFiGenericClass, public WiFiSTAClass, public WiFiScanClass, public WiFiAPClass, public WiFiProvClass
41+
class WiFiClass : public WiFiGenericClass, public WiFiSTAClass, public WiFiScanClass, public WiFiAPClass
4342
{
43+
private:
44+
bool prov_enable;
4445
public:
46+
WiFiClass()
47+
{
48+
prov_enable = false;
49+
}
50+
4551
using WiFiGenericClass::channel;
4652

4753
using WiFiSTAClass::SSID;
@@ -60,6 +66,8 @@ class WiFiClass : public WiFiGenericClass, public WiFiSTAClass, public WiFiScanC
6066
friend class WiFiClient;
6167
friend class WiFiServer;
6268
friend class WiFiUDP;
69+
void enableProv(bool status);
70+
bool isProvEnabled();
6371
};
6472

6573
extern WiFiClass WiFi;

‎libraries/WiFi/examples/WiFiProv/WiFiProv.ino renamed to ‎libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino

Copy file name to clipboardExpand all lines: libraries/WiFiProv/examples/WiFiProv/WiFiProv.ino
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "WiFi.h"
1+
#include "WiFiProv.h"
22
void SysProvEvent(system_event_t *sys_event,wifi_prov_event_t *prov_event)
33
{
44
if(sys_event) {
@@ -56,8 +56,8 @@ void setup() {
5656
/* uint8_t uuid[16] = {0xb4, 0xdf, 0x5a, 0x1c, 0x3f, 0x6b, 0xf4, 0xbf,
5757
0xea, 0x4a, 0x82, 0x03, 0x04, 0x90, 0x1a, 0x02 };*/
5858
WiFi.onEvent(SysProvEvent);
59-
//WiFi.beginProvision(provSchemeBLE, WIFI_PROV_SCHEME_BLE_EVENT_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, "abcd1234", "PROV_XXX", NULL, NULL);
60-
WiFi.beginProvision(provSchemeSoftAP, WIFI_PROV_EVENT_HANDLER_NONE, WIFI_PROV_SECURITY_1, "abcd1234", NULL, NULL, NULL);
59+
//WiFiProv.beginProvision(provSchemeBLE, WIFI_PROV_SCHEME_BLE_EVENT_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, "abcd1234", "PROV_XXX", NULL, NULL);
60+
WiFiProv.beginProvision(provSchemeSoftAP, WIFI_PROV_EVENT_HANDLER_NONE, WIFI_PROV_SECURITY_1, "abcd1234", NULL, NULL, NULL);
6161
}
6262

6363
void loop() {

‎libraries/WiFiProv/library.properties

Copy file name to clipboard
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name=WiFiProv
2+
version=1.0
3+
author=Switi Mhaiske <sweetymhaiske@gmail.com>
4+
maintainer=Hristo Gochkov <hristo@espressif.com>
5+
sentence=Enables provisioning.
6+
paragraph=With this library you can perform provisioning on esp32 via SoftAP or BLE.
7+
category=
8+
url=
9+
architectures=esp32

‎libraries/WiFi/src/WiFiProv.cpp renamed to ‎libraries/WiFiProv/src/WiFiProv.cpp

Copy file name to clipboardExpand all lines: libraries/WiFiProv/src/WiFiProv.cpp
+5-11Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
#include <wifi_provisioning/scheme_softap.h>
3232
#include <wifi_provisioning/manager.h>
3333
#undef IPADDR_NONE
34-
#include "WiFi.h"
34+
#include "WiFiProv.h"
35+
#include "SimpleBLE.h"
3536

3637
extern esp_err_t postToSysQueue(system_prov_event_t *);
3738

@@ -42,13 +43,6 @@ static const uint8_t custom_service_uuid[16] = { 0xb4, 0xdf, 0x5a, 0x1c, 0x3f,
4243

4344
#define SERV_NAME_PREFIX_PROV "PROV_"
4445

45-
bool WiFiProvClass::prov_enable = true;
46-
47-
bool WiFiProvClass::isProvEnabled()
48-
{
49-
return prov_enable;
50-
}
51-
5246
void provSchemeBLE()
5347
{
5448
prov_scheme = WIFI_PROV_SCHEME_BLE;
@@ -109,7 +103,7 @@ static void get_device_service_name(char *service_name, size_t max)
109103

110104
void WiFiProvClass :: beginProvision(void (*scheme_cb)(), wifi_prov_event_handler_t scheme_event_handler, wifi_prov_security_t security, const char * pop, const char *service_name, const char *service_key, uint8_t * uuid)
111105
{
112-
prov_enable = true;
106+
WiFi.enableProv(true);
113107
bool provisioned = false;
114108
scheme_cb();
115109
config.scheme_event_handler = scheme_event_handler;
@@ -152,7 +146,7 @@ void WiFiProvClass :: beginProvision(void (*scheme_cb)(), wifi_prov_event_handle
152146
} else {
153147
wifi_prov_mgr_deinit();
154148
WiFi.mode(WIFI_MODE_STA);
155-
log_i("Aleardy Provisioned, starting Wi-Fi STA");
149+
log_i("Already Provisioned, starting Wi-Fi STA");
156150
#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO
157151
wifi_config_t conf;
158152
esp_wifi_get_config(WIFI_IF_STA,&conf);
@@ -162,4 +156,4 @@ void WiFiProvClass :: beginProvision(void (*scheme_cb)(), wifi_prov_event_handle
162156
WiFi.begin();
163157
}
164158
}
165-
159+
WiFiProvClass WiFiProv;

‎libraries/WiFi/src/WiFiProv.h renamed to ‎libraries/WiFiProv/src/WiFiProv.h

Copy file name to clipboardExpand all lines: libraries/WiFiProv/src/WiFiProv.h
+3-12Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818
*/
1919

20+
#include "WiFi.h"
2021
#include "wifi_provisioning/manager.h"
2122
#include "wifi_provisioning/scheme_ble.h"
22-
#include "nvs_flash.h"
23-
#include "SimpleBLE.h"
2423
//Select the scheme using which you want to provision
2524
typedef enum
2625
{
@@ -34,19 +33,11 @@ extern void provSchemeBLE();
3433
//Provisioning class
3534
class WiFiProvClass
3635
{
37-
protected:
38-
static bool prov_enable;
39-
4036
public:
41-
WiFiProvClass() {
42-
prov_enable = false;
43-
}
4437

45-
bool isProvEnabled();
46-
47-
void beginProvision(void (*scheme_cb)() = provSchemeSoftAP, wifi_prov_event_handler_t scheme_event_handler = WIFI_PROV_EVENT_HANDLER_NONE, wifi_prov_security_t security = WIFI_PROV_SECURITY_1, const char * pop = "abcd1234", const char * service_name = NULL, const char * service_key = NULL, uint8_t *uuid = NULL);
38+
void beginProvision(void (*scheme_cb)() = provSchemeSoftAP, wifi_prov_event_handler_t scheme_event_handler = WIFI_PROV_EVENT_HANDLER_NONE, wifi_prov_security_t security = WIFI_PROV_SECURITY_1, const char * pop = "abcd1234", const char * service_name = NULL, const char * service_key = NULL, uint8_t *uuid = NULL);
4839
};
49-
40+
extern WiFiProvClass WiFiProv;
5041
/*
5142
Event Handler for BLE
5243
- WIFI_PROV_SCHEME_BLE_EVENT_HANDLER_FREE_BTDM

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.