@@ -171,6 +171,7 @@ int32_t tcpServerClientSendData(int index, uint8_t *data, uint16_t length)
171
171
// ----------------------------------------
172
172
bool tcpServerEnabled (const char ** line)
173
173
{
174
+ bool casterMode;
174
175
bool enabled;
175
176
const char * name;
176
177
uint16_t port;
@@ -192,13 +193,17 @@ bool tcpServerEnabled(const char ** line)
192
193
{
193
194
// TCP server running in Rover mode
194
195
name = " TCP Server" ;
196
+ casterMode = false ;
195
197
port = settings.tcpServerPort ;
196
198
}
197
199
198
200
// Determine if the base caster should be running
199
201
else if (EQ_RTK_MODE (baseCasterMode)
200
202
&& (settings.enableNtripCaster || settings.baseCasterOverride ))
201
203
{
204
+ // TCP server running in caster mode
205
+ casterMode = true ;
206
+
202
207
// Select the base caster WiFi mode and port number
203
208
if (settings.baseCasterOverride )
204
209
{
@@ -224,11 +229,13 @@ bool tcpServerEnabled(const char ** line)
224
229
{
225
230
// Update the TCP server configuration
226
231
tcpServerName = name;
232
+ tcpServerInCasterMode = casterMode;
227
233
tcpServerPort = port;
228
234
}
229
235
230
236
// Shutdown and restart the TCP server when configuration changes
231
237
else if ((name != tcpServerName)
238
+ || (casterMode != tcpServerInCasterMode)
232
239
|| (port != tcpServerPort))
233
240
{
234
241
*line = " , Wrong state to switch configuration!" ;
@@ -603,7 +610,7 @@ void tcpServerUpdate()
603
610
604
611
// If we are acting as an NTRIP Caster, intercept the initial communication from the client
605
612
// and respond accordingly
606
- if (settings. enableNtripCaster || settings. baseCasterOverride )
613
+ if (tcpServerInCasterMode )
607
614
{
608
615
// Read response from client
609
616
char response[512 ];
@@ -646,7 +653,7 @@ void tcpServerUpdate()
646
653
if (settings.debugTcpServer )
647
654
systemPrintf (" Unknown response: %s\r\n " , response);
648
655
}
649
- } // settings.enableNtripCaster == true || settings.baseCasterOverride == true
656
+ } // tcpServerInCasterMode
650
657
651
658
// Make client online after any NTRIP injections so ring buffer can start outputting data to it
652
659
tcpServerClientConnected = tcpServerClientConnected | (1 << index);
0 commit comments