1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-24 00:26:13 +01:00

Compare commits

..

No commits in common. "c0f69cd278f5a489f439655135d1b1678b23d51e" and "ad09360a54d8953615c7288abb85c737e1c2c342" have entirely different histories.

2 changed files with 15 additions and 27 deletions

View File

@ -1,6 +1,4 @@
/* /*
* © 2024 Morten "Doc" Nielsen
* © 2023-2024 Paul M. Antoine
* © 2022 Bruno Sanches * © 2022 Bruno Sanches
* © 2021 Fred Decker * © 2021 Fred Decker
* © 2020-2022 Harald Barth * © 2020-2022 Harald Barth
@ -176,27 +174,20 @@ bool EthernetInterface::checkLink() {
Ethernet.setLocalIP(myIP); // for static IP, set it again Ethernet.setLocalIP(myIP); // for static IP, set it again
#endif #endif
#endif #endif
IPAddress ip = Ethernet.localIP(); // look what IP was obtained (dynamic or static)
server = new EthernetServer(IP_PORT); // Ethernet Server listening on default port IP_PORT server = new EthernetServer(IP_PORT); // Ethernet Server listening on default port IP_PORT
server->begin(); server->begin();
IPAddress ip = Ethernet.localIP(); // look what IP was obtained (dynamic or static)
if (ip[0] == 0)
LCD(4,F("Awaiting DHCP..."));
while (ip[0] == 0) { // wait until we are given an IP address from the DHCP server
// LCD(4,F("."));
ip = Ethernet.localIP(); // look what IP was obtained (dynamic or static)
}
LCD(4,F("IP: %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]); LCD(4,F("IP: %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
LCD(5,F("Port:%d"), IP_PORT); LCD(5,F("Port:%d"), IP_PORT);
mdns.begin(Ethernet.localIP(), WIFI_HOSTNAME); // hostname mdns.begin(Ethernet.localIP(), "dccex"); // hostname
mdns.addServiceRecord(WIFI_HOSTNAME "._withrottle", IP_PORT, MDNSServiceTCP); mdns.addServiceRecord("dccex._withrottle", 2560, MDNSServiceTCP);
// only create a outboundRing it none exists, this may happen if the cable // only create a outboundRing it none exists, this may happen if the cable
// gets disconnected and connected again // gets disconnected and connected again
if(!outboundRing) if(!outboundRing)
outboundRing=new RingStream(OUTBOUND_RING_SIZE); outboundRing=new RingStream(OUTBOUND_RING_SIZE);
} }
return true; return true;
} else { // LinkOFF } else { // connected
if (connected) { // Were connected, but no longer without a LINK!
DIAG(F("Ethernet cable disconnected")); DIAG(F("Ethernet cable disconnected"));
connected=false; connected=false;
//clean up any client //clean up any client
@ -204,13 +195,11 @@ bool EthernetInterface::checkLink() {
if(clients[socket].connected()) if(clients[socket].connected())
clients[socket].stop(); clients[socket].stop();
} }
mdns.removeServiceRecord(IP_PORT, MDNSServiceTCP);
// tear down server // tear down server
delete server; delete server;
server = nullptr; server = nullptr;
LCD(4,F("IP: None")); LCD(4,F("IP: None"));
} }
}
return false; return false;
} }

View File

@ -4,7 +4,6 @@
#include "StringFormatter.h" #include "StringFormatter.h"
#define VERSION "5.2.27stm32ECvfmdns" #define VERSION "5.2.27stm32ECvfmdns"
// 5.2.XX - Fix Ethernet cable disconnected message, wait for DHCP
// 5.2.XX - MDNS Generic library integration for Ethernet // 5.2.XX - MDNS Generic library integration for Ethernet
// 5.2.XX - Variable frequency for DC mode // 5.2.XX - Variable frequency for DC mode
// 5.2.27 - Bugfix: IOExpander memory allocation // 5.2.27 - Bugfix: IOExpander memory allocation