Skip to content

Commit 752f00a

Browse files
committed
Use 0 for unknown LG290P firmware - not 99. 99 is >= 5!
1 parent 5a08954 commit 752f00a

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

Firmware/RTK_Everywhere/GNSS_LG290P.ino

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ GNSS_LG290P.ino
88

99
#ifdef COMPILE_LG290P
1010

11-
uint8_t lg290pFirmwareVersion = 0;
11+
uint8_t lg290pFirmwareVersion = 0; // 0 = Unknown
1212

1313
//----------------------------------------
1414
// If we have decryption keys, configure module
@@ -111,7 +111,7 @@ void GNSS_LG290P::begin()
111111
{
112112
spot += strlen("LG290P03AANR01A");
113113
if (sscanf(spot, "%d", &lg290pFirmwareVersion) != 1)
114-
lg290pFirmwareVersion = 99;
114+
lg290pFirmwareVersion = 0; // Unknown
115115
}
116116

117117
if (lg290pFirmwareVersion < 4)
@@ -675,11 +675,25 @@ bool GNSS_LG290P::enableNMEA()
675675
if (pointPerfectIsEnabled())
676676
{
677677
// Force on any messages that are needed for PPL
678-
if (gpggaEnabled == false)
679-
response &= _lg290p->setMessageRate("GGA", 1);
678+
// If firmware is 4 or higher, use setMessageRateOnPort, otherwise setMessageRate
679+
if (lg290pFirmwareVersion >= 4)
680+
{
681+
// Enable GGA / ZDA on port 2 (ESP32) only
682+
if (gpggaEnabled == false)
683+
response &= _lg290p->setMessageRateOnPort("GGA", 1, 2);
684+
685+
// if (gpggaEnabled == false)
686+
// response &= _lg290p->setMessageRateOnPort("GGA", 1, 1);
687+
}
688+
else
689+
{
690+
// Enable GGA / ZDA on all ports. It's the best we can do.
691+
if (gpggaEnabled == false)
692+
response &= _lg290p->setMessageRate("GGA", 1);
680693

681-
// if (gpzdaEnabled == false)
682-
// response &= _lg290p->setMessageRate("ZDA", 1);
694+
// if (gpzdaEnabled == false)
695+
// response &= _lg290p->setMessageRate("ZDA", 1);
696+
}
683697
}
684698

685699
return (response);

0 commit comments

Comments
 (0)