Skip to content

Commit 6074222

Browse files
committed
WiFi: Move wifiEvent
1 parent 067f1bb commit 6074222

File tree

1 file changed

+113
-114
lines changed

1 file changed

+113
-114
lines changed

Firmware/RTK_Everywhere/WiFi.ino

Lines changed: 113 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,119 @@ void wifiDisplayState()
553553
}
554554
}
555555

556+
//*********************************************************************
557+
// Process the WiFi events
558+
void wifiEvent(arduino_event_id_t event, arduino_event_info_t info)
559+
{
560+
char ssid[sizeof(info.wifi_sta_connected.ssid) + 1];
561+
IPAddress ipAddress;
562+
563+
// If we are in AP or AP_STA, the network is immediately marked online
564+
// Once AP is online, don't stop WiFi because STA has various events
565+
if (WiFi.getMode() == WIFI_MODE_STA)
566+
{
567+
// Take the network offline if necessary
568+
if (networkInterfaceHasInternet(NETWORK_WIFI) && (event != ARDUINO_EVENT_WIFI_STA_GOT_IP) &&
569+
(event != ARDUINO_EVENT_WIFI_STA_GOT_IP6))
570+
{
571+
if (settings.debugWifiState)
572+
systemPrintf("Stopping WiFi because of event # %d\r\n", event);
573+
574+
networkStop(NETWORK_WIFI, settings.debugNetworkLayer); // Stop WiFi to allow it to restart
575+
}
576+
}
577+
578+
// WiFi State Machine
579+
//
580+
// .--------+<----------+<-----------+<-------------+<----------+<----------+<------------.
581+
// v | | | | | | |
582+
// STOP --> READY --> STA_START --> SCAN_DONE --> CONNECTED --> GOT_IP --> LOST_IP --> DISCONNECTED
583+
// ^ ^ | |
584+
// | '-----------' |
585+
// '-------------------------------------'
586+
//
587+
// Handle the event
588+
switch (event)
589+
{
590+
default:
591+
systemPrintf("ERROR: Unknown WiFi event: %d\r\n", event);
592+
break;
593+
594+
case ARDUINO_EVENT_WIFI_OFF:
595+
systemPrintln("WiFi Off");
596+
break;
597+
598+
case ARDUINO_EVENT_WIFI_READY:
599+
if (settings.debugWifiState)
600+
systemPrintln("WiFi Ready");
601+
WiFi.setHostname(settings.mdnsHostName);
602+
break;
603+
604+
case ARDUINO_EVENT_WIFI_SCAN_DONE:
605+
if (settings.debugWifiState)
606+
systemPrintln("WiFi Scan Done");
607+
// wifi_event_sta_scan_done_t info.wifi_scan_done;
608+
break;
609+
610+
case ARDUINO_EVENT_WIFI_STA_START:
611+
if (settings.debugWifiState)
612+
systemPrintln("WiFi STA Started");
613+
break;
614+
615+
case ARDUINO_EVENT_WIFI_STA_STOP:
616+
if (settings.debugWifiState)
617+
systemPrintln("WiFi STA Stopped");
618+
break;
619+
620+
case ARDUINO_EVENT_WIFI_STA_CONNECTED:
621+
memcpy(ssid, info.wifi_sta_connected.ssid, info.wifi_sta_connected.ssid_len);
622+
ssid[info.wifi_sta_connected.ssid_len] = 0;
623+
624+
ipAddress = WiFi.localIP();
625+
systemPrintf("WiFi STA connected to %s with IP address: ", ssid);
626+
systemPrintln(ipAddress);
627+
628+
WiFi.setHostname(settings.mdnsHostName);
629+
break;
630+
631+
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
632+
memcpy(ssid, info.wifi_sta_disconnected.ssid, info.wifi_sta_disconnected.ssid_len);
633+
ssid[info.wifi_sta_disconnected.ssid_len] = 0;
634+
systemPrintf("WiFi STA disconnected from %s\r\n", ssid);
635+
// wifi_event_sta_disconnected_t info.wifi_sta_disconnected;
636+
break;
637+
638+
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE:
639+
systemPrintln("WiFi STA Auth Mode Changed");
640+
// wifi_event_sta_authmode_change_t info.wifi_sta_authmode_change;
641+
break;
642+
643+
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
644+
if (settings.debugWifiState)
645+
{
646+
ipAddress = WiFi.localIP();
647+
systemPrint("WiFi STA Got IPv4: ");
648+
systemPrintln(ipAddress);
649+
}
650+
networkInterfaceInternetConnectionAvailable(NETWORK_WIFI);
651+
break;
652+
653+
case ARDUINO_EVENT_WIFI_STA_GOT_IP6:
654+
if (settings.debugWifiState)
655+
{
656+
ipAddress = WiFi.localIP();
657+
systemPrint("WiFi STA Got IPv6: ");
658+
systemPrintln(ipAddress);
659+
}
660+
networkInterfaceInternetConnectionAvailable(NETWORK_WIFI);
661+
break;
662+
663+
case ARDUINO_EVENT_WIFI_STA_LOST_IP:
664+
systemPrintln("WiFi STA Lost IP");
665+
break;
666+
}
667+
}
668+
556669
//*********************************************************************
557670
// Counts the number of entered SSIDs
558671
int wifiNetworkCount()
@@ -3033,120 +3146,6 @@ bool wifiConnect(bool startWiFiStation, bool startWiFiAP, unsigned long timeout)
30333146
return false;
30343147
}
30353148

3036-
//----------------------------------------
3037-
// Process the WiFi events
3038-
//----------------------------------------
3039-
void wifiEvent(arduino_event_id_t event, arduino_event_info_t info)
3040-
{
3041-
char ssid[sizeof(info.wifi_sta_connected.ssid) + 1];
3042-
IPAddress ipAddress;
3043-
3044-
// If we are in AP or AP_STA, the network is immediately marked online
3045-
// Once AP is online, don't stop WiFi because STA has various events
3046-
if (WiFi.getMode() == WIFI_MODE_STA)
3047-
{
3048-
// Take the network offline if necessary
3049-
if (networkInterfaceHasInternet(NETWORK_WIFI) && (event != ARDUINO_EVENT_WIFI_STA_GOT_IP) &&
3050-
(event != ARDUINO_EVENT_WIFI_STA_GOT_IP6))
3051-
{
3052-
if (settings.debugWifiState)
3053-
systemPrintf("Stopping WiFi because of event # %d\r\n", event);
3054-
3055-
networkStop(NETWORK_WIFI, settings.debugNetworkLayer); // Stop WiFi to allow it to restart
3056-
}
3057-
}
3058-
3059-
// WiFi State Machine
3060-
//
3061-
// .--------+<----------+<-----------+<-------------+<----------+<----------+<------------.
3062-
// v | | | | | | |
3063-
// STOP --> READY --> STA_START --> SCAN_DONE --> CONNECTED --> GOT_IP --> LOST_IP --> DISCONNECTED
3064-
// ^ ^ | |
3065-
// | '-----------' |
3066-
// '-------------------------------------'
3067-
//
3068-
// Handle the event
3069-
switch (event)
3070-
{
3071-
default:
3072-
systemPrintf("ERROR: Unknown WiFi event: %d\r\n", event);
3073-
break;
3074-
3075-
case ARDUINO_EVENT_WIFI_OFF:
3076-
systemPrintln("WiFi Off");
3077-
break;
3078-
3079-
case ARDUINO_EVENT_WIFI_READY:
3080-
if (settings.debugWifiState)
3081-
systemPrintln("WiFi Ready");
3082-
WiFi.setHostname(settings.mdnsHostName);
3083-
break;
3084-
3085-
case ARDUINO_EVENT_WIFI_SCAN_DONE:
3086-
if (settings.debugWifiState)
3087-
systemPrintln("WiFi Scan Done");
3088-
// wifi_event_sta_scan_done_t info.wifi_scan_done;
3089-
break;
3090-
3091-
case ARDUINO_EVENT_WIFI_STA_START:
3092-
if (settings.debugWifiState)
3093-
systemPrintln("WiFi STA Started");
3094-
break;
3095-
3096-
case ARDUINO_EVENT_WIFI_STA_STOP:
3097-
if (settings.debugWifiState)
3098-
systemPrintln("WiFi STA Stopped");
3099-
break;
3100-
3101-
case ARDUINO_EVENT_WIFI_STA_CONNECTED:
3102-
memcpy(ssid, info.wifi_sta_connected.ssid, info.wifi_sta_connected.ssid_len);
3103-
ssid[info.wifi_sta_connected.ssid_len] = 0;
3104-
3105-
ipAddress = WiFi.localIP();
3106-
systemPrintf("WiFi STA connected to %s with IP address: ", ssid);
3107-
systemPrintln(ipAddress);
3108-
3109-
WiFi.setHostname(settings.mdnsHostName);
3110-
break;
3111-
3112-
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
3113-
memcpy(ssid, info.wifi_sta_disconnected.ssid, info.wifi_sta_disconnected.ssid_len);
3114-
ssid[info.wifi_sta_disconnected.ssid_len] = 0;
3115-
systemPrintf("WiFi STA disconnected from %s\r\n", ssid);
3116-
// wifi_event_sta_disconnected_t info.wifi_sta_disconnected;
3117-
break;
3118-
3119-
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE:
3120-
systemPrintln("WiFi STA Auth Mode Changed");
3121-
// wifi_event_sta_authmode_change_t info.wifi_sta_authmode_change;
3122-
break;
3123-
3124-
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
3125-
if (settings.debugWifiState)
3126-
{
3127-
ipAddress = WiFi.localIP();
3128-
systemPrint("WiFi STA Got IPv4: ");
3129-
systemPrintln(ipAddress);
3130-
}
3131-
networkInterfaceInternetConnectionAvailable(NETWORK_WIFI);
3132-
break;
3133-
3134-
case ARDUINO_EVENT_WIFI_STA_GOT_IP6:
3135-
if (settings.debugWifiState)
3136-
{
3137-
ipAddress = WiFi.localIP();
3138-
systemPrint("WiFi STA Got IPv6: ");
3139-
systemPrintln(ipAddress);
3140-
}
3141-
networkInterfaceInternetConnectionAvailable(NETWORK_WIFI);
3142-
break;
3143-
3144-
case ARDUINO_EVENT_WIFI_STA_LOST_IP:
3145-
systemPrintln("WiFi STA Lost IP");
3146-
break;
3147-
}
3148-
}
3149-
31503149
//----------------------------------------
31513150
// Determine if WIFI is connected
31523151
//----------------------------------------

0 commit comments

Comments
 (0)