@@ -628,6 +628,30 @@ bool LG290P::setMessageRate(const char *msgName, int rate, int msgVer)
628
628
return ret;
629
629
}
630
630
631
+ // Set a message on a given port. Available in v4 and above.
632
+ // $PQTMCFGMSGRATE,W,1,2,GGA,1* - <PortType>,<PortID>,<MsgName>,<Rate>[,MsgVersion/Offset]
633
+ // Set port type (1 = UART), UART number (2 = UART2), message, rate
634
+ bool LG290P::setMessageRateOnPort (const char *msgName, int rate, int portNumber, int msgVer)
635
+ {
636
+ char parms[50 ];
637
+ snprintf (parms, sizeof parms, msgVer == -1 ? " ,W,1,%d,%s,%d" : " ,W,1,%d,%s,%d,%d" , portNumber, msgName, rate, msgVer);
638
+ bool ret = sendOkCommand (" PQTMCFGMSGRATE" , parms);
639
+
640
+ // We internally track whether certain important sentences are enabled
641
+ if (ret)
642
+ {
643
+ std::string str = msgName;
644
+ if (str == " GGA" ) devState.ggaRate = rate;
645
+ else if (str == " RMC" ) devState.rmcRate = rate;
646
+ else if (str == " PQTMPVT" ) devState.pvtRate = rate;
647
+ else if (str == " PQTMPL" ) devState.plRate = rate;
648
+ else if (str == " PQTMSVINSTATUS" ) devState.svinstatusRate = rate;
649
+ else if (str == " PQTMEPE" ) devState.epeRate = rate;
650
+ else if (str == " GSV" ) devState.gsvRate = rate;
651
+ }
652
+ return ret;
653
+ }
654
+
631
655
bool LG290P::getMessageRate (const char *msgName, int &rate, int msgVer)
632
656
{
633
657
char parms[50 ];
@@ -1380,7 +1404,7 @@ NmeaPacket NmeaPacket::FromString(const std::string &str)
1380
1404
size_t start = 0 ;
1381
1405
size_t delimiterPos = str.find_first_of (" ,*" );
1382
1406
unsigned long calculatedChksum = 0 ;
1383
- log_d (" Parsing sentence %s" , str.c_str ());
1407
+ // log_d("Parsing sentence %s", str.c_str());
1384
1408
1385
1409
while (true )
1386
1410
{
0 commit comments