Skip to content

Commit cf5eeab

Browse files
committed
Only call maintain when connected
1 parent f9c79f4 commit cf5eeab

File tree

1 file changed

+35
-32
lines changed

1 file changed

+35
-32
lines changed

Firmware/RTK_Surveyor/menuEthernet.ino

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -183,42 +183,45 @@ void updateEthernet()
183183
w5500ClearSocketInterrupt(ntpSockIndex); // Clear the socket interrupt here
184184

185185
// Maintain the ethernet connection
186-
switch (Ethernet.maintain())
187-
{
188-
case 1:
189-
// renewed fail
190-
if (settings.enablePrintEthernetDiag && (!inMainMenu))
191-
systemPrintln("Ethernet: Error: renewed fail");
192-
break;
193-
194-
case 2:
195-
// renewed success
196-
if (settings.enablePrintEthernetDiag && (!inMainMenu))
186+
if ((online.ethernetStatus >= ETH_STARTED_CHECK_CABLE) && (online.ethernetStatus <= ETH_CONNECTED))
187+
switch (Ethernet.maintain())
197188
{
198-
systemPrint("Ethernet: Renewed success. IP address: ");
199-
systemPrintln(Ethernet.localIP());
200-
}
201-
break;
189+
case 1:
190+
// renewed fail
191+
if (settings.enablePrintEthernetDiag && (!inMainMenu))
192+
systemPrintln("Ethernet: Error: renewed fail");
193+
ethernetRestart(); // Restart Ethernet
194+
break;
202195

203-
case 3:
204-
// rebind fail
205-
if (settings.enablePrintEthernetDiag && (!inMainMenu))
206-
systemPrintln("Ethernet: Error: rebind fail");
207-
break;
196+
case 2:
197+
// renewed success
198+
if (settings.enablePrintEthernetDiag && (!inMainMenu))
199+
{
200+
systemPrint("Ethernet: Renewed success. IP address: ");
201+
systemPrintln(Ethernet.localIP());
202+
}
203+
break;
208204

209-
case 4:
210-
// rebind success
211-
if (settings.enablePrintEthernetDiag && (!inMainMenu))
212-
{
213-
systemPrint("Ethernet: Rebind success. IP address: ");
214-
systemPrintln(Ethernet.localIP());
215-
}
216-
break;
205+
case 3:
206+
// rebind fail
207+
if (settings.enablePrintEthernetDiag && (!inMainMenu))
208+
systemPrintln("Ethernet: Error: rebind fail");
209+
ethernetRestart(); // Restart Ethernet
210+
break;
217211

218-
default:
219-
// nothing happened
220-
break;
221-
}
212+
case 4:
213+
// rebind success
214+
if (settings.enablePrintEthernetDiag && (!inMainMenu))
215+
{
216+
systemPrint("Ethernet: Rebind success. IP address: ");
217+
systemPrintln(Ethernet.localIP());
218+
}
219+
break;
220+
221+
default:
222+
// nothing happened
223+
break;
224+
}
222225
#endif // COMPILE_ETHERNET
223226
}
224227

0 commit comments

Comments
 (0)