Closed
Description
Hardware:
Board: ESP32 Dev Module
Core Installation version: ?1.0.0
IDE name: Arduino IDE
--------------------------
Chip Rev: 1
Sdk Ver : v3.2-111-g524308c98
Cpu Freq: 240
Cycles : 11074815
--------------------------
Heap Size : 342420
Free Heap : 316340
SPIRam Size: 0
SPIRam Free: 0
Flash Mode : 2
Flash Size : 4194304
Flash Speed: 80000000
--------------------------
Computer OS: Windows 10
Description:
Calls to WiFiEvent(WiFiEvent_t event) are not making sense
Sketch: (leave the backquotes for [code formatting]
#include <WiFi.h>
void WiFiEvent(WiFiEvent_t event) {
switch (event) {
case SYSTEM_EVENT_WIFI_READY:
Serial.println("SYSTEM_EVENT_WIFI_READY");
break;
case SYSTEM_EVENT_SCAN_DONE:
Serial.println("SYSTEM_EVENT_SCAN_DONE");
break;
case SYSTEM_EVENT_STA_START:
Serial.println("SYSTEM_EVENT_STA_START");
break;
case SYSTEM_EVENT_STA_STOP:
Serial.println("SYSTEM_EVENT_STA_STOP");
break;
case SYSTEM_EVENT_STA_CONNECTED://or STARTED ?
Serial.println("SYSTEM_EVENT_STA_CONNECTED");
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
Serial.println("SYSTEM_EVENT_STA_DISCONNECTED");
break;
case SYSTEM_EVENT_STA_AUTHMODE_CHANGE:
Serial.println("SYSTEM_EVENT_STA_AUTHMODE_CHANGE");
break;
case SYSTEM_EVENT_STA_GOT_IP:
Serial.println("SYSTEM_EVENT_STA_GOT_IP");
break;
case SYSTEM_EVENT_STA_LOST_IP:
Serial.println("SYSTEM_EVENT_STA_LOST_IP");
break;
case SYSTEM_EVENT_AP_START:
Serial.println("SYSTEM_EVENT_AP_START");
break;
case SYSTEM_EVENT_AP_STOP:
Serial.println("SYSTEM_EVENT_AP_STOP");
break;
case SYSTEM_EVENT_AP_STACONNECTED:
Serial.println("SYSTEM_EVENT_AP_STACONNECTED");
break;
case SYSTEM_EVENT_AP_STADISCONNECTED:
Serial.println("SYSTEM_EVENT_AP_STADISCONNECTED");
break;
case SYSTEM_EVENT_AP_STAIPASSIGNED:
Serial.println("SYSTEM_EVENT_AP_STAIPASSIGNED");
break;
case SYSTEM_EVENT_AP_PROBEREQRECVED:
Serial.println("SYSTEM_EVENT_AP_PROBEREQRECVED");
break;
default:
Serial.println("UNKNOWN EVENT: " + event);
break;
}
}
void setup() {
Serial.begin(115200);
WiFi.onEvent(WiFiEvent);
//select test nr 1-3
switch(1){
case 1:
WiFi.mode(WIFI_MODE_AP);
break;
case 2:
WiFi.mode(WIFI_MODE_STA);
WiFi.begin();
break;
case 3:
WiFi.mode(WIFI_MODE_APSTA);
WiFi.begin();
break;
}
}
void loop() {}
Debug Messages:
test#1
AP_START without WiFi.softAP() call?
Misfires: WIFI_READY (sometimes)
output:
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 0 - WIFI_READY
SYSTEM_EVENT_WIFI_READY
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 13 - AP_START
sometimes: (after using WiFi.softAP)
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 13 - AP_START
SYSTEM_EVENT_AP_START
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 13 - AP_START
test#2
STA_CONNECTED before getting an IP?
Misfires: STA_GOT_IP
output:
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 2 - STA_START
SYSTEM_EVENT_STA_START
SYSTEM_EVENT_WIFI_READY
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 4 - STA_CONNECTED
SYSTEM_EVENT_STA_CONNECTED
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 7 - STA_GOT_IP
[D][WiFiGeneric.cpp:379] _eventCallback(): STA IP: 192.168.1.150, MASK: 255.255.255.0, GW: 192.168.1.1
test#3
Why two AP_START calls?
Misfires: WIFI_READY and STA_GOT_IP
output:
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 13 - AP_START
SYSTEM_EVENT_AP_START
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 13 - AP_START
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 4 - STA_CONNECTED
SYSTEM_EVENT_STA_CONNECTED
[D][WiFiGeneric.cpp:336] _eventCallback(): Event: 7 - STA_GOT_IP
[D][WiFiGeneric.cpp:379] _eventCallback(): STA IP: 192.168.1.150, MASK: 255.255.255.0, GW: 192.168.1.1