@@ -392,6 +392,7 @@ void gnssReadTask(void *e)
392
392
sempEnableDebugOutput (rtkParse);
393
393
394
394
bool sbfParserNeeded = present.gnss_mosaicX5 ;
395
+ bool spartnParserNeeded = present.gnss_mosaicX5 && (productVariant != RTK_FLEX);
395
396
396
397
if (sbfParserNeeded)
397
398
{
@@ -408,8 +409,6 @@ void gnssReadTask(void *e)
408
409
// But be careful - you get a lot of "SEMP: Sbf SBF, 0x0002 (2) bytes, invalid preamble2"
409
410
// if (settings.debugGnss) sempEnableDebugOutput(sbfParse);
410
411
411
- bool spartnParserNeeded = present.gnss_mosaicX5 && (productVariant != RTK_FLEX);
412
-
413
412
if (spartnParserNeeded)
414
413
{
415
414
// Any data which is not SBF will be passed to the SPARTN parser via the invalid data callback
@@ -519,7 +518,8 @@ void gnssReadTask(void *e)
519
518
if (!expected) // SBF is not expected so restart the parsers
520
519
{
521
520
sbfParse->state = sempFirstByte;
522
- spartnParse->state = sempFirstByte;
521
+ if (spartnParserNeeded)
522
+ spartnParse->state = sempFirstByte;
523
523
if (settings.debugGnss )
524
524
systemPrintf (" Unexpected SBF block %d - rejected on ID or length\r\n " ,
525
525
scratchPad->sbf .sbfID );
@@ -559,7 +559,8 @@ void gnssReadTask(void *e)
559
559
if (!expected) // SBF is not expected so restart the parsers
560
560
{
561
561
sbfParse->state = sempFirstByte;
562
- spartnParse->state = sempFirstByte;
562
+ if (spartnParserNeeded)
563
+ spartnParse->state = sempFirstByte;
563
564
if (settings.debugGnss )
564
565
systemPrintf (" Unexpected EncapsulatedOutput block - rejected\r\n " );
565
566
// We could pass the rejected bytes to the SPARTN parser but this is ~risky
0 commit comments