How can I force my RTK Facet to send GPGGA messages?
Some old software I need to use does not understand the data sent by my RTK Facet. I suspect the software expects “GPGGA” but gets only “GNGGA”.
From other posts on this board I have learned that the “Main Talker ID” controls this behavior. However, I do not see how I can change the Main Talker ID in the configuration options of the RTK Facet.
The configuration interface key which sets the Talker ID is UBLOX_CFG_NMEA_MAINTALKERID 0x20930031.
Looking at the RTK Firmware source code, I see that value being changed to 1 (“GP”). But only when the firmware is in NTRIP Client mode. I.e. when the RTK is connected to an NTRIP caster as a client, it sends the NMEA GGA position as GPGGA, not GNGGA. When NTRIP Client mode is disabled, the Talker ID is set back to 3 (“GN”).
So, you could put the Facet into NTRIP Client mode to send GPGGA…
Or you could use u-center to set the ZED-F9P Talker ID manually, and save the configuration with u-center. That would cause GPGGA to be sent until the RTK firmware performs a factoryDefault. And it only does that: after a firmware update; after a factoryReset via the menus or the WiFi configuration.
Let me know if you need more information on how to use u-center. Use CFG-VALSET with CFG-NMEA-MAINTALKERID = 1 to set the Talker ID. Use CFG-CFG to save the configuration to Battery-Backed RAM and Flash.
thank you for your answer and I apologize for the long delay. I was expecting to be notified when there is a response to my post, but I did not receive anything and just saw your reply by chance.
Anyway, following your suggestion, I changed the main talker id from 3 to 1. I used PyGPSClient, because I am working on LInux, but I don’t think that makes a difference. I managed to change the ID to 1, but the value was back to 3 after power-cycling the rtk facet. So unfortunately the change does not seem to be persistent until a factory reset or firmware update.
Do you have any other idea what I could try? If that setting is made by the sparkfun firmware, shouldn’t it be easy enough to prevent that?
Did you save the configuration - to Battery Backed RAM and Flash - after you changed the Talker ID? I’m not sure how you do that with PyGPSClient, but I’m sure there will be a way. SEMU Admin is pretty thorough…