Fix Ethernet MQTT reconnect handling (#10896)
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This commit is contained in:
co-authored by
GitHub
Ben Meadors
parent
93250d8704
commit
1e66ecff60
@@ -33,6 +33,8 @@ class UdpMulticastHandler final
|
||||
#if defined(ARCH_NRF52) || defined(ARCH_PORTDUINO)
|
||||
LOG_DEBUG("UDP Listening on IP: %u.%u.%u.%u:%u", udpIpAddress[0], udpIpAddress[1], udpIpAddress[2], udpIpAddress[3],
|
||||
UDP_MULTICAST_DEFAUL_PORT);
|
||||
#elif defined(USE_WS5500) || defined(USE_CH390D)
|
||||
LOG_DEBUG("UDP Listening on IP: %s", ETH.localIP().toString().c_str());
|
||||
#else
|
||||
LOG_DEBUG("UDP Listening on IP: %s", WiFi.localIP().toString().c_str());
|
||||
#endif
|
||||
@@ -98,6 +100,10 @@ class UdpMulticastHandler final
|
||||
if (!isEthernetAvailable()) {
|
||||
return false;
|
||||
}
|
||||
#elif defined(USE_WS5500) || defined(USE_CH390D)
|
||||
if (!ETH.connected()) {
|
||||
return false;
|
||||
}
|
||||
#elif !defined(ARCH_PORTDUINO)
|
||||
if (WiFi.status() != WL_CONNECTED) {
|
||||
return false;
|
||||
|
||||
@@ -563,6 +563,11 @@ static void WiFiEvent(WiFiEvent_t event)
|
||||
break;
|
||||
case ARDUINO_EVENT_ETH_DISCONNECTED:
|
||||
syslog.disable();
|
||||
#if HAS_UDP_MULTICAST
|
||||
if (udpHandler) {
|
||||
udpHandler->stop();
|
||||
}
|
||||
#endif
|
||||
LOG_INFO("Ethernet disconnected");
|
||||
break;
|
||||
case ARDUINO_EVENT_ETH_GOT_IP:
|
||||
|
||||
Reference in New Issue
Block a user