2023-06-06 06:45 AM
Hello,
I don't understand whether it is possible or not to enable NMEA 4.10 messages on the X-NUCLEO-GNSS1A1 / LIV3F. I'm currently testing it with the updated firmware version, as per $$PSTMVER,GNSSLIB_8.4.10.16.3_ARM*5E. This is confusing, because in this post (edited in July 2022):
https://community.st.com/s/feed/0D50X0000AIcA9mSQF
Francesco Virlinzi shares that it is indeed possible on the Teseo-LIV3F, by entering (and after that saving and restarting):
$PSTMSETPAR,1122,0x02
($PSTMSETPAR,1122,0x04 would restore it to V3.01)
However, I'm using the device configured as Galileo-only: and the following initial time should signal that it is, in fact, the case:
$$GPTXT,DEFAULT LIV CONFIGURATION*2B
$$GPZDA,000001.50,03,09,2017,00,00*6C
As I am not seeing the corrisponding TalkerID change to GA (instead of GP), I'm assuming that such change has not happened. In section 11.4.7 of the UM2229 - Rev 5 Software Manual (November 2021), when describing the --ZDA sentence, you find the following:
Synopsis for NMEA 0183 Rev 3.1 (Default):
$GPZDA,<Timestamp>,<Day>,<Month>,<Year>,00,00*<checksum><cr><lf>
Synopsis for NMEA 0183 Rev 4.10:
$<TalkerID>ZDA,<Timestamp>,<Day>,<Month>,<Year>,,*<checksum><cr><lf>
which would imply that it is indeed possible to change the NMEA version. These previous sections, however, seem likely to suggest otherwise: By the way, this is an inaccurate statement, because, as far as I know, Version 3.1 doesn't exist at all, while V3.01 does (as properly reflected in the chipset's binary image manual UM2399).
3 Protocol Specification
The receivers come with a highly flexible communication interface.
Teseo Module supports the following protocols:
• NMEA Protocol based on NMEA 0183 Version 3.1;
• RTCM protocol based on RTCM Version 2.3
3.1 NMEA Protocol
NMEA messages sent by the Teseo Module are based on NMEA 0183 Version 3.1.
Making things even stranger, version 2 of the same manual, which I have found online (DocID030669 Rev 2 October 2017), page 24/160, states differently, mentioning Version 4.0 (not 4.1):
3 Protocol Specification
The receivers come with a highly flexible communication interface.
Teseo-LIV3F supports the following protocols:
• NMEA Protocol based on NMEA 0183 Version 4.0;
• RTCM protocol based on RTCM Version 2.3
3.1 NMEA Protocol
NMEA messages sent by the Teseo-LIV3F are based on NMEA 0183 Version 3.1.
To make things worst neither manual mentiones, in the 9 Configuration and command specification section, the CBD-122 that is implied in Francesco's instructions. This, CBD-122, however, seems to be described in UM2399 (STA8090xx, which seems to be the chipset inside the module, as reported by Teseo Suite STA8090_v4.6.8.2_D0) and UM2553 (LIV3R ROM-based).
In the UM2399 section:
12.3 Changing standard NMEA messages format
By default, Standard NMEA Messages are compliant with the “NMEA 0183�? Standard Rev.
3.1 (?! ) dated January 2002. To change format to Rev. 4.10, issued from the “National Marine
Electronics Association�? in the August 2012 some system configuration commands should
be issued.
It is required to change the value of Configuration Data Block 122 from the default value to
“4�?.
$PSTMSETPAR,1122,4
$PSTMSAVEPAR
$PSTMSRR
It is possible to go back to default configuration restoring parameters or setting CDB 122 as
0xC
$PSTMSETPAR,1122,C
$PSTMSAVEPAR
$PSTMSRR
These are completely different parameters from Francesco's.
Another clue is in CBD-200, where in UM2229 - Rev 5 bit 6 is RESERVED (Reserved - MUST be 1 in UM2229 V2), while in UM2399 it is: NMEA v301 support enable >> Enable/disable the NMEA v3.01 support. To support the NMEA v3.01 standard some new values have been reported in the –RMC, --VTG and –GLL NMEA messages. This feature is enabled by default. To ensure full compatibility with the previous releases, the old NMEA format can be restored disabling this feature.
To make it clear, I have updated the firmware on the board in a slightly different way than described in the firmware update instructions (Version 1.1), since I didn't have the proper Nucleo board and I'm (succesfully, apart from this issue) evaluating the product with a non-STM host MCU. Obviously, I've made all the appropriate UART connections to an adapter, common ground and sent reset pin low to sync (which went perfectly OK with the Teseo Suite FW update tool and everything is working fine). Is there any difference in the LIV3F module that requires different FW versions?
Assuming that Francesco couldn't have been wrong at the time of his initial, unedited post, has the Version 4.0 / 4.1 option been removed from the most recent firmwares? Is it possible to restore it? Is Version 4.1 enabled but the TalkerIDs are not changed? Am I missing something? Anyone else successful? Since I don't have access to the very expensive updated IEC61162-1 standard, it's a bit hard to figure out all the changes, also in sentence format, so I wanted a clarification.
Thank you
Stefano