@@ -412,7 +412,7 @@ bool GNSS_LG290P::configureRover()
412412 if (settings.debugGnss && response == false )
413413 systemPrintln (" configureRover: Set rate failed" );
414414
415- response &= setHighAccuracyService (settings.enableGalileoHas );
415+ response &= setHighAccuracyService (settings.enableGalileoHas , ( const char *)settings. configurePPP );
416416
417417 response &= enableRTCMRover ();
418418 if (settings.debugGnss && response == false )
@@ -528,7 +528,7 @@ bool GNSS_LG290P::configureBase()
528528
529529 response &= setMinCnoRadio (settings.minCNO );
530530
531- response &= setHighAccuracyService (settings.enableGalileoHas );
531+ response &= setHighAccuracyService (settings.enableGalileoHas , ( const char *)settings. configurePPP );
532532
533533 response &= enableRTCMBase (); // Set RTCM messages
534534 if (settings.debugGnss && response == false )
@@ -1912,6 +1912,9 @@ void GNSS_LG290P::menuConstellations()
19121912 {
19131913 systemPrintf (" %d) Galileo E6 Corrections: %s\r\n " , MAX_LG290P_CONSTELLATIONS + 1 ,
19141914 settings.enableGalileoHas ? " Enabled" : " Disabled" );
1915+ if (settings.enableGalileoHas )
1916+ systemPrintf (" %d) PPP Configuration: \" %s\"\r\n " , MAX_LG290P_CONSTELLATIONS + 2 ,
1917+ settings.configurePPP );
19151918 }
19161919
19171920 systemPrintln (" x) Exit" );
@@ -1928,6 +1931,10 @@ void GNSS_LG290P::menuConstellations()
19281931 {
19291932 settings.enableGalileoHas ^= 1 ;
19301933 }
1934+ else if ((incoming == MAX_LG290P_CONSTELLATIONS + 2 ) && present.galileoHasCapable && settings.enableGalileoHas )
1935+ {
1936+ getUserInputString (settings.configurePPP , sizeof (settings.configurePPP ));
1937+ }
19311938 else if (incoming == INPUT_RESPONSE_GETNUMBER_EXIT)
19321939 break ;
19331940 else if (incoming == INPUT_RESPONSE_GETNUMBER_TIMEOUT)
@@ -1939,7 +1946,7 @@ void GNSS_LG290P::menuConstellations()
19391946 // Apply current settings to module
19401947 gnss->setConstellations ();
19411948
1942- setHighAccuracyService (settings.enableGalileoHas );
1949+ setHighAccuracyService (settings.enableGalileoHas , ( const char *)settings. configurePPP );
19431950
19441951 clearBuffer (); // Empty buffer of any newline chars
19451952}
@@ -2415,7 +2422,7 @@ bool GNSS_LG290P::setElevation(uint8_t elevationDegrees)
24152422}
24162423
24172424// ----------------------------------------
2418- bool GNSS_LG290P::setHighAccuracyService (bool enableGalileoHas)
2425+ bool GNSS_LG290P::setHighAccuracyService (bool enableGalileoHas, const char *configurePPP )
24192426{
24202427 bool result = true ;
24212428
@@ -2429,7 +2436,9 @@ bool GNSS_LG290P::setHighAccuracyService(bool enableGalileoHas)
24292436 {
24302437 // $PQTMCFGPPP,W,2,1,120,0.10,0.15*68
24312438 // Enable E6 HAS, WGS84, 120 timeout, 0.10m Horizontal convergence accuracy threshold, 0.15m Vertical threshold
2432- if (_lg290p->sendOkCommand (" $PQTMCFGPPP" , " ,W,2,1,120,0.10,0.15" ) == true )
2439+ char paramConfigurePPP[sizeof (settings.configurePPP ) + 4 ];
2440+ snprintf (paramConfigurePPP, sizeof (paramConfigurePPP), " ,W,%s" , configurePPP);
2441+ if (_lg290p->sendOkCommand (" $PQTMCFGPPP" , paramConfigurePPP) == true )
24332442 {
24342443 systemPrintln (" Galileo E6 HAS service enabled" );
24352444 }
0 commit comments