From 286670c7945bf0308d7ad85994faaa16f7ee14dd Mon Sep 17 00:00:00 2001 From: Michael Ammann Date: Mon, 14 Feb 2022 13:54:22 +0100 Subject: [PATCH 1/4] Update SparkFun_u-blox_GNSS_Arduino_Library.h --- src/SparkFun_u-blox_GNSS_Arduino_Library.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SparkFun_u-blox_GNSS_Arduino_Library.h b/src/SparkFun_u-blox_GNSS_Arduino_Library.h index b1d3bb5..9608593 100644 --- a/src/SparkFun_u-blox_GNSS_Arduino_Library.h +++ b/src/SparkFun_u-blox_GNSS_Arduino_Library.h @@ -809,6 +809,7 @@ class SFE_UBLOX_GNSS bool setUSBOutput(uint8_t comSettings, uint16_t maxWait = defaultMaxWait); // Configure USB port to output UBX, NMEA, RTCM3, SPARTN or a combination thereof bool setSPIOutput(uint8_t comSettings, uint16_t maxWait = defaultMaxWait); // Configure SPI port to output UBX, NMEA, RTCM3, SPARTN or a combination thereof void setNMEAOutputPort(Stream &nmeaOutputPort); // Sets the internal variable for the port to direct NMEA characters to + void setOutputPort(Stream &outputPort); // Sets the internal variable for the port to direct ALL characters to // Reset to defaults @@ -1562,7 +1563,7 @@ class SFE_UBLOX_GNSS Stream *_serialPort; // The generic connection to user's chosen Serial hardware Stream *_nmeaOutputPort = NULL; // The user can assign an output port to print NMEA sentences if they wish Stream *_debugSerial; // The stream to send debug messages to if enabled - + Stream *_outputPort = NULL; SPIClass *_spiPort; // The instance of SPIClass uint8_t _csPin; // The chip select pin uint32_t _spiSpeed; // The speed to use for SPI (Hz) From 505bffd53264a866693c7c36228853bf438e5b69 Mon Sep 17 00:00:00 2001 From: Michael Ammann Date: Mon, 14 Feb 2022 13:57:07 +0100 Subject: [PATCH 2/4] Update SparkFun_u-blox_GNSS_Arduino_Library.cpp --- src/SparkFun_u-blox_GNSS_Arduino_Library.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp b/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp index 7ae4f32..5b32b87 100644 --- a/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp +++ b/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp @@ -1527,6 +1527,8 @@ uint16_t SFE_UBLOX_GNSS::getMaxPayloadSize(uint8_t Class, uint8_t ID) // Take a given byte and file it into the proper array void SFE_UBLOX_GNSS::process(uint8_t incoming, ubxPacket *incomingUBX, uint8_t requestedClass, uint8_t requestedID) { + if (_outputPort != NULL) + _outputPort->write(incoming); // Echo this byte to the serial port if ((currentSentence == NONE) || (currentSentence == NMEA)) { if (incoming == UBX_SYNCH_1) // UBX binary frames start with 0xB5, aka μ @@ -6449,6 +6451,11 @@ void SFE_UBLOX_GNSS::setNMEAOutputPort(Stream &nmeaOutputPort) _nmeaOutputPort = &nmeaOutputPort; // Store the port from user } +void SFE_UBLOX_GNSS::setOutputPort(Stream &outputPort) +{ + _outputPort = &outputPort; // Store the port from user +} + // Reset to defaults void SFE_UBLOX_GNSS::factoryReset() From 3000efbb918c8c926c6d102f3354c171a95fbf7b Mon Sep 17 00:00:00 2001 From: Michael Ammann Date: Mon, 14 Feb 2022 13:58:32 +0100 Subject: [PATCH 3/4] Update Example19_LBand_Corrections_with_NEO-D9S.ino --- .../Example19_LBand_Corrections_with_NEO-D9S.ino | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/ZED-F9P/Example19_LBand_Corrections_with_NEO-D9S/Example19_LBand_Corrections_with_NEO-D9S.ino b/examples/ZED-F9P/Example19_LBand_Corrections_with_NEO-D9S/Example19_LBand_Corrections_with_NEO-D9S.ino index ae9de84..d012a16 100644 --- a/examples/ZED-F9P/Example19_LBand_Corrections_with_NEO-D9S/Example19_LBand_Corrections_with_NEO-D9S.ino +++ b/examples/ZED-F9P/Example19_LBand_Corrections_with_NEO-D9S/Example19_LBand_Corrections_with_NEO-D9S.ino @@ -146,7 +146,9 @@ void setup() if (ok) ok = myGNSS.setDGNSSConfiguration(SFE_UBLOX_DGNSS_MODE_FIXED); // Set the differential mode - ambiguities are fixed whenever possible if (ok) ok = myGNSS.setNavigationFrequency(1); //Set output in Hz. - + + if (ok) ok = myGNSS.setVal8(UBLOX_CFG_SPARTN_USE_SOURCE, 1); // use LBAND PMP message + //Configure the SPARTN IP Dynamic Keys //"When the receiver boots, the host should send 'current' and 'next' keys in one message." - Use setDynamicSPARTNKeys for this. //"Every time the 'current' key is expired, 'next' takes its place." From 6ea673060eabd4b8a4a497497a9716447ad9ba2d Mon Sep 17 00:00:00 2001 From: Michael Ammann Date: Mon, 14 Feb 2022 14:53:57 +0100 Subject: [PATCH 4/4] Update SparkFun_u-blox_GNSS_Arduino_Library.cpp --- src/SparkFun_u-blox_GNSS_Arduino_Library.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp b/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp index 5b32b87..20df53c 100644 --- a/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp +++ b/src/SparkFun_u-blox_GNSS_Arduino_Library.cpp @@ -3312,6 +3312,8 @@ void SFE_UBLOX_GNSS::processUBXpacket(ubxPacket *msg) packetUBXRXMPMPmessage->callbackData->checksumA = msg->checksumA; packetUBXRXMPMPmessage->callbackData->checksumB = msg->checksumB; + + packetUBXRXMPMPmessage->automaticFlags.flags.bits.callbackCopyValid = true; // Mark the data as valid } } else if (msg->id == UBX_RXM_SFRBX)