This repository was archived by the owner on Apr 13, 2021. It is now read-only.

Description
The gnss_signal_t is often initialised to {0, 0, 0}
For example in the tracking channel state.
All PRN values for all constellations start at some number >0. E.g. 1 for GPS. Thus PRN = 0 is invalid.
When this invalid value is passed to sid_to_sbp the SBP wire values become {0, 0, 65535}. This is because for CONSTELLATION_GPS (which is 0) we subtract 1 from the PRN for compatibility with old Piksi's and consoles.
We discovered a bug in the SBP log analysis tool where this 65535 value caused a crash.
Improvements needed:
- define in the SBP documentation that
{0, 0, 0} is invalid
- possibly add asserts that
{0, 0, 0} or {0, 0, 65535} is not sent in SBP wire
/cc @swift-nav/firmware @swift-nav/hitl @jacobmcnamee