Changes coming

A project log for GPS Clock

A simple desk clock that gets extremely accurate time from GPS

Nick SayerNick Sayer 12/05/2021 at 05:510 Comments

The default baud rate for the serial I/O for the PX1100T is 115,200 baud. Which makes sense given how much more information gets sent given the quad constellation support. That means there has to be a #define in the code to switch from one module to the other.

In addition, there are some message changes. $GPRMC becomes $GNRMC, $GPGSA likewise become $GNGSA, but it's sent once for each constellation, with an ID field. The biggest change, though, is that $GPGSV turns into $GxGSV, where x is either P, L, A or B for GPS, GLONASS, Galileo or Beidou respectively.

With support for up to 5 GSV messages per constellation there can be up to 80 satellites. This means slightly rearchitecting the SNR display in the menu system. Now it's 3 2 digit numbers: the total number of visible satellites (the number of satellites in all the $GxGSV messages), the total number of satellites that are being used for the fix (the sum of the "satellites used" values in all of the $GNGSA messages) and the maximum SNR for any single satellite (from $GxGSV). Lastly, there's the GPS mode indication from $GNRMC. This has a bunch of possible values, but the two that are likely to actually show up are "A" for Autonomous mode or "d" for Differential mode (meaning that at least one SBAS is contributing to the fix). Differential mode is ostensibly what you want to see, though for this particular application it's probably not very significant (it can improve the location fix potentially by an order of magnitude, but I don't know how much this results in improvement to the PPS jitter. And for this clock that hardly matters in any event).

Preliminary tests suggest that the quad constellation support results in improved indoor reception, although a good outdoor antenna placement is still strongly recommended.