PX4 / PX4-GPSDrivers

Platform independent GPS drivers
BSD 3-Clause "New" or "Revised" License
85 stars 190 forks source link

Add Unicore parser #123

Closed julianoes closed 1 year ago

julianoes commented 1 year ago

This adds a separate class to parse Unicore messages which is then included as part of the NMEA parser.

This brings support for the Unicore UM982 module and heading specifically for the dual antenna setup.

The PR adds a unit test that can currently be run by a separate cmake command but can probably ultimately be included in other unit tests.

For now, the commands to run it, are:

cmake -Bbuild -H.
cmake --build build && build/gps-parser-test

FYI @vincentpoont2

julianoes commented 1 year ago

Thanks for the review @bkueng, as always spot on!

Is only the heading a custom message, or does it also support a completely custom protocol? I'm just wondering if a completely separate driver would make sense.

The Unicore sentences are sprinkled in-between the NMEA messages, so it's still primarily NMEA. If it was a separate driver, we would have to duplicate the NMEA part, or extract NMEA parsing functions and re-use them. I would vote to do it the way it is now.

The object is actually on the heap.

You are right, I'll revert that.