Pimoroni PA1010D GPS Breakout - 10Hz

Could someone give me a hint how could I get my PA1010D GPS Breakout work with a refresh rate of 10Hz?

The obvious choice of modifying the delay between running the inquiry to 0.1s did not work, the readings still came with a 1 Hz rate, based on the time stamps.

The setup:

  • RPi (currently on 4, but the project should run later on a zero)
  • the pimoroni/pa1010d-python python library running under python3

Thanks

Don’t take this the wrong way, but why?
The product page states
“High accuracy 1-PPS timing support (±20ns jitter)”
which seems to me to mean 1 second is the best you’ll get?

This is in the datasheet:


From that my conclusion was that it is supposed to be possible to get 10Hz refresh.

I’m far from any kind of expert on this, but “I think” that’s how fast it updates from the satellites. Not how fast you can read the fix out? But I could have it all wrong?
I don’t have that breakout, just so you know. I do have an Adafruit version but haven’t used it in a while.

I’v elooked through the datasheet and the method for doing this isn’t obvious to me at all, but Adafruit seem to have found some way to do it in their library (look about 2/3 of the way down in the EchoTest example).

@Shoe, Thanks, that was a good hint! At least partially it worked:

# This would be twice a second (2hz, 500ms delay):
gps.send_command(b'PMTK220,500')

It accepted the command to set it to 2Hz, but did not manage to go higher.
And indeed, at 2Hz this resulted in an updated reading of the position.

After some deep dive into NMEA protocol and PMTK messages it turns out that my approach was wrong, or at least not accurate.
The 10Hz is indeed achievable with 2 steps:

  1. Set the Baudrate to 115200 : $PMTK251,115200*1F

  2. Set fix rate to 10Hz: $PMTK300,100,0,0,0,0*2C