From f0e247f31e5856b94aa208278efb449642f88af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Thu, 18 Aug 2022 14:15:05 +0200 Subject: [PATCH] [core] Print error if WiFi mode changing failed --- arduino/libretuya/api/WiFi/WiFi.cpp | 22 ++++++++++++++-------- arduino/libretuya/api/WiFi/WiFiGeneric.cpp | 9 ++++++++- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/arduino/libretuya/api/WiFi/WiFi.cpp b/arduino/libretuya/api/WiFi/WiFi.cpp index eefece8..f308ed6 100644 --- a/arduino/libretuya/api/WiFi/WiFi.cpp +++ b/arduino/libretuya/api/WiFi/WiFi.cpp @@ -12,8 +12,8 @@ void WiFiClass::printDiag(Print &dest) { if (getMode() & WIFI_MODE_STA) { dest.println("-- Station --"); dest.print("SSID: "); - dest.println(SSID()); if (isConnected()) { + dest.println(SSID()); dest.print("Channel: "); dest.println(channel()); dest.print("BSSID: "); @@ -28,19 +28,25 @@ void WiFiClass::printDiag(Print &dest) { dest.println(macAddress()); dest.print("Hostname: "); dest.println(getHostname()); + } else { + dest.println("disconnected"); } } if (getMode() & WIFI_MODE_AP) { dest.println("-- Access Point --"); dest.print("SSID: "); - dest.println(softAPSSID()); - dest.print("IP: "); - dest.println(softAPIP()); - dest.print("MAC: "); - dest.println(softAPmacAddress()); - dest.print("Hostname: "); - dest.println(softAPgetHostname()); + if (softAPSSID().length()) { + dest.println(softAPSSID()); + dest.print("IP: "); + dest.println(softAPIP()); + dest.print("MAC: "); + dest.println(softAPmacAddress()); + dest.print("Hostname: "); + dest.println(softAPgetHostname()); + } else { + dest.println("disconnected"); + } } } diff --git a/arduino/libretuya/api/WiFi/WiFiGeneric.cpp b/arduino/libretuya/api/WiFi/WiFiGeneric.cpp index 8652ab4..8b586de 100644 --- a/arduino/libretuya/api/WiFi/WiFiGeneric.cpp +++ b/arduino/libretuya/api/WiFi/WiFiGeneric.cpp @@ -22,7 +22,14 @@ bool WiFiClass::mode(WiFiMode mode) { dataInitialize(); // actually change the mode LT_HEAP_I(); - return modePriv(mode, sta, ap); + if (!modePriv(mode, sta, ap)) + return false; +#if LT_LEVEL_DEBUG >= LT_LOGLEVEL + if (getMode() != mode) { + LT_W("Mode changed to %d (requested %d)", getMode(), mode); + } +#endif + return true; } bool WiFiClass::enableSTA(bool enable) {