Skip to content

Commit 2162167

Browse files
committed
Avoids network restart if already starting/stopping
1 parent d04a610 commit 2162167

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

Firmware/RTK_Everywhere/Network.ino

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,8 +1206,18 @@ void networkInterfaceInternetConnectionAvailable(NetIndex_t index)
12061206
return;
12071207
}
12081208

1209-
// Mark this network as online
12101209
bitMask = 1 << index;
1210+
1211+
// If we are currently running a stop sequence, do nothing
1212+
// Avoids an infinite start/stop loop
1213+
if (networkSeqStopping & bitMask)
1214+
{
1215+
if (settings.debugNetworkLayer)
1216+
systemPrintf("%s stop sequencer running, not marking interface online\r\n", networkGetNameByIndex(index));
1217+
return;
1218+
}
1219+
1220+
// Mark this network as online
12111221
networkHasInternet_bm |= bitMask;
12121222
if (settings.debugNetworkLayer)
12131223
systemPrintf("%s has internet access\r\n", networkInterfaceTable[index].name);
@@ -1294,8 +1304,18 @@ void networkInterfaceInternetConnectionLost(NetIndex_t index)
12941304
return;
12951305
}
12961306

1297-
// Mark this network as offline
12981307
bitMask = 1 << index;
1308+
1309+
// If we are currently running a start sequence, do nothing
1310+
// Avoids an infinite start/stop loop
1311+
if (networkSeqStarting & bitMask)
1312+
{
1313+
if (settings.debugNetworkLayer)
1314+
systemPrintf("%s start sequencer running, not marking interface offline\r\n", networkGetNameByIndex(index));
1315+
return;
1316+
}
1317+
1318+
// Mark this network as offline
12991319
networkHasInternet_bm &= ~bitMask;
13001320
if (settings.debugNetworkLayer)
13011321
systemPrintf("%s does NOT have internet access\r\n", networkInterfaceTable[index].name);

0 commit comments

Comments
 (0)