@@ -437,10 +437,6 @@ void SFE_UBLOX_GPS::process(uint8_t incoming, ubxPacket *incomingUBX, uint8_t re
437
437
// This is the start of a binary sentence. Reset flags.
438
438
// We still don't know the response class
439
439
ubxFrameCounter = 0 ;
440
-
441
- rollingChecksumA = 0 ; // Reset our rolling checksums
442
- rollingChecksumB = 0 ;
443
-
444
440
currentSentence = UBX;
445
441
}
446
442
else if (incoming == ' $' )
@@ -468,6 +464,9 @@ void SFE_UBLOX_GPS::process(uint8_t incoming, ubxPacket *incomingUBX, uint8_t re
468
464
currentSentence = NONE; // Something went wrong. Reset.
469
465
else if (ubxFrameCounter == 2 ) // Class
470
466
{
467
+ // Reset our rolling checksums here (not when we receive the 0xB5)
468
+ rollingChecksumA = 0 ;
469
+ rollingChecksumB = 0 ;
471
470
// We can now identify the type of response
472
471
if (incoming == UBX_CLASS_ACK)
473
472
{
@@ -587,54 +586,54 @@ void SFE_UBLOX_GPS::processUBX(uint8_t incoming, ubxPacket *incomingUBX, uint8_t
587
586
if (incomingUBX->counter == 0 )
588
587
{
589
588
incomingUBX->cls = incoming;
590
- if (_printDebug == true )
591
- {
592
- _debugSerial->print (F (" processUBX: Class : 0x" ));
593
- _debugSerial->print (incomingUBX->cls , HEX);
594
- _debugSerial->print (F (" CSUMA: 0x" ));
595
- _debugSerial->print (rollingChecksumA, HEX);
596
- _debugSerial->print (F (" CSUMB: 0x" ));
597
- _debugSerial->println (rollingChecksumB, HEX);
598
- }
589
+ // if (_printDebug == true)
590
+ // {
591
+ // _debugSerial->print(F("processUBX: Class : 0x"));
592
+ // _debugSerial->print(incomingUBX->cls, HEX);
593
+ // _debugSerial->print(F(" CSUMA: 0x"));
594
+ // _debugSerial->print(rollingChecksumA, HEX);
595
+ // _debugSerial->print(F(" CSUMB: 0x"));
596
+ // _debugSerial->println(rollingChecksumB, HEX);
597
+ // }
599
598
}
600
599
else if (incomingUBX->counter == 1 )
601
600
{
602
601
incomingUBX->id = incoming;
603
- if (_printDebug == true )
604
- {
605
- _debugSerial->print (F (" processUBX: ID : 0x" ));
606
- _debugSerial->print (incomingUBX->id , HEX);
607
- _debugSerial->print (F (" CSUMA: 0x" ));
608
- _debugSerial->print (rollingChecksumA, HEX);
609
- _debugSerial->print (F (" CSUMB: 0x" ));
610
- _debugSerial->println (rollingChecksumB, HEX);
611
- }
602
+ // if (_printDebug == true)
603
+ // {
604
+ // _debugSerial->print(F("processUBX: ID : 0x"));
605
+ // _debugSerial->print(incomingUBX->id, HEX);
606
+ // _debugSerial->print(F(" CSUMA: 0x"));
607
+ // _debugSerial->print(rollingChecksumA, HEX);
608
+ // _debugSerial->print(F(" CSUMB: 0x"));
609
+ // _debugSerial->println(rollingChecksumB, HEX);
610
+ // }
612
611
}
613
612
else if (incomingUBX->counter == 2 ) // Len LSB
614
613
{
615
614
incomingUBX->len = incoming;
616
- if (_printDebug == true )
617
- {
618
- _debugSerial->print (F (" processUBX: LEN_LSB: 0x" ));
619
- _debugSerial->print (incomingUBX->len , HEX);
620
- _debugSerial->print (F (" CSUMA: 0x" ));
621
- _debugSerial->print (rollingChecksumA, HEX);
622
- _debugSerial->print (F (" CSUMB: 0x" ));
623
- _debugSerial->println (rollingChecksumB, HEX);
624
- }
615
+ // if (_printDebug == true)
616
+ // {
617
+ // _debugSerial->print(F("processUBX: LEN_LSB: 0x"));
618
+ // _debugSerial->print(incomingUBX->len, HEX);
619
+ // _debugSerial->print(F(" CSUMA: 0x"));
620
+ // _debugSerial->print(rollingChecksumA, HEX);
621
+ // _debugSerial->print(F(" CSUMB: 0x"));
622
+ // _debugSerial->println(rollingChecksumB, HEX);
623
+ // }
625
624
}
626
625
else if (incomingUBX->counter == 3 ) // Len MSB
627
626
{
628
627
incomingUBX->len |= incoming << 8 ;
629
- if (_printDebug == true )
630
- {
631
- _debugSerial->print (F (" processUBX: LEN_MSB: 0x" ));
632
- _debugSerial->print (incoming, HEX);
633
- _debugSerial->print (F (" CSUMA: 0x" ));
634
- _debugSerial->print (rollingChecksumA, HEX);
635
- _debugSerial->print (F (" CSUMB: 0x" ));
636
- _debugSerial->println (rollingChecksumB, HEX);
637
- }
628
+ // if (_printDebug == true)
629
+ // {
630
+ // _debugSerial->print(F("processUBX: LEN_MSB: 0x"));
631
+ // _debugSerial->print(incoming, HEX);
632
+ // _debugSerial->print(F(" CSUMA: 0x"));
633
+ // _debugSerial->print(rollingChecksumA, HEX);
634
+ // _debugSerial->print(F(" CSUMB: 0x"));
635
+ // _debugSerial->println(rollingChecksumB, HEX);
636
+ // }
638
637
}
639
638
else if (incomingUBX->counter == incomingUBX->len + 4 ) // ChecksumA
640
639
{
0 commit comments