Repository navigation
Conversation
Previous review (2026-11-09)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head The new GSF and GPS-yaw attitude sources look right in themselves, but samples inside yaw gaps, or outside the source's time range, still reach the compass fit and can produce wrong offsets. Blocking
Should fix
The duplicate moving-baseline GPS yaw source concern was dropped: the instances have separate timestamps and the extra option is harmless. |
GSF and GPS yaw sources can have gaps and only cover part of the log. Compass samples in a gap or outside the source's time are now given zero weight in the fit, error and orientation check, rather than using an attitude interpolated across the gap. Other attitude sources have no gaps and are unchanged.
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head The new commit fixes the fit itself; only a display issue and a comment wording nit are left. Since the last review at 9c7066d, compass samples in yaw gaps or outside the attitude source's time are left out of the fit, and a time range with no valid samples is refused. That fixes both earlier findings. Low
Minor (1)
|
"Option to use GSF and GPS yaw as truth" from #81.
New attitude sources: EKF3 roll and pitch with yaw from the GSF yaw estimator (
XKY0.YC), or from any GPS instance that logs yaw (GPS.Yaw, which is logged as 0 when there is none). Neither uses the compass.YCSis under the EKF's own reset threshold,GSF_YAW_ACCURACY_THRESHOLD_DEG(15 deg).YCSis logged assqrt(degrees(variance)), so the threshold is converted to match (about 1.98).Tested on a SITL flight with an NMEA GPS emitting HDT (
GPS1_TYPE 5,SIM_GPS1_TYPE 5,SIM_GPS1_HDG 1), flying a square and full yaw turns. Mean yaw difference fromATT: GSF 5.6 deg, GPS 2.2 deg. Offsets with EKF / GSF / GPS yaw: (3.0, 16.9, -17.7) / (4.2, 14.9, -17.6) / (3.1, 14.3, -17.5).