From 48c33c705022861a8935f438cd45c3c9ac0e87f5 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 10 May 2026 22:39:34 +0300 Subject: [PATCH] Fix and improve wifi subsystem Fix a fault when wifi is disabled (udp can't be used without wifi). Print RSSI and channel in wifi command. --- flix/wifi.ino | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flix/wifi.ino b/flix/wifi.ino index 8386d89..c0aa119 100644 --- a/flix/wifi.ino +++ b/flix/wifi.ino @@ -24,6 +24,8 @@ void setupWiFi() { WiFi.softAP(storage.getString("WIFI_AP_SSID", "flix").c_str(), storage.getString("WIFI_AP_PASS", "flixwifi").c_str()); } else if (wifiMode == W_STA) { WiFi.begin(storage.getString("WIFI_STA_SSID", "").c_str(), storage.getString("WIFI_STA_PASS", "").c_str()); + } else { + return; } WiFi.setSleep(false); // disable power save udp.begin(udpLocalPort); @@ -37,6 +39,7 @@ void sendWiFi(const uint8_t *buf, int len) { } int receiveWiFi(uint8_t *buf, int len) { + if (WiFi.softAPgetStationNum() == 0 && !WiFi.isConnected()) return 0; udp.parsePacket(); if (udp.remoteIP()) udpRemoteIP = udp.remoteIP(); return udp.read(buf, len); @@ -57,10 +60,12 @@ void printWiFiInfo() { print("SSID: %s\n", WiFi.SSID().c_str()); print("Password: ***\n"); print("IP: %s\n", WiFi.localIP().toString().c_str()); + print("RSSI: %d dBm\n", WiFi.RSSI()); } else { print("Mode: Disabled\n"); return; } + print("Channel: %d\n", WiFi.channel()); print("Remote IP: %s\n", udpRemoteIP.toString().c_str()); print("MAVLink connected: %d\n", mavlinkConnected); }