Dear fellow Sierra users,
I’m fiddling with the EM7455’s GNSS reception capability and NMEA output, to see what it’s capable of.
And, I’d like to focus this topic on support of multiple GNSS systems.
Hereby I’d like to share what I’ve found out so far, and ask the polite audience for comments / corrections / additions
At first I was intrigued by notes in the Product Technical Specification, that the module supports GLONASS and Galileo, apart from the obvious GPS. Actually even BeiDou is mentioned in some paragraphs, but I have no material evidence that BeiDou really is supported…
Out of the box, the modules coming my way happily produce GPS-flavoured NMEA. GPS only.
The key command to unlatch support for other systems is AT!GPSNMEASENTENCE . A few examples from my log:
AT!GPSNMEASENTENCE?
!GPSNMEASENTENCE: 0x3F
OK
AT!GPSNMEASENTENCE=?
!GPSNMEASENTENCE: (00-FFFF)
OK
AT!GPSNMEASENTENCE=7F
OK
AT!GPSNMEASENTENCE?
!GPSNMEASENTENCE: 0x7F
OK
AT!GPSNMEASENTENCE=7FFF
OK
The value is a bitmask:
It is a bit of a mystery to me, whether this command enables/disables the operation of the “solution engine” (receiver) for the individual systems, or if they keep running all the time. I haven’t found a separate command that would allow me to enable or disable a particular flavour of the engine under the hood.
Actually, there’s the AT!GPSSATINFO? command, which shows a summary of SV’s in view.
Satellites in view: 18 (2023 02 17 4 17:11:51)
* SV: 2 ELEV: 30 AZI: 57 SNR: 44
* SV: 5 ELEV: 12 AZI: 33 SNR: 37
* SV: 10 ELEV: 11 AZI: 168 SNR: 43
* SV: 16 ELEV: 0 AZI: 0 SNR: 47
* SV: 18 ELEV: 72 AZI: 75 SNR: 47
* SV: 23 ELEV: 33 AZI: 142 SNR: 46
* SV: 26 ELEV: 61 AZI: 206 SNR: 48
* SV: 27 ELEV: 32 AZI: 282 SNR: 46
* SV: 29 ELEV: 19 AZI: 91 SNR: 41
* SV: 74 ELEV: 40 AZI: 199 SNR: 36
* SV:255 ELEV: 0 AZI: 0 SNR: 42
* SV: 73 ELEV: 2 AZI: 174 SNR: 39
* SV: 76 ELEV: 9 AZI: 334 SNR: 29
* SV: 75 ELEV: 53 AZI: 292 SNR: 43
* SV: 69 ELEV: 12 AZI: 105 SNR: 33
* SV: 84 ELEV: 66 AZI: 22 SNR: 29
* SV: 85 ELEV: 37 AZI: 260 SNR: 43
* SV: 68 ELEV: 23 AZI: 56 SNR: 37
Quoting the AT command guide:
<SV n> (Satellite vehicle number for the nth satellite in the list)
- Valid ranges:
• 1–32 (GPS)
• 65–96 (GLONASS)
• 201–237 (Beidou)
• 301–336 (Galileo)
From that listing, it’s clear that at least GPS and GLONASS are received and “solved” continuously, regardless of what sententences are permitted. I am slightly perplexed by an SV #255, which is out of the ranges given for AT!GPSSATINFO. Reported with AZ=0/EL=0 but SNR 42 dB
Based on my practical tests, looking at the NMEA output:
- GPS works fairly well, I see between 7 and 10 satellites all the time
- GLONASS (the GL talker) appears to work too - the number of satellites is lower for GLONASS compared to GPS, but it does work
- Galileo reception (the GA talker), surprisingly to me, shows only basic signs of life. GSV messages for the the GA talker only appear sporadically.
- BeiDou is non-existent. The documentation of AT!GPSNMEASENTENCE does not lie. (The Product Tech Spec probably does.)
Motivated by the sketchy performance of the Galileo receiver, I have tried:
-
increasing the nominal baud rate of the virtual COM port. Unsurprisingly to me, this did not have any effect. (Curiously, increasing the baud did have an effect on a uBlox 8-series receiver, in a similar situation - apparently the config option is related to the physical UART, and although I accessed the module via USB, increasing the unused UART’s baud rate did get rid of NMEA buffer overflows)
-
removing all sentences except those related to Galileo, i.e. GPSNMEASENTENCE=5E . After that, I did end up with only galileo-flavoured GSV messages (GAGSV) on the screen, but still they only appeared sporadically, not every second. Or rather, hardly ever. I have comparison to uBlox receivers - their 8th generation also has some quirks (?) in Galileo support, but overall it’s already working.
It’s early 2023, Galileo has about 24 satellites in orbit. The Galileo satellite segment is no longer a joke. Apparently, receivers introduced before the recent(ish ~2017) major Galileo launch activity may have trouble coping, now that a plausible number of satellites are in view :->
Enough for today, comments welcome