Conversation
New bool setting (default OFF) that enables AssistNow Autonomous during u-blox auto-configuration: UBX-CFG-NAVX5 with the AOP fields on M8, CFG-ANA-USE_ANA over VALSET on M9/M10. The receiver then predicts satellite orbits from its own earlier observations and fixes faster after a cold start without an internet download. PG_GPS_CONFIG 6 -> 7, Settings.md regenerated.
|
Configuration path checked with the CI-built SITL of this branch (fork run https://github.com/Raffi1202/inav/actions/runs/34438768670, What the SITL cannot show is the receiver side: the |
Reuse the CI fixes from iNavFlight#11885 and cover scalar, array and conditional registrations with regression fixtures.
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
PR Summary by QodoAdd u-blox AssistNow Autonomous and harden PG version CI
AI Description
Diagram
High-Level Assessment
Files changed (9)
|
Code Review by Qodo
1.
|
Those files belong to iNavFlight#11885, which replaces check-pg-versions.sh with a Python checker. Carrying a copy here only produces a conflict once either lands, and it is unrelated to this change.
Problem
No issue is linked. INAV's u-blox auto-configuration never touches the receiver's AssistNow Autonomous (AOP) orbit prediction and there is no setting for it, so a user with an M8/M9/M10 module cannot enable the receiver-side feature that gives a faster fix after a cold start without an internet download.
Cause
src/main/io/gps_ublox.c:1154-1174on maintenance-10.x (gpsConfigure): the M8-and-newer block sends the constellation configuration (configureGNSS/configureGNSS10) and ends. The driver has no UBX-CFG-NAVX5 write and no CFG-ANA-USE_ANA key (src/main/io/gps_ublox.h), andgpsConfig_t(src/main/io/gps.h:103) has no field for it.Change
Adds the bool setting
gps_ublox_assistnow_autonomous(default OFF) tosettings.yaml, the fieldubloxAssistNowAutonomoustogpsConfig_t, and bumpsPG_GPS_CONFIG6 -> 7.gps_ublox.hgainsMSG_CFG_NAVX5, a packed 40-byteubx_cfg_navx5_t(version 2) in the payload union, and theCFG-ANA-USE_ANA/CFG-ANA-ORBMAXERRkeys. IngpsConfigure, after the constellation step on M8 and newer, the driver writes the ON/OFF state explicitly: UBX-CFG-NAVX5 (mask1 bit 14,aopCfg,aopOrbMaxErr100) on M8,CFG-ANA-USE_ANAviaubloxSendSetCfgByteson VALSET receivers, then waits for ACK or NAK with the existingGPS_CFG_CMD_TIMEOUT_MS.Test
Cause verified by reading
gps_ublox.c:1154-1174on maintenance-10.x. Fork CI on head f95088f, all green: Build firmware (all targets + SITL) https://github.com/Raffi1202/inav/actions/runs/34622271716, Parameter Group Version Check https://github.com/Raffi1202/inav/actions/runs/34622271454, docs check https://github.com/Raffi1202/inav/actions/runs/34622271460. SITL (inav-9.1.0-ci-20260910-5832f31_SITL-WINfrom https://github.com/Raffi1202/inav/actions/runs/34438768670): setting present as bool, default 0,MSP2_COMMON_SET_SETTING+MSP_EEPROM_WRITEstore 1 and it reads back after reconnect. Not run on hardware: the UBX-CFG-NAVX5 / CFG-ANA-USE_ANA exchange with a real M8 or M10 and the effect on cold-start fix time are unverified. Configurator switch: iNavFlight/inav-configurator#2748.Flash / RAM
Not measured yet. The upstream firmware CI has not been released for this PR, so no size report exists.
Docs
docs/Settings.md, regenerated from the newsettings.yamlentry. No other file underdocs/on maintenance-10.x describes the u-blox auto-configuration sequence.