mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Merge ethernet_esp32 and esthernet_spi.cpp
This commit is contained in:
parent
2af1f4800e
commit
0f95052dc3
@ -234,14 +234,13 @@ static WiFiSpiClass WiFi;
|
||||
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
#if defined(ARDUINO_ARCH_ESP32)
|
||||
#include "sys/net/hasp_ethernet_esp32.h"
|
||||
#if HASP_USE_SPI_ETHERNET > 0
|
||||
#include <ETHSPI.h>
|
||||
#include "sys/net/hasp_ethernet_spi.h"
|
||||
#warning Using ESP32 Ethernet SPI W5500
|
||||
#define HASP_ETHERNET ETHSPI
|
||||
|
||||
#else
|
||||
#include <ETH.h>
|
||||
|
||||
#define ETH_ADDR 0
|
||||
#define ETH_POWER_PIN -1
|
||||
#define ETH_MDC_PIN 23
|
||||
@ -249,10 +248,11 @@ static WiFiSpiClass WiFi;
|
||||
#define NRST 5
|
||||
#define ETH_TYPE ETH_PHY_LAN8720
|
||||
#define ETH_CLKMODE ETH_CLOCK_GPIO17_OUT
|
||||
|
||||
#include "sys/net/hasp_ethernet_esp32.h"
|
||||
#include <ETH.h>
|
||||
#warning Using ESP32 Ethernet LAN8720
|
||||
#define HASP_ETHERNET ETH
|
||||
#endif // HASP_USE_SPI_ETHERNET
|
||||
|
||||
#else
|
||||
#if USE_BUILTIN_ETHERNET > 0
|
||||
#include <LwIP.h>
|
||||
|
@ -1320,7 +1320,7 @@ static hasp_attribute_type_t special_attribute_src(lv_obj_t* obj, const char* pa
|
||||
}
|
||||
|
||||
} else {
|
||||
#if defined(ARDUINO) && defined(ARDUINO_ARCH_ESP32)
|
||||
#if defined(ARDUINO) && defined(ARDUINO_ARCH_ESP32) && 1
|
||||
HTTPClient http;
|
||||
http.begin(payload);
|
||||
|
||||
|
@ -1040,9 +1040,7 @@ void dispatch_reboot(bool saveConfig)
|
||||
#if HASP_USE_CONFIG > 0
|
||||
debugStop();
|
||||
#endif
|
||||
#if HASP_USE_WIFI > 0
|
||||
wifiStop();
|
||||
#endif
|
||||
networkStop();
|
||||
LOG_VERBOSE(TAG_MSGR, F("-------------------------------------"));
|
||||
LOG_TRACE(TAG_MSGR, F(D_DISPATCH_REBOOT));
|
||||
|
||||
|
@ -192,6 +192,7 @@ enum {
|
||||
TAG_MQTT_RCV = 67,
|
||||
TAG_FTP = 68,
|
||||
TAG_TIME = 69,
|
||||
TAG_NETW = 70,
|
||||
|
||||
TAG_LVGL = 90,
|
||||
TAG_LVFS = 91,
|
||||
|
@ -8,39 +8,46 @@
|
||||
#include "hal/hasp_hal.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;
|
||||
|
||||
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)
|
||||
{
|
||||
switch(event) {
|
||||
case SYSTEM_EVENT_ETH_START:
|
||||
case ARDUINO_EVENT_ETH_START:
|
||||
LOG_TRACE(TAG_ETH, F(D_SERVICE_STARTED));
|
||||
// set eth hostname here
|
||||
ETH.setHostname(haspDevice.get_hostname());
|
||||
HASP_ETHERNET.setHostname(haspDevice.get_hostname());
|
||||
break;
|
||||
case SYSTEM_EVENT_ETH_CONNECTED:
|
||||
case ARDUINO_EVENT_ETH_CONNECTED:
|
||||
LOG_TRACE(TAG_ETH, F(D_SERVICE_CONNECTED));
|
||||
eth_connected = true;
|
||||
break;
|
||||
case SYSTEM_EVENT_ETH_GOT_IP:
|
||||
LOG_TRACE(TAG_ETH, F(D_INFO_MAC_ADDRESS " %s"), ETH.macAddress().c_str());
|
||||
ip = ETH.localIP();
|
||||
case ARDUINO_EVENT_ETH_GOT_IP:
|
||||
LOG_TRACE(TAG_ETH, F(D_INFO_MAC_ADDRESS " %s"), HASP_ETHERNET.macAddress().c_str());
|
||||
ip = HASP_ETHERNET.localIP();
|
||||
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_LINK_SPEED " %d Mbps"), ETH.linkSpeed());
|
||||
LOG_TRACE(TAG_ETH, F(D_INFO_LINK_SPEED " %d Mbps"), HASP_ETHERNET.linkSpeed());
|
||||
eth_connected = true;
|
||||
networkStart(); // Start network services
|
||||
break;
|
||||
case SYSTEM_EVENT_ETH_DISCONNECTED:
|
||||
case ARDUINO_EVENT_ETH_DISCONNECTED:
|
||||
LOG_TRACE(TAG_ETH, F(D_SERVICE_DISCONNECTED));
|
||||
eth_connected = false;
|
||||
networkStop(); // Stop network services
|
||||
break;
|
||||
case SYSTEM_EVENT_ETH_STOP:
|
||||
case ARDUINO_EVENT_ETH_STOP:
|
||||
LOG_WARNING(TAG_ETH, F(D_SERVICE_STOPPED));
|
||||
eth_connected = false;
|
||||
break;
|
||||
@ -51,8 +58,22 @@ void EthernetEvent(WiFiEvent_t event)
|
||||
|
||||
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);
|
||||
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)
|
||||
@ -67,8 +88,8 @@ bool ethernetEvery5Seconds()
|
||||
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"), ETH.linkSpeed(), ETH.localIP().toString().c_str(),
|
||||
ETH.macAddress().c_str());
|
||||
eth_connected ? F("on") : F("off"), HASP_ETHERNET.linkSpeed(),
|
||||
HASP_ETHERNET.localIP().toString().c_str(), HASP_ETHERNET.macAddress().c_str());
|
||||
}
|
||||
|
||||
void ethernet_get_info(JsonDocument& doc)
|
||||
@ -79,17 +100,17 @@ void ethernet_get_info(JsonDocument& doc)
|
||||
|
||||
JsonObject info = doc.createNestedObject(F(D_INFO_ETHERNET));
|
||||
|
||||
buffer = ETH.linkSpeed();
|
||||
buffer = HASP_ETHERNET.linkSpeed();
|
||||
buffer += F(" Mbps");
|
||||
if(ETH.fullDuplex()) {
|
||||
if(HASP_ETHERNET.fullDuplex()) {
|
||||
buffer += F(" " D_INFO_FULL_DUPLEX);
|
||||
}
|
||||
|
||||
info[F(D_INFO_LINK_SPEED)] = buffer;
|
||||
info[F(D_INFO_IP_ADDRESS)] = ETH.localIP().toString();
|
||||
info[F(D_INFO_GATEWAY)] = ETH.gatewayIP().toString();
|
||||
info[F(D_INFO_DNS_SERVER)] = ETH.dnsIP().toString();
|
||||
info[F(D_INFO_MAC_ADDRESS)] = ETH.macAddress();
|
||||
info[F(D_INFO_IP_ADDRESS)] = HASP_ETHERNET.localIP().toString();
|
||||
info[F(D_INFO_GATEWAY)] = HASP_ETHERNET.gatewayIP().toString();
|
||||
info[F(D_INFO_DNS_SERVER)] = HASP_ETHERNET.dnsIP().toString();
|
||||
info[F(D_INFO_MAC_ADDRESS)] = HASP_ETHERNET.macAddress();
|
||||
}
|
||||
|
||||
#endif
|
@ -6,14 +6,13 @@
|
||||
|
||||
#include "ArduinoJson.h"
|
||||
|
||||
static bool eth_connected = false;
|
||||
|
||||
void ethernetSetup();
|
||||
IRAM_ATTR void ethernetLoop(void);
|
||||
|
||||
bool ethernetEverySecond();
|
||||
bool ethernetEvery5Seconds();
|
||||
void ethernet_get_statusupdate(char* buffer, size_t len);
|
||||
void ethernet_get_ipaddress(char* buffer, size_t len);
|
||||
|
||||
void ethernet_get_info(JsonDocument& doc);
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -6,8 +6,6 @@
|
||||
|
||||
#include "ArduinoJson.h"
|
||||
|
||||
static bool eth_connected = false;
|
||||
|
||||
void ethernetSetup();
|
||||
void ethernetLoop(void);
|
||||
|
||||
|
@ -8,9 +8,50 @@
|
||||
#include "hasp_network.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
|
||||
|
||||
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)
|
||||
{
|
||||
// haspProgressVal(255); // hide
|
||||
@ -31,6 +72,7 @@ void networkStart(void)
|
||||
void networkStop(void)
|
||||
{
|
||||
haspProgressMsg(F("Network Disconnected"));
|
||||
network_reconnect_counter = 0; // Prevent endless loop in wifiDisconnected
|
||||
|
||||
debugStopSyslog();
|
||||
// mqttStop();
|
||||
@ -41,8 +83,15 @@ void networkStop(void)
|
||||
#if HASP_USE_MDNS > 0
|
||||
mdnsStop();
|
||||
#endif
|
||||
}
|
||||
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
// ethernetStop();
|
||||
#endif
|
||||
|
||||
#if HASP_USE_WIFI > 0
|
||||
wifiStop();
|
||||
#endif
|
||||
}
|
||||
void networkSetup()
|
||||
{
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
@ -54,14 +103,6 @@ void networkSetup()
|
||||
#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)
|
||||
{
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
@ -99,41 +140,8 @@ IRAM_ATTR void networkLoop(void)
|
||||
|
||||
bool networkEvery5Seconds(void)
|
||||
{
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
if(ethernetEvery5Seconds() != haspOnline) {
|
||||
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;
|
||||
if(current_network_state != last_network_state) network_run_scripts();
|
||||
return current_network_state;
|
||||
}
|
||||
|
||||
/* bool networkEverySecond(void)
|
||||
@ -180,6 +188,7 @@ void network_get_ipaddress(char* buffer, size_t len)
|
||||
#endif
|
||||
snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
|
||||
return;
|
||||
ethernet_get_ipaddress(buffer, len);
|
||||
#endif
|
||||
|
||||
#if HASP_USE_WIFI > 0
|
||||
|
@ -13,7 +13,9 @@ void networkStart(void);
|
||||
void networkStop(void);
|
||||
|
||||
/* ===== Special Event Processors ===== */
|
||||
void network_run_scripts();
|
||||
void network_connected();
|
||||
void network_disconnected();
|
||||
void network_run_scripts();
|
||||
|
||||
/* ===== Getter and Setter Functions ===== */
|
||||
void network_get_statusupdate(char* buffer, size_t len);
|
||||
|
@ -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 wifiPassword[MAX_PASSWORD_LENGTH] = WIFI_PASSWORD;
|
||||
char wifiIpAddress[16] = "";
|
||||
uint16_t wifiReconnectCounter = 0;
|
||||
bool wifiOnline = false;
|
||||
bool wifiEnabled = true;
|
||||
extern uint16_t network_reconnect_counter;
|
||||
|
||||
// const byte DNS_PORT = 53;
|
||||
// DNSServer dnsServer;
|
||||
|
||||
/* ============ Connection Event Handlers =============================================================== */
|
||||
|
||||
|
||||
static void wifiConnected(IPAddress ipaddress)
|
||||
{
|
||||
#if defined(STM32F4xx)
|
||||
@ -63,18 +61,13 @@ static void wifiConnected(IPAddress ipaddress)
|
||||
|
||||
if((uint32_t)ipaddress == 0) {
|
||||
LOG_ERROR(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress);
|
||||
wifiOnline = false;
|
||||
network_disconnected();
|
||||
return;
|
||||
} else {
|
||||
LOG_TRACE(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress);
|
||||
}
|
||||
|
||||
if(wifiOnline) return; // already 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));
|
||||
network_connected();
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
if(wifiReconnectCounter++ % 5 == 0)
|
||||
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));
|
||||
network_disconnected();
|
||||
}
|
||||
|
||||
static void wifiSsidConnected(const char* ssid)
|
||||
@ -519,7 +505,7 @@ bool wifiEvery5Seconds()
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
@ -565,7 +551,6 @@ bool wifiValidateSsid(const char* ssid, const char* pass)
|
||||
|
||||
void wifiStop()
|
||||
{
|
||||
wifiReconnectCounter = 0; // Prevent endless loop in wifiDisconnected
|
||||
WiFi.disconnect(true);
|
||||
#if !defined(STM32F4xx)
|
||||
WiFi.mode(WIFI_OFF);
|
||||
|
Loading…
x
Reference in New Issue
Block a user