Merge ethernet_esp32 and esthernet_spi.cpp

This commit is contained in:
fvanroie 2022-06-11 19:16:21 +02:00
parent 2af1f4800e
commit 0f95052dc3
12 changed files with 112 additions and 220 deletions

View File

@ -234,14 +234,13 @@ static WiFiSpiClass WiFi;
#if HASP_USE_ETHERNET > 0 #if HASP_USE_ETHERNET > 0
#if defined(ARDUINO_ARCH_ESP32) #if defined(ARDUINO_ARCH_ESP32)
#include "sys/net/hasp_ethernet_esp32.h"
#if HASP_USE_SPI_ETHERNET > 0 #if HASP_USE_SPI_ETHERNET > 0
#include <ETHSPI.h> #include <ETHSPI.h>
#include "sys/net/hasp_ethernet_spi.h"
#warning Using ESP32 Ethernet SPI W5500 #warning Using ESP32 Ethernet SPI W5500
#define HASP_ETHERNET ETHSPI
#else #else
#include <ETH.h>
#define ETH_ADDR 0 #define ETH_ADDR 0
#define ETH_POWER_PIN -1 #define ETH_POWER_PIN -1
#define ETH_MDC_PIN 23 #define ETH_MDC_PIN 23
@ -249,10 +248,11 @@ static WiFiSpiClass WiFi;
#define NRST 5 #define NRST 5
#define ETH_TYPE ETH_PHY_LAN8720 #define ETH_TYPE ETH_PHY_LAN8720
#define ETH_CLKMODE ETH_CLOCK_GPIO17_OUT #define ETH_CLKMODE ETH_CLOCK_GPIO17_OUT
#include <ETH.h>
#include "sys/net/hasp_ethernet_esp32.h"
#warning Using ESP32 Ethernet LAN8720 #warning Using ESP32 Ethernet LAN8720
#define HASP_ETHERNET ETH
#endif // HASP_USE_SPI_ETHERNET #endif // HASP_USE_SPI_ETHERNET
#else #else
#if USE_BUILTIN_ETHERNET > 0 #if USE_BUILTIN_ETHERNET > 0
#include <LwIP.h> #include <LwIP.h>

View File

@ -1320,7 +1320,7 @@ static hasp_attribute_type_t special_attribute_src(lv_obj_t* obj, const char* pa
} }
} else { } else {
#if defined(ARDUINO) && defined(ARDUINO_ARCH_ESP32) #if defined(ARDUINO) && defined(ARDUINO_ARCH_ESP32) && 1
HTTPClient http; HTTPClient http;
http.begin(payload); http.begin(payload);

View File

@ -1040,9 +1040,7 @@ void dispatch_reboot(bool saveConfig)
#if HASP_USE_CONFIG > 0 #if HASP_USE_CONFIG > 0
debugStop(); debugStop();
#endif #endif
#if HASP_USE_WIFI > 0 networkStop();
wifiStop();
#endif
LOG_VERBOSE(TAG_MSGR, F("-------------------------------------")); LOG_VERBOSE(TAG_MSGR, F("-------------------------------------"));
LOG_TRACE(TAG_MSGR, F(D_DISPATCH_REBOOT)); LOG_TRACE(TAG_MSGR, F(D_DISPATCH_REBOOT));

View File

@ -192,6 +192,7 @@ enum {
TAG_MQTT_RCV = 67, TAG_MQTT_RCV = 67,
TAG_FTP = 68, TAG_FTP = 68,
TAG_TIME = 69, TAG_TIME = 69,
TAG_NETW = 70,
TAG_LVGL = 90, TAG_LVGL = 90,
TAG_LVFS = 91, TAG_LVFS = 91,

View File

@ -8,39 +8,46 @@
#include "hal/hasp_hal.h" #include "hal/hasp_hal.h"
#include "dev/device.h" #include "dev/device.h"
#if HASP_USE_ETHERNET > 0 && defined(ARDUINO_ARCH_ESP32) && HASP_USE_SPI_ETHERNET == 0 #if HASP_USE_ETHERNET > 0 && defined(ARDUINO_ARCH_ESP32) && defined(HASP_ETHERNET)
bool eth_connected = false;
IPAddress ip; IPAddress ip;
void ethernet_get_ipaddress(char* buffer, size_t len)
{
IPAddress ip = HASP_ETHERNET.localIP();
snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
}
void EthernetEvent(WiFiEvent_t event) void EthernetEvent(WiFiEvent_t event)
{ {
switch(event) { switch(event) {
case SYSTEM_EVENT_ETH_START: case ARDUINO_EVENT_ETH_START:
LOG_TRACE(TAG_ETH, F(D_SERVICE_STARTED)); LOG_TRACE(TAG_ETH, F(D_SERVICE_STARTED));
// set eth hostname here // set eth hostname here
ETH.setHostname(haspDevice.get_hostname()); HASP_ETHERNET.setHostname(haspDevice.get_hostname());
break; break;
case SYSTEM_EVENT_ETH_CONNECTED: case ARDUINO_EVENT_ETH_CONNECTED:
LOG_TRACE(TAG_ETH, F(D_SERVICE_CONNECTED)); LOG_TRACE(TAG_ETH, F(D_SERVICE_CONNECTED));
eth_connected = true; eth_connected = true;
break; break;
case SYSTEM_EVENT_ETH_GOT_IP: case ARDUINO_EVENT_ETH_GOT_IP:
LOG_TRACE(TAG_ETH, F(D_INFO_MAC_ADDRESS " %s"), ETH.macAddress().c_str()); LOG_TRACE(TAG_ETH, F(D_INFO_MAC_ADDRESS " %s"), HASP_ETHERNET.macAddress().c_str());
ip = ETH.localIP(); ip = HASP_ETHERNET.localIP();
LOG_TRACE(TAG_ETH, F("IPv4: %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]); LOG_TRACE(TAG_ETH, F("IPv4: %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
if(ETH.fullDuplex()) { if(HASP_ETHERNET.fullDuplex()) {
LOG_TRACE(TAG_ETH, F(D_INFO_FULL_DUPLEX)); LOG_TRACE(TAG_ETH, F(D_INFO_FULL_DUPLEX));
} }
LOG_TRACE(TAG_ETH, F(D_INFO_LINK_SPEED " %d Mbps"), ETH.linkSpeed()); LOG_TRACE(TAG_ETH, F(D_INFO_LINK_SPEED " %d Mbps"), HASP_ETHERNET.linkSpeed());
eth_connected = true; eth_connected = true;
networkStart(); // Start network services networkStart(); // Start network services
break; break;
case SYSTEM_EVENT_ETH_DISCONNECTED: case ARDUINO_EVENT_ETH_DISCONNECTED:
LOG_TRACE(TAG_ETH, F(D_SERVICE_DISCONNECTED)); LOG_TRACE(TAG_ETH, F(D_SERVICE_DISCONNECTED));
eth_connected = false; eth_connected = false;
networkStop(); // Stop network services networkStop(); // Stop network services
break; break;
case SYSTEM_EVENT_ETH_STOP: case ARDUINO_EVENT_ETH_STOP:
LOG_WARNING(TAG_ETH, F(D_SERVICE_STOPPED)); LOG_WARNING(TAG_ETH, F(D_SERVICE_STOPPED));
eth_connected = false; eth_connected = false;
break; break;
@ -51,8 +58,22 @@ void EthernetEvent(WiFiEvent_t event)
void ethernetSetup() void ethernetSetup()
{ {
#if HASP_USE_WIFI == 0
// Need to make sure we get the Ethernet Events
WiFi.begin();
WiFi.mode(WIFI_OFF);
#endif
bool started = false;
WiFi.onEvent(EthernetEvent); WiFi.onEvent(EthernetEvent);
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLKMODE); #if HASP_USE_SPI_ETHERNET > 0
started = HASP_ETHERNET.begin(ETHSPI_MOSI_GPIO, ETHSPI_MISO_GPIO, ETHSPI_SCLK_GPIO, ETHSPI_CS_GPIO, ETHSPI_INT_GPIO,
ETHSPI_HOST);
#else
started = HASP_ETHERNET.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLKMODE);
#endif
if(started) LOG_TRACE(TAG_ETH, F("ETHSPI Started "));
} }
IRAM_ATTR void ethernetLoop(void) IRAM_ATTR void ethernetLoop(void)
@ -67,8 +88,8 @@ bool ethernetEvery5Seconds()
void ethernet_get_statusupdate(char* buffer, size_t len) void ethernet_get_statusupdate(char* buffer, size_t len)
{ {
snprintf_P(buffer, len, PSTR("\"eth\":\"%s\",\"link\":\"%d Mbps\",\"ip\":\"%s\",\"mac\":\"%s\","), snprintf_P(buffer, len, PSTR("\"eth\":\"%s\",\"link\":\"%d Mbps\",\"ip\":\"%s\",\"mac\":\"%s\","),
eth_connected ? F("on") : F("off"), ETH.linkSpeed(), ETH.localIP().toString().c_str(), eth_connected ? F("on") : F("off"), HASP_ETHERNET.linkSpeed(),
ETH.macAddress().c_str()); HASP_ETHERNET.localIP().toString().c_str(), HASP_ETHERNET.macAddress().c_str());
} }
void ethernet_get_info(JsonDocument& doc) void ethernet_get_info(JsonDocument& doc)
@ -79,17 +100,17 @@ void ethernet_get_info(JsonDocument& doc)
JsonObject info = doc.createNestedObject(F(D_INFO_ETHERNET)); JsonObject info = doc.createNestedObject(F(D_INFO_ETHERNET));
buffer = ETH.linkSpeed(); buffer = HASP_ETHERNET.linkSpeed();
buffer += F(" Mbps"); buffer += F(" Mbps");
if(ETH.fullDuplex()) { if(HASP_ETHERNET.fullDuplex()) {
buffer += F(" " D_INFO_FULL_DUPLEX); buffer += F(" " D_INFO_FULL_DUPLEX);
} }
info[F(D_INFO_LINK_SPEED)] = buffer; info[F(D_INFO_LINK_SPEED)] = buffer;
info[F(D_INFO_IP_ADDRESS)] = ETH.localIP().toString(); info[F(D_INFO_IP_ADDRESS)] = HASP_ETHERNET.localIP().toString();
info[F(D_INFO_GATEWAY)] = ETH.gatewayIP().toString(); info[F(D_INFO_GATEWAY)] = HASP_ETHERNET.gatewayIP().toString();
info[F(D_INFO_DNS_SERVER)] = ETH.dnsIP().toString(); info[F(D_INFO_DNS_SERVER)] = HASP_ETHERNET.dnsIP().toString();
info[F(D_INFO_MAC_ADDRESS)] = ETH.macAddress(); info[F(D_INFO_MAC_ADDRESS)] = HASP_ETHERNET.macAddress();
} }
#endif #endif

View File

@ -6,14 +6,13 @@
#include "ArduinoJson.h" #include "ArduinoJson.h"
static bool eth_connected = false;
void ethernetSetup(); void ethernetSetup();
IRAM_ATTR void ethernetLoop(void); IRAM_ATTR void ethernetLoop(void);
bool ethernetEverySecond(); bool ethernetEverySecond();
bool ethernetEvery5Seconds(); bool ethernetEvery5Seconds();
void ethernet_get_statusupdate(char* buffer, size_t len); void ethernet_get_statusupdate(char* buffer, size_t len);
void ethernet_get_ipaddress(char* buffer, size_t len);
void ethernet_get_info(JsonDocument& doc); void ethernet_get_info(JsonDocument& doc);

View File

@ -1,103 +0,0 @@
/* MIT License - Copyright (c) 2022 Ben Suffolk, ben@vanilla.net
For full license information read the LICENSE file in the project folder */
#include "hasp_conf.h"
#include "hasp_debug.h"
#include "hasp_network.h"
#include "hal/hasp_hal.h"
#include "dev/device.h"
#if HASP_USE_ETHERNET > 0 && defined(ARDUINO_ARCH_ESP32) && HASP_USE_SPI_ETHERNET > 0
static bool eth_connected = false;
void EthernetEvent(WiFiEvent_t event)
{
IPAddress ip;
switch(event) {
case ARDUINO_EVENT_ETH_START:
LOG_TRACE(TAG_ETH, F(D_SERVICE_STARTED));
// set eth hostname here
ETHSPI.setHostname(haspDevice.get_hostname());
break;
case ARDUINO_EVENT_ETH_CONNECTED:
LOG_TRACE(TAG_ETH, F(D_SERVICE_CONNECTED));
eth_connected = true;
break;
case ARDUINO_EVENT_ETH_GOT_IP:
LOG_TRACE(TAG_ETH, F(D_INFO_MAC_ADDRESS " %s"), ETHSPI.macAddress().c_str());
ip = ETHSPI.localIP();
LOG_TRACE(TAG_ETH, F("IPv4: %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
if(ETHSPI.fullDuplex()) {
LOG_TRACE(TAG_ETH, F(D_INFO_FULL_DUPLEX));
}
LOG_TRACE(TAG_ETH, F(D_INFO_LINK_SPEED " %d Mbps"), ETHSPI.linkSpeed());
eth_connected = true;
networkStart(); // Start network services
break;
case ARDUINO_EVENT_ETH_DISCONNECTED:
LOG_TRACE(TAG_ETH, F(D_SERVICE_DISCONNECTED));
eth_connected = false;
networkStop(); // Stop network services
break;
case ARDUINO_EVENT_ETH_STOP:
LOG_WARNING(TAG_ETH, F(D_SERVICE_STOPPED));
eth_connected = false;
break;
default:
break;
}
}
void ethernetSetup()
{
#if HASP_USE_WIFI == 0
// Need to make sure we get the Ethernet Events
WiFi.begin();
WiFi.mode(WIFI_OFF);
#endif
WiFi.onEvent(EthernetEvent);
ETHSPI.begin();
}
IRAM_ATTR void ethernetLoop(void)
{}
bool ethernetEvery5Seconds()
{
return eth_connected;
}
void ethernet_get_statusupdate(char* buffer, size_t len)
{
snprintf_P(buffer, len, PSTR("\"eth\":\"%s\",\"link\":\"%d Mbps\",\"ip\":\"%s\",\"mac\":\"%s\","),
eth_connected ? F("on") : F("off"), ETHSPI.linkSpeed(), ETHSPI.localIP().toString().c_str(),
ETHSPI.macAddress().c_str());
}
void ethernet_get_info(JsonDocument& doc)
{
char size_buf[32];
String buffer((char*)0);
buffer.reserve(64);
JsonObject info = doc.createNestedObject(F(D_INFO_ETHERNET));
buffer = ETHSPI.linkSpeed();
buffer += F(" Mbps");
if(ETHSPI.fullDuplex()) {
buffer += F(" " D_INFO_FULL_DUPLEX);
}
info[F(D_INFO_LINK_SPEED)] = buffer;
info[F(D_INFO_IP_ADDRESS)] = ETHSPI.localIP().toString();
info[F(D_INFO_GATEWAY)] = ETHSPI.gatewayIP().toString();
info[F(D_INFO_DNS_SERVER)] = ETHSPI.dnsIP().toString();
info[F(D_INFO_MAC_ADDRESS)] = ETHSPI.macAddress();
}
#endif

View File

@ -1,18 +0,0 @@
/* MIT License - Copyright (c) 2022 Ben Suffolk, ben@vanilla.net
For full license information read the LICENSE file in the project folder */
#ifndef HASP_ETHERNET_SPI_H
#define HASP_ETHERNET_SPI_H
#include "ArduinoJson.h"
void ethernetSetup();
IRAM_ATTR void ethernetLoop(void);
bool ethernetEverySecond();
bool ethernetEvery5Seconds();
void ethernet_get_statusupdate(char* buffer, size_t len);
void ethernet_get_info(JsonDocument& doc);
#endif

View File

@ -6,8 +6,6 @@
#include "ArduinoJson.h" #include "ArduinoJson.h"
static bool eth_connected = false;
void ethernetSetup(); void ethernetSetup();
void ethernetLoop(void); void ethernetLoop(void);

View File

@ -8,9 +8,50 @@
#include "hasp_network.h" #include "hasp_network.h"
#include "sys/svc/hasp_mdns.h" #include "sys/svc/hasp_mdns.h"
bool haspOnline = false; bool last_network_state = false;
bool current_network_state = false;
uint16_t network_reconnect_counter = 0;
#if HASP_USE_ETHERNET > 0 || HASP_USE_WIFI > 0 #if HASP_USE_ETHERNET > 0 || HASP_USE_WIFI > 0
void network_disconnected()
{
// if(wifiReconnectCounter++ % 5 == 0)
// LOG_WARNING(TAG_NETW, F("Disconnected from %s (Reason: %s [%d])"), ssid, buffer, reason);
// if(!current_network_state) return; // we were not connected
current_network_state = false; // now we are disconnected
network_reconnect_counter++;
// LOG_VERBOSE(TAG_NETW, F("Connected = %s"),
// WiFi.status() == WL_CONNECTED ? PSTR(D_NETWORK_ONLINE) : PSTR(D_NETWORK_OFFLINE));
}
void network_connected()
{
if(current_network_state) return; // already connected
current_network_state = true; // now we are connected
network_reconnect_counter = 0;
LOG_VERBOSE(TAG_NETW, F("Connected = %s"),
WiFi.status() == WL_CONNECTED ? PSTR(D_NETWORK_ONLINE) : PSTR(D_NETWORK_OFFLINE));
}
void network_run_scripts()
{
if(last_network_state != current_network_state) {
if(current_network_state) {
dispatch_exec(NULL, "L:/online.cmd", TAG_NETW);
networkStart();
} else {
dispatch_exec(NULL, "L:/offline.cmd", TAG_NETW);
networkStop();
}
last_network_state = current_network_state;
}
}
void networkStart(void) void networkStart(void)
{ {
// haspProgressVal(255); // hide // haspProgressVal(255); // hide
@ -31,6 +72,7 @@ void networkStart(void)
void networkStop(void) void networkStop(void)
{ {
haspProgressMsg(F("Network Disconnected")); haspProgressMsg(F("Network Disconnected"));
network_reconnect_counter = 0; // Prevent endless loop in wifiDisconnected
debugStopSyslog(); debugStopSyslog();
// mqttStop(); // mqttStop();
@ -41,8 +83,15 @@ void networkStop(void)
#if HASP_USE_MDNS > 0 #if HASP_USE_MDNS > 0
mdnsStop(); mdnsStop();
#endif #endif
}
#if HASP_USE_ETHERNET > 0
// ethernetStop();
#endif
#if HASP_USE_WIFI > 0
wifiStop();
#endif
}
void networkSetup() void networkSetup()
{ {
#if HASP_USE_ETHERNET > 0 #if HASP_USE_ETHERNET > 0
@ -54,14 +103,6 @@ void networkSetup()
#endif #endif
} }
void network_run_scripts()
{
if(haspOnline)
dispatch_exec(NULL, "L:/online.cmd", TAG_WIFI);
else
dispatch_exec(NULL, "L:/offline.cmd", TAG_WIFI);
}
IRAM_ATTR void networkLoop(void) IRAM_ATTR void networkLoop(void)
{ {
#if HASP_USE_ETHERNET > 0 #if HASP_USE_ETHERNET > 0
@ -99,41 +140,8 @@ IRAM_ATTR void networkLoop(void)
bool networkEvery5Seconds(void) bool networkEvery5Seconds(void)
{ {
#if HASP_USE_ETHERNET > 0 if(current_network_state != last_network_state) network_run_scripts();
if(ethernetEvery5Seconds() != haspOnline) { return current_network_state;
haspOnline = !haspOnline;
LOG_WARNING(TAG_ETH, haspOnline ? F(D_NETWORK_ONLINE) : F(D_NETWORK_OFFLINE));
if(haspOnline) {
networkStart();
} else {
networkStop();
}
network_run_scripts();
}
return haspOnline;
#endif
#if HASP_USE_WIFI > 0
if(wifiEvery5Seconds() != haspOnline) {
haspOnline = !haspOnline;
LOG_WARNING(TAG_WIFI, haspOnline ? F(D_NETWORK_ONLINE) : F(D_NETWORK_OFFLINE));
if(haspOnline) {
networkStart();
} else {
networkStop();
}
network_run_scripts();
}
return haspOnline;
#endif
return false;
} }
/* bool networkEverySecond(void) /* bool networkEverySecond(void)
@ -180,6 +188,7 @@ void network_get_ipaddress(char* buffer, size_t len)
#endif #endif
snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]); snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
return; return;
ethernet_get_ipaddress(buffer, len);
#endif #endif
#if HASP_USE_WIFI > 0 #if HASP_USE_WIFI > 0

View File

@ -13,6 +13,8 @@ void networkStart(void);
void networkStop(void); void networkStop(void);
/* ===== Special Event Processors ===== */ /* ===== Special Event Processors ===== */
void network_connected();
void network_disconnected();
void network_run_scripts(); void network_run_scripts();
/* ===== Getter and Setter Functions ===== */ /* ===== Getter and Setter Functions ===== */

View File

@ -41,16 +41,14 @@ SPIClass espSPI(ESPSPI_MOSI, ESPSPI_MISO, ESPSPI_SCLK); // SPI port where esp is
char wifiSsid[MAX_USERNAME_LENGTH] = WIFI_SSID; char wifiSsid[MAX_USERNAME_LENGTH] = WIFI_SSID;
char wifiPassword[MAX_PASSWORD_LENGTH] = WIFI_PASSWORD; char wifiPassword[MAX_PASSWORD_LENGTH] = WIFI_PASSWORD;
char wifiIpAddress[16] = ""; char wifiIpAddress[16] = "";
uint16_t wifiReconnectCounter = 0;
bool wifiOnline = false;
bool wifiEnabled = true; bool wifiEnabled = true;
extern uint16_t network_reconnect_counter;
// const byte DNS_PORT = 53; // const byte DNS_PORT = 53;
// DNSServer dnsServer; // DNSServer dnsServer;
/* ============ Connection Event Handlers =============================================================== */ /* ============ Connection Event Handlers =============================================================== */
static void wifiConnected(IPAddress ipaddress) static void wifiConnected(IPAddress ipaddress)
{ {
#if defined(STM32F4xx) #if defined(STM32F4xx)
@ -63,18 +61,13 @@ static void wifiConnected(IPAddress ipaddress)
if((uint32_t)ipaddress == 0) { if((uint32_t)ipaddress == 0) {
LOG_ERROR(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress); LOG_ERROR(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress);
wifiOnline = false; network_disconnected();
return; return;
} else { } else {
LOG_TRACE(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress); LOG_TRACE(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress);
} }
if(wifiOnline) return; // already connected network_connected();
wifiOnline = true; // now we are connected
wifiReconnectCounter = 0;
LOG_VERBOSE(TAG_WIFI, F("Connected = %s"),
WiFi.status() == WL_CONNECTED ? PSTR(D_NETWORK_ONLINE) : PSTR(D_NETWORK_OFFLINE));
} }
static void wifiDisconnected(const char* ssid, uint8_t reason) static void wifiDisconnected(const char* ssid, uint8_t reason)
@ -265,14 +258,7 @@ static void wifiDisconnected(const char* ssid, uint8_t reason)
snprintf_P(buffer, sizeof(buffer), PSTR(D_ERROR_UNKNOWN)); snprintf_P(buffer, sizeof(buffer), PSTR(D_ERROR_UNKNOWN));
} }
if(wifiReconnectCounter++ % 5 == 0) network_disconnected();
LOG_WARNING(TAG_WIFI, F("Disconnected from %s (Reason: %s [%d])"), ssid, buffer, reason);
if(!wifiOnline) return; // we were not connected
wifiOnline = false; // now we are disconnected
LOG_VERBOSE(TAG_WIFI, F("Connected = %s"),
WiFi.status() == WL_CONNECTED ? PSTR(D_NETWORK_ONLINE) : PSTR(D_NETWORK_OFFLINE));
} }
static void wifiSsidConnected(const char* ssid) static void wifiSsidConnected(const char* ssid)
@ -519,7 +505,7 @@ bool wifiEvery5Seconds()
} }
if(wifiEnabled) { if(wifiEnabled) {
LOG_WARNING(TAG_WIFI, F("No Connection... retry %d"), wifiReconnectCounter); LOG_WARNING(TAG_WIFI, F("No Connection... retry %d"), network_reconnect_counter);
wifiReconnect(); wifiReconnect();
} }
@ -565,7 +551,6 @@ bool wifiValidateSsid(const char* ssid, const char* pass)
void wifiStop() void wifiStop()
{ {
wifiReconnectCounter = 0; // Prevent endless loop in wifiDisconnected
WiFi.disconnect(true); WiFi.disconnect(true);
#if !defined(STM32F4xx) #if !defined(STM32F4xx)
WiFi.mode(WIFI_OFF); WiFi.mode(WIFI_OFF);