File tree 1 file changed +19
-6
lines changed
1 file changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -369,23 +369,32 @@ void WiFiGenericClass::persistent(bool persistent)
369
369
*/
370
370
bool WiFiGenericClass::mode (wifi_mode_t m)
371
371
{
372
+ if (!_esp_wifi_started) {
373
+ wifiLowLevelInit ();
374
+ }
372
375
wifi_mode_t cm = getMode ();
373
376
if (cm == WIFI_MODE_MAX){
374
377
return false ;
375
378
}
376
379
if (cm == m) {
377
380
return true ;
378
381
}
382
+
383
+ if (m){
384
+ espWiFiStart ();
385
+ } else {
386
+ return espWiFiStop ();
387
+ }
388
+
379
389
esp_err_t err;
380
390
err = esp_wifi_set_mode (m);
381
391
if (err){
382
392
log_e (" Could not set mode! %u" , err);
383
393
return false ;
384
394
}
385
- if (m){
386
- return espWiFiStart ();
387
- }
388
- return espWiFiStop ();
395
+
396
+ return true ;
397
+
389
398
}
390
399
391
400
/* *
@@ -394,8 +403,12 @@ bool WiFiGenericClass::mode(wifi_mode_t m)
394
403
*/
395
404
wifi_mode_t WiFiGenericClass::getMode ()
396
405
{
397
- if (!wifiLowLevelInit ()){
398
- return WIFI_MODE_MAX;
406
+ // if(!wifiLowLevelInit()){
407
+ // return WIFI_MODE_MAX;
408
+ // }
409
+ if (!_esp_wifi_started)
410
+ {
411
+ return WIFI_MODE_NULL;
399
412
}
400
413
uint8_t mode;
401
414
esp_wifi_get_mode ((wifi_mode_t *)&mode);
You can’t perform that action at this time.
0 commit comments