Skip to content

Commit f021d47

Browse files
committed
NtripServer: Pass serverIndex to ntripServerSetState
1 parent 4b59aca commit f021d47

File tree

2 files changed

+13
-22
lines changed

2 files changed

+13
-22
lines changed

Firmware/RTK_Everywhere/NtripServer.ino

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ void ntripServerProcessRTCM(int serverIndex, uint8_t incoming)
470470
// Indicate that the GNSS is providing correction data
471471
else if (ntripServer->state == NTRIP_SERVER_WAIT_GNSS_DATA)
472472
{
473-
ntripServerSetState(ntripServer, NTRIP_SERVER_CONNECTING);
473+
ntripServerSetState(serverIndex, NTRIP_SERVER_CONNECTING);
474474
}
475475
}
476476

@@ -509,20 +509,11 @@ void ntripServerRestart(int serverIndex)
509509
//----------------------------------------
510510
// Update the state of the NTRIP server state machine
511511
//----------------------------------------
512-
void ntripServerSetState(NTRIP_SERVER_DATA *ntripServer, uint8_t newState)
512+
void ntripServerSetState(int serverIndex, uint8_t newState)
513513
{
514-
int serverIndex;
515-
for (serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
516-
{
517-
if (ntripServer == &ntripServerArray[serverIndex])
518-
serverIndex = serverIndex;
519-
}
520-
if (serverIndex >= NTRIP_SERVER_MAX)
521-
{
522-
systemPrintf("NTRIP Server: %p unknown NTRIP Server structure!\r\n", (void *)ntripServer);
523-
return;
524-
}
514+
NTRIP_SERVER_DATA * ntripServer;
525515

516+
ntripServer = &ntripServerArray[serverIndex];
526517
if (settings.debugNtripServerState)
527518
{
528519
if (ntripServer->state == newState)
@@ -606,7 +597,7 @@ void ntripServerStop(int serverIndex, bool shutdown)
606597
if (settings.debugNtripServerState && (!settings.ntripServer_MountPoint[serverIndex][0]))
607598
systemPrintf("NTRIP Server %d mount point not configured!\r\n", serverIndex);
608599
networkConsumerRemove(NETWORK_CONSUMER(serverIndex), NETWORK_ANY, __FILE__, __LINE__);
609-
ntripServerSetState(ntripServer, NTRIP_SERVER_OFF);
600+
ntripServerSetState(serverIndex, NTRIP_SERVER_OFF);
610601
ntripServer->connectionAttempts = 0;
611602
ntripServer->connectionAttemptTimeout = 0;
612603

@@ -623,7 +614,7 @@ void ntripServerStop(int serverIndex, bool shutdown)
623614
{
624615
if (settings.debugNtripServerState)
625616
systemPrintf("ntripServerStop server %d start requested\r\n", serverIndex);
626-
ntripServerSetState(ntripServer, NTRIP_SERVER_ON);
617+
ntripServerSetState(serverIndex, NTRIP_SERVER_WAIT_FOR_NETWORK);
627618
}
628619
}
629620

@@ -640,7 +631,8 @@ void ntripServerUpdate(int serverIndex)
640631
NTRIP_SERVER_DATA *ntripServer = &ntripServerArray[serverIndex];
641632

642633
// Shutdown the NTRIP server when the mode or setting changes
643-
DMW_ds(ntripServerSetState, ntripServer);
634+
DMW_if
635+
ntripServerSetState(serverIndex, ntripServer->state);
644636
connected = networkConsumerIsConnected(NETWORK_CONSUMER(serverIndex));
645637
enabled = ntripServerEnabled(serverIndex, &line);
646638
if (!enabled && (ntripServer->state > NTRIP_SERVER_OFF))
@@ -661,7 +653,7 @@ void ntripServerUpdate(int serverIndex)
661653

662654
// Start the network
663655
case NTRIP_SERVER_ON:
664-
ntripServerSetState(ntripServer, NTRIP_SERVER_WAIT_FOR_NETWORK);
656+
ntripServerSetState(serverIndex, NTRIP_SERVER_WAIT_FOR_NETWORK);
665657
break;
666658

667659
// Wait for a network media connection
@@ -690,7 +682,7 @@ void ntripServerUpdate(int serverIndex)
690682

691683
// The network is available for the NTRIP server
692684
networkUserAdd(NETWORK_CONSUMER(serverIndex), __FILE__, __LINE__);
693-
ntripServerSetState(ntripServer, NTRIP_SERVER_NETWORK_CONNECTED);
685+
ntripServerSetState(serverIndex, NTRIP_SERVER_NETWORK_CONNECTED);
694686
}
695687
}
696688
break;
@@ -709,7 +701,7 @@ void ntripServerUpdate(int serverIndex)
709701
rtcmPacketsSent = 0;
710702

711703
// Open socket to NTRIP caster
712-
ntripServerSetState(ntripServer, NTRIP_SERVER_WAIT_GNSS_DATA);
704+
ntripServerSetState(serverIndex, NTRIP_SERVER_WAIT_GNSS_DATA);
713705
}
714706
break;
715707

@@ -736,7 +728,7 @@ void ntripServerUpdate(int serverIndex)
736728
{
737729
// Connection open to NTRIP caster, wait for the authorization response
738730
ntripServer->timer = millis();
739-
ntripServerSetState(ntripServer, NTRIP_SERVER_AUTHORIZATION);
731+
ntripServerSetState(serverIndex, NTRIP_SERVER_AUTHORIZATION);
740732
}
741733
}
742734
break;
@@ -800,7 +792,7 @@ void ntripServerUpdate(int serverIndex)
800792
// We don't use a task because we use I2C hardware (and don't have a semaphore).
801793
online.ntripServer[serverIndex] = true;
802794
ntripServer->startTime = millis();
803-
ntripServerSetState(ntripServer, NTRIP_SERVER_CASTING);
795+
ntripServerSetState(serverIndex, NTRIP_SERVER_CASTING);
804796
}
805797

806798
// Look for '401 Unauthorized'

Firmware/RTK_Everywhere/RTK_Everywhere.ino

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,6 @@ volatile bool deadManWalking;
912912
DMW_if systemPrintf("%s called\r\n", string); \
913913
}
914914
#define DMW_c(string) DMW_if systemPrintf("%s called\r\n", string);
915-
#define DMW_ds(routine, dataStructure) DMW_if routine(dataStructure, dataStructure->state);
916915
#define DMW_m(string) DMW_if systemPrintln(string);
917916
#define DMW_r(string) DMW_if systemPrintf("%s returning\r\n", string);
918917
#define DMW_rs(string, status) DMW_if systemPrintf("%s returning %d\r\n", string, (int32_t)status);

0 commit comments

Comments
 (0)