@@ -329,7 +329,7 @@ bool GNSS_LG290P::configureRover()
329
329
if (settingsWereSaved)
330
330
settings.updateGNSSSettings = false ;
331
331
332
- // For RTCM and MSM messages to take effect (ie, PointPerfect is active) we must save/reset
332
+ // For RTCM and MSM messages to take effect (ie, PointPerfect is active) we must save/reset
333
333
softwareReset ();
334
334
335
335
if (settings.debugGnss )
@@ -618,9 +618,9 @@ bool GNSS_LG290P::enableRTCMBase()
618
618
// If firmware is 4 or higher, use setMessageRateOnPort, otherwise setMessageRate
619
619
if (lg290pFirmwareVersion >= 4 )
620
620
// Enable this message, at this rate, on this port
621
- response &=
622
- _lg290p-> setMessageRateOnPort (lgMessagesRTCM [messageNumber]. msgTextName ,
623
- settings. lg290pMessageRatesRTCMBase [messageNumber], portNumber);
621
+ response &= _lg290p-> setMessageRateOnPort (lgMessagesRTCM[messageNumber]. msgTextName ,
622
+ settings. lg290pMessageRatesRTCMBase [messageNumber],
623
+ portNumber);
624
624
else
625
625
// Enable this message, at this rate
626
626
response &= _lg290p->setMessageRate (lgMessagesRTCM[messageNumber].msgTextName ,
@@ -1639,24 +1639,42 @@ void GNSS_LG290P::menuMessagesSubtype(int *localMessageRate, const char *message
1639
1639
endOfBlock = MAX_LG290P_NMEA_MSG;
1640
1640
1641
1641
for (int x = 0 ; x < MAX_LG290P_NMEA_MSG; x++)
1642
- systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesNMEA[x].msgTextName ,
1643
- settings.lg290pMessageRatesNMEA [x]);
1642
+ {
1643
+ if (lg290pFirmwareVersion <= lgMessagesNMEA[x].firmwareVersionSupported )
1644
+ systemPrintf (" %d) Message %s: %d - Requires firmware update\r\n " , x + 1 ,
1645
+ lgMessagesNMEA[x].msgTextName , settings.lg290pMessageRatesNMEA [x]);
1646
+ else
1647
+ systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesNMEA[x].msgTextName ,
1648
+ settings.lg290pMessageRatesNMEA [x]);
1649
+ }
1644
1650
}
1645
1651
else if (strcmp (messageType, " RTCMRover" ) == 0 )
1646
1652
{
1647
1653
endOfBlock = MAX_LG290P_RTCM_MSG;
1648
1654
1649
1655
for (int x = 0 ; x < MAX_LG290P_RTCM_MSG; x++)
1650
- systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesRTCM[x].msgTextName ,
1651
- settings.lg290pMessageRatesRTCMRover [x]);
1656
+ {
1657
+ if (lg290pFirmwareVersion <= lgMessagesRTCM[x].firmwareVersionSupported )
1658
+ systemPrintf (" %d) Message %s: %d - Requires firmware update\r\n " , x + 1 ,
1659
+ lgMessagesRTCM[x].msgTextName , settings.lg290pMessageRatesRTCMRover [x]);
1660
+ else
1661
+ systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesRTCM[x].msgTextName ,
1662
+ settings.lg290pMessageRatesRTCMRover [x]);
1663
+ }
1652
1664
}
1653
1665
else if (strcmp (messageType, " RTCMBase" ) == 0 )
1654
1666
{
1655
1667
endOfBlock = MAX_LG290P_RTCM_MSG;
1656
1668
1657
1669
for (int x = 0 ; x < MAX_LG290P_RTCM_MSG; x++)
1658
- systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesRTCM[x].msgTextName ,
1659
- settings.lg290pMessageRatesRTCMBase [x]);
1670
+ {
1671
+ if (lg290pFirmwareVersion <= lgMessagesRTCM[x].firmwareVersionSupported )
1672
+ systemPrintf (" %d) Message %s: %d - Requires firmware update\r\n " , x + 1 , lgMessagesRTCM[x].msgTextName ,
1673
+ settings.lg290pMessageRatesRTCMBase [x]);
1674
+ else
1675
+ systemPrintf (" %d) Message %s: %d\r\n " , x + 1 , lgMessagesRTCM[x].msgTextName ,
1676
+ settings.lg290pMessageRatesRTCMBase [x]);
1677
+ }
1660
1678
}
1661
1679
1662
1680
systemPrintln (" x) Exit" );
0 commit comments