I am using the NEO-M8P (Sparkfun GPS 15005) with an OpenLog Artemis to log the UBX messages over UART. The M8P was configured via U-center to output only the required messages over UART, the TXBUF message showed that the buffer does not exceed its memory. So far works good and it logs to the serialLog0000x.txt file.
Now I want to use the IMU function of the OLA and collect each sample with the RTC of the OLA and the GPS values it automatically logs. Each IMU sample in the dataLog0000x.txt file should be with the RTC and the GPS time. For that I connected the M8P with the QWIIC cable to the OLA and it got automatically configured. This configuration by the OLA deactivates the UART output of the M8P.
How can I set it up, that it logs the standard QWIIC outputs of the M8P to the IMU log and simultaneously the specific UBX messages I defined before over UART? How can I avoid the OLA deactivating the UART output of the M8P?
I also want to connect a barometric sensor on the QWIIC bus. As I understood, through the pre-configured QWIIC system, each sample in the dataLog0000x.txt will then contain additionally the output of this new sensor?
The standard OLA firmware should be able to do this. Not the GNSS_Logger version, the standard firmware. It will log the GNSS PVT data via I2C (Qwiic) at the rate you set. You can separately log the GNSS UART1 data by connecting GNSS UART1 TX to the OLA RX pin and configure it for serial logging. Ensure the baud rate matches.
Unless I’ve missed something, the standard OLA firmware should not be disabling the messages you configure on GNSS UART1. Are you saving the configuration after you enable the messages on UART1? Use CFG-CFG in u-center to save the configuration to BBR and Flash. Then the messages will restart after a power cycle.
If you choose a barometric sensor supported by the OLA, the data will be logged together with the PVT GNSS data from I2C.
Hi Paul!
I configured the NEO-M8P in ublox and saved the settings in BBR. The settings remain the same even after completely switching off the power. Just when I connect the OLA via Qwiic, no more UART log is made. The serialLog0000x.txt file on the memory card remains empty, while the dataLog0000x.txt has the PVT information in it. When then simply removing the Qwiic cable and trying to log again over UART, also nothing is logged. The OLA firmware is the regular one V10-v28.
That’s why I assume the OLA via Qwiic disables the UART output and writes the new settings in BBR. To get it logging via UART again I have to configure in u-blox.
Is there a way to get the default OLA dataLog0000x.txt with the IMU and baro sensor with the PVT information while simultaneously logging the RAWX and other UBX messages over UART?
If you can’t get it done with the stock code you might have to build a hybrid version.
Where say it interleaves UBX packets with data in your own format, or encapsulated in an unused UBX class/id
Hi!
So is it possible with the standard firmware to choose the UBX messages that are to be logged via UART while using the plug-and-play Qwiic connection as well? What are the required settings for this and where can I change them?
At a baudrate of 230400, previously without the additional Qwiic connection everything worked just fine, when just adding the Qwiic cable to the GNSS module and restarting the device the serialLog is doing weird things like randomly stopping to log while the dataLog keeps running, messages are left out and so on. The
openNewLogFilesAfter=60
setting opens a new serialLog every defined period and still the serial logging stops after a few seconds while the dataLog keeps working.
The UBX-MON-TXBUF message is still logged, and the buffer is not used up.
Where in the firmware is described what the OLA does with the configurations of the M8P? I couldn’t find it to understand what exactly happens when the Qwiic gets connected.
Thanks a lot, this forum is life-saving for me and my project!
You are asking a lot of the firmware and I’m not really surprised that the serial logging cannot “keep up”. I suspect the serial receive buffer is overflowing while the firmware is busy reading data over I2C.
My advice would be to use two systems: one running the GNSS_Logger firmware to log your high rate messages; and a second system to log PVT plus IMU and barometric data.
The code which initializes the GNSS is:
Maybe the saveConfigSelective is causing issues? I am not sure…
A new try with less data transmitted via the different ports also deactivated the UART logging. I just thought this would be an easy and elegant way of perfectly aligning the timestamps of the IMU log of the OLA to the raw gnss log of the M8P.