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

Handle invalid SIDs #596

@ljbade

Description

@ljbade

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions