Skip to content

GPS startup: refresh configuration and presence after a failed first probe #1603

Description

@timohueser

Resolved by merged PR #1607. Parent acceptance: #1262. Program: #1448.

The GPS driver now retries a failed first probe within the existing 150-second startup window. The first response sends GNSS START and configuration, then publishes startup presence. If the receiver remains absent, the deadline publishes the missing result. Startup presence is not continuous availability monitoring.

The Qwiic-only prototype uses controlled GNSS STOP/START over I2C. Idle parks polling; startup and recording resume send START before configuration. The old indefinite-backup/DDC-wake path is removed. Future real-board GPIO wake support is separate.

Accepted evidence

Physical transition tests passed on 2026-09-13 at 2fd559d2, using the release image after full flash read-back verification:

  • Failed first probe, then Qwiic reconnection: response at 27.85 seconds, START/configuration and advancing NAV-PVT epochs. The owner confirmed no GPS warning; original altimeter/compass warnings remained.
  • Idle/resume: STOP at 150.86 seconds, polling parked, then physical Start at 206.38 seconds with advancing iTOW (3682200036827000).
  • MCU reset with GNSS stopped and receiver power retained: START and fresh advancing epochs (3687200036878000).

Independent review, focused sensor tests/clippy, documentation, resource gates and CI passed. PR #1607 retains the detailed test and flash record. Existing rides were preserved.

Evidence limits and disposition

Close this issue for the implemented and physically verified startup/idle recovery correction. The original checklist mixed this correction with broader GPS acceptance. Carry these untested checks in #1262's hardware acceptance list:

  • Receiver absent for the full startup deadline: bounded completion and truthful warning.
  • Valid position acquisition after initial startup, late connection and reset. The transition run had fix=0, sats=0; advancing receiver epochs do not prove a position fix.

Prototype idle current and tracking power behavior remain unmeasured and are not claimed by this closure. The cause of the earlier no-ACK observation remains unproven. Recording recovery #1591/PR #1592 remains accepted.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions