RGPK carries the moving baseline yaw antenna offset, which Replay needs only to
reproduce the EKF3 attitude correction of that yaw. Add
AP_DAL_RGPK_LOGGING_ENABLED and gate the message ID, the structure, the
per-instance state and the write on it.
This also removes the runtime flag start_frame() took to decide whether to fetch
the offset. The flag kept AP_GPS::get_mb_yaw_offset() referenced, so the
accessor and the RGPK write were linked into every build whether or not any
consumer applied the correction.
This allows the EKF to correct moving baseline GPS yaw for vehicle
attitude using only DAL-visible inputs. The offset is parameter-derived
so the message is only written when changed. Replay of older logs
containing no RGPK messages leaves the seeded zero offset in place,
which applies no correction and so reproduces the behaviour of the
firmware that produced those logs.
AP_DAL: add RGPK message carrying the moving baseline yaw antenna offset
Review fix:
- IamPete1: reword the OX/OY/OZ field descriptions, dropping the redundant
first "yaw" ("moving baseline antenna offset used to calculate GPS yaw").
Kept the field names OX/OY/OZ for consistency with the existing RGPI/RVOH
replay offset fields (andyp1per's OffX/OffY/OffZ can be a follow-up that
renames all of them together).
various changes to avoid use of the Location .alt field, which should be private.
Introduces several new helper functions on Location to help with this
This provides a wrapper around sensor and system calls to allow for
logging for replay in EKF2 and EKF3
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>