10Hz GPS?

  • On my VOXL 2, I'm trying to get the ModalAI-supplied GPS working at 10hz. According to the data sheet for the M8N, it can be set to 10hz once the constellations are limited to GPS only. I was able to set that param with QGC (and watch the satellite count drop by half), but still stuck at 5Hz.

    If it can't be done with the ModalAI supplied GNSS, then who else makes one that will work with the VOXL2?

  • Dev Team

    @SethG The unit is built by Holybro. Perhaps you can consult their product documentation for pointers. Also, the software driver is part of px4. You can consult px4 documentation and source code to see what it supports.

  • Okay, first of all, I didn't buy the $49 unit from Holybro, I bought $190 unit from ModalAI. It's been wired differently. I've consulted the U-Blox reference manual for the M8N, a very common chip, and it clearly indicates it will run at 10Hz:

    Second, you guys forked your own version of PX4 and if I understand correctly made changes to make it work over the Qualcomm DSP on the VOXL 2. Your code branch has its own definitions.h and gps.cpp file implemented and can be found here:

    Third, I did review the PX4 code base for UBX.cpp and it looks to set everything to 5hz, unless it's an F9P for which it sets it at 10hz. It also includes some sort of complaint as a comment about not the author's inability to read a GNSS data sheet and based on the code that follows, a strong possibility that the original author sabotaged the code branch to force minimal update rates as some sort of retribution.

    // measurement rate
    // In case of F9P not in moving base mode we use 10Hz, otherwise 8Hz (receivers such as M9N can go higher as well, but
    // the number of used satellites will be restricted to 16. Not mentioned in datasheet)
    int rate_meas;

    if (_mode != UBXMode::Normal) {
    	rate_meas = 125; //8Hz for heading.
    } else {
    	rate_meas = (_board == Board::u_blox9_F9P) ? 100 : 125;

  • Update, got it working, turns out you guys broke auto baud.

  • Another update, got it working to 25hz on an M9N with all constellations running simultaneously. Duty cycle wasn't bad on 115,200, 12 milliseconds of transmission every 40 milliseconds. Just in case anyone ever comes across this thread in the future.

    25Hz sensor_gps on M9N.png

Log in to reply