@@ -79,23 +79,14 @@ const PP_Service ppServices[] = {
79
79
// "ZTP-LBand+IP" profile deprecated
80
80
};
81
81
82
- enum PP_NickName
83
- {
84
- PP_NICKNAME_DISABLED = 0 ,
85
- PP_NICKNAME_FLEX_RTCM,
86
- PP_NICKNAME_FLEX_LBAND_NA,
87
- PP_NICKNAME_GLOBAL,
88
- PP_NICKNAME_LIVE,
89
- PP_NICKNAME_IP_MQTT,
90
- PP_NICKNAME_MAX,
91
- };
92
-
93
82
const int ppServiceCount = sizeof (ppServices) / sizeof (ppServices[0 ]);
94
83
95
84
// Provision device on ThingStream
96
85
// Download keys
97
86
void menuPointPerfect ()
98
87
{
88
+ uint8_t pointPerfectServiceOnEntry = settings.pointPerfectService ;
89
+
99
90
while (1 )
100
91
{
101
92
systemPrintln ();
@@ -304,6 +295,10 @@ void menuPointPerfect()
304
295
gnss->applyPointPerfectKeys ();
305
296
}
306
297
298
+ // If, on entry, we needed NTRIP, and now we don't, then disable settings.enableNtripClient
299
+ if ((pointPerfectNtripNeeded (pointPerfectServiceOnEntry)) && (!pointPerfectNtripNeeded ()))
300
+ settings.enableNtripClient = false ;
301
+
307
302
clearBuffer (); // Empty buffer of any newline chars
308
303
}
309
304
@@ -343,7 +338,7 @@ void menuPointPerfectSelectService()
343
338
settings.pointPerfectService = incoming - 1 ; // Align incoming to array
344
339
345
340
restartRover = true ; // Require a rover restart to enable / disable RTCM for PPL
346
- settings.requestKeyUpdate = settings.pointPerfectService ; // Force a key update - or don't
341
+ settings.requestKeyUpdate = settings.pointPerfectService != PP_NICKNAME_DISABLED ; // Force a key update - or don't
347
342
348
343
break ; // Exit menu once selected
349
344
}
@@ -816,7 +811,7 @@ void pointPerfectVerifyTables()
816
811
817
812
bool pointPerfectIsEnabled ()
818
813
{
819
- if (settings.pointPerfectService > PP_NICKNAME_DISABLED)
814
+ if (settings.pointPerfectService != PP_NICKNAME_DISABLED)
820
815
return true ;
821
816
return false ;
822
817
}
@@ -849,7 +844,13 @@ bool pointPerfectLbandNeeded()
849
844
// Determine if this service type uses NTRIP for corrections
850
845
bool pointPerfectNtripNeeded ()
851
846
{
852
- if (settings.pointPerfectService == PP_NICKNAME_FLEX_RTCM || settings.pointPerfectService == PP_NICKNAME_LIVE)
847
+ return pointPerfectNtripNeeded (settings.pointPerfectService );
848
+ }
849
+
850
+ // Determine if this service type uses NTRIP for corrections
851
+ bool pointPerfectNtripNeeded (uint8_t pointPerfectService)
852
+ {
853
+ if (pointPerfectService == PP_NICKNAME_FLEX_RTCM || pointPerfectService == PP_NICKNAME_LIVE)
853
854
return true ;
854
855
return false ;
855
856
}
0 commit comments