main
dev
chore/365-cut-1.2.1
fix/363-pin-db-path
feat/351-contact-settings-menu
feat/349-window-geometry
feat/355-migration-merge
integration/290-306-335
release/1.1.2-rc.3-allplatforms
fix/309-path-len-decode
chore/298-path-logging
fix/285-ingest-timelog
fix/252-block-outgoing-dm
feat/64-observer-config
feat/batch1-ux
chore/offband-rebrand
v1.2.1
v1.2.0
v1.1.2-rc.3-allplatforms
v1.1.2-rc.3
v1.1.2-rc.2
v1.0.0
observer-g2-rc3
observer-g2-rc4
observer-g2-rc5
observer-g2-rc6
observer-g2-rc7
observer-g2-rc8
observer-g2-rc9
v1.1.0-rc.1
v1.1.0-rc.2
v1.1.0-rc.3
v1.1.2-beta.1
v1.1.2-beta.2
v1.1.2-beta.3
v1.1.2-ble-test
v1.1.2-queuediag
v1.1.2-rc.1
v1.1.2-rc.1-b45-nearbyrep
v1.1.2-rc.1-b46-pathhash
v1.1.2-rc.1-b47-tracewidth
v1.1.2-rc.1-b48-repeatertrace
v1.1.2-rc.1-b49-maptrace
v1.1.2-rc.1-b50-tracefix
v1.1.2-rc.1-b51-originstrip
v1.1.2-rc.1-b52-channelqr
v1.1.2-rc.1-b53-viarepeater
v1.1.2-rc.1-b54-rxfed
v1.1.2-rc.1-b55-topology
v1.1.2-rc.1-b57-routeux
v1.1.2-rc.1-b58-toporeadout
v1.1.2-rc.3-b59-pathlen
${ noResults }
1 Commits (8cacf59781c8785395212df1ca777f06eb75274a)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
7f2548ca95 |
feat(#135): GPS state query via CMD_OFFBAND_GPS (0xC1) + poll flood fix (#140)
Offband 0xC1 GPS query: 1-byte request -> RESP 0xC1 ASCII reply (enabled/detected/active/fix/baud/lat/lon/alt_cm/sats/time), parsed into OffbandGpsStatus (lat/lon /1e6). New GPS-status section in the Location dialog (live-fix vs stored banner + coords/sats/alt/time). Validated against RedCreek's feat/gps-state-query test firmware. #140: the per-minute GPS poll now uses the lightweight 0xC1 query instead of CMD_APP_START (which re-walked channels + re-drained messages = the BLE re-init flood); a live fix updates self-lat/lon. Validated on b42 (APP_START ~1/min -> ~0, 0xC1 polls clean every 60s, channel re-walk gone). Gemini (fix-then-ship): atomic completer-claim in _handleOffbandGps to shrink the stale-reply race; full elimination needs a protocol sequence id, but the poll shares in-flight via the re-entrancy guard and the query button is disabled during a request, so concurrent requests don't occur in practice. The hardcoded snackbars Gemini flagged in _editLocation are pre-existing l10n debt, not introduced here; all new strings are localized. Closes #135 Closes #140 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
3 weeks ago |