Commit Graph

63626 Commits

Author SHA1 Message Date
Andy Piper a9dc7b440f AP_GPS: support GPSx_GNSS_MODE for F9P
support detecting F9P hardware variant
fix bug in extension buffer management
support NEO-F9P GNSS configuration
allow multiple configuration values to be set in one go
phase F9 configuration to account for GNSS reset
2024-06-10 06:53:23 +10:00
Bill Geyer c77f688032 AP_Motors: fix spacing
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-06-09 13:24:38 -04:00
MattKear 3a311a9d69 AP_Motors: Heli: Fix SWSH logging for reversed collectives 2024-06-09 13:24:38 -04:00
Paul Riseborough 5c76e77c11 autotest: Reduce time threshold used in plane deadreckoning test 2024-06-09 14:25:02 +10:00
Andrew Tridgell 09623f46e8 autotest: enable LOG_REPLAY in deadreckoning test 2024-06-09 14:25:02 +10:00
Paul Riseborough b17e189473 Tools: update AHRS_OPTIONS for dead reckoning test 2024-06-09 14:25:02 +10:00
Paul Riseborough 19f6b2d6d6 Tools: relax req accuracy for plane dead reckoning when not using airspeed 2024-06-09 14:25:02 +10:00
Paul Riseborough 9d2b05840b Tools: Disable DCM fallback for plane dead reckoning tests 2024-06-09 14:25:02 +10:00
Paul Riseborough 61874da020 AP_NavEKF3: Rework method of synthesising airspeed for dead reckoning
The previous method resulted in data incest and fusion of predicted airspeed on every EKF internal time step.
This was not apparent during flight where the vehicle was turning, but during long straight legs did not constrain along track drift.
2024-06-09 14:25:02 +10:00
Paul Riseborough 87a867ee2e Tools: Use GPS jamming option in EKF dead reckoning autotests 2024-06-09 14:25:02 +10:00
Paul Riseborough 720c2da807 AP_NavEKF3: Rework GPS jamming resiliency
Make it user selectable.
Remove potential for a race condition between decisions based on latest data and the EKF fusion processing which operates on a delayed time horizon. This is achieved by preventing data entering the buffer if awaiting checks to pass ensuring that no EKF fusion time horizon processes can use data that hasn't passed checks.
Log the waitingForGpsChecks class variable
2024-06-09 14:25:02 +10:00
Paul Riseborough 996bf7d4df AP_NavEKF3: Log gpsGoodToAlign 2024-06-09 14:25:02 +10:00
Paul Riseborough eb2ff2192d AP_NavEKF3: Don't block no compass planes from running GPS alignment checks 2024-06-09 14:25:02 +10:00
Paul Riseborough 6baeb1cd9d AP_NavEKF3: Fix bug causing in flight yaw align to not complete 2024-06-09 14:25:02 +10:00
Paul Riseborough ffde7f815c AP_NavEKF3: Allow wind to relearn rapidly when GPS is re-enabled 2024-06-09 14:25:02 +10:00
Paul Riseborough 8639543cdd Tools: Allow dead reckoning test longer to learn wind if no aspd sensor 2024-06-09 14:25:02 +10:00
Paul Riseborough 87bf8d9997 AP_NavEKF3: Treat wind as truth when deadreckoning with no airspeed sensor 2024-06-09 14:25:02 +10:00
Paul Riseborough 568972c0f0 AP_NavEKF3: Fix bug preventing use of default or synthetic airspeed 2024-06-09 14:25:02 +10:00
Paul Riseborough 2b027a7265 Tools: re-work copter and plane loss of GPS auto tests
Explicitly test time taken to reset to GPS loss and regain of lock for copter without and plane with dead reckoning assistance.
2024-06-09 14:25:02 +10:00
Paul Riseborough 2c3174b77b AP_NavEKF3: Strengthen protection against GPS jamming
These changes prevent the EKF from consuming GPS data too soon when it is recovering from jamming if the EKF is able to navigate using dead reckoning.
2024-06-09 14:25:02 +10:00
Paul Riseborough 324d5da811 AP_NavEKF3: Use last observed wind states to enable dead reckoning
These changes enable the EKF to use the last observable wind velocity vector estimate to synthesise an airspeed measurement if operating without an airspeed sensor and when all other measurement types that can constrain velocoty drift are lost. This enables the EKF to use dead reckoning to continue after loss of GPS when there is no air speed sensor fitted and without the need to set a default airspeed value.
The logic used to fuse a default airspeed value has also been cleaned up and the call to FuseAirSpeed() from inside SelectBetaDragFusion() has been removed.

AP_NavEKF3: Fix error in default airspeed observation variance

AP_NavEKF3: Enable shadow fusion of airspeed when sensor is disabled
2024-06-09 14:25:02 +10:00
Paul Riseborough e53416e77b AP_NavEKF3: Apply GPS quality checks following loss of 3D fix if velocity error is bounded 2024-06-09 14:25:02 +10:00
MattKear 5784abde1f AP_Motors: Heli dual: Constrain cyclic roll for intermeshing 2024-06-08 23:13:28 -04:00
Peter Barker 3ede599cfd autotest: clarify AutoTuneSwitch test 2024-06-09 09:53:08 +10:00
Peter Barker 2c3594b8ff autotest: revert SIM_SPEEDUP for RTL in follow test 2024-06-09 09:09:31 +10:00
Peter Barker 56a865147d autotest: ModeFollow: correct relative altitude being fed to autopilot 2024-06-09 09:09:00 +10:00
Peter Barker eaf5767bfa autotest: simplify AC_Avoidance_Proximity test
take advantage of new infrastructure
2024-06-09 09:08:29 +10:00
Andrew Tridgell c783f632c1 AP_Scription: added CANF logging to Halo6000 EFI driver
allows for easier debugging
2024-06-09 08:37:44 +10:00
Iampete1 1c5c80d244 AP_Scripting: Docs: remove stray grave 2024-06-08 07:29:53 +10:00
Andrew Tridgell e9d39d80f4 AP_InertialSensor: fixed ICM42670
highres sampling is not working on the ICM42670 on some versions of
the Pixhawk6X. Disable for now.
2024-06-07 19:44:48 +10:00
Iampete1 cb22a6389d AP_Scripting: add virtual class in docs to avoid need nil check warning 2024-06-07 06:30:22 +10:00
muramura dfc04cd53a AP_Notify: Convert the ENUM definition to a class 2024-06-06 15:15:14 -04:00
George Zogopoulos 396865223f autotest: Removed unnecessary parameter whitelist item 2024-06-05 19:03:31 +10:00
George Zogopoulos d2901dc9c9 SITL: Removed trailing underscore 2024-06-05 19:03:31 +10:00
Peter Barker 78fcf7057c GCS_MAVLink: move switch for sending camera messages into AP_Camera
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Peter Barker 5538f6735f AP_Camera: move switch for sending camera messages into AP_Camera
neatens GCS_Common a bit, reduces repetitive code
2024-06-05 10:29:01 +10:00
Willian Galvani be87aa5191 Sub: set default streamrates 2024-06-04 19:24:51 -03:00
Tom Pittenger ad006de914 locations: add Madera and Peg 2024-06-04 09:22:53 -06:00
xue 66138aed0f Tools: reserve IDs for ZeroOne 2024-06-04 23:02:06 +10:00
Peter Barker f345ae792b Rover: remove defaulting of OSD_ENABLED
we do this in AP_OSD_config.h too so include ordering can break things badly
2024-06-04 16:32:26 +10:00
Peter Barker 61a34d0edb ArduPlane: remove defaulting of OSD_ENABLED
we do this in AP_OSD_config.h too so include ordering can break things badly
2024-06-04 16:32:26 +10:00
Peter Barker cb869ef7f0 ArduCopter: remove defaulting of OSD_ENABLED
we do this in AP_OSD_config.h too so include ordering can break things badly
2024-06-04 16:32:26 +10:00
Iampete1 364419be81 AP_Scripting: docs: allow overload of manual bindings to allow documentation of optional arguments 2024-06-04 09:29:49 +10:00
Iampete1 f54ca766df AP_Scripting: tests: luacheck.lua: ignore lua-language-server 2024-06-04 09:29:49 +10:00
Iampete1 93642026aa AP_Scripting: tests: check.json: check files it gitignore but not self 2024-06-04 09:29:49 +10:00
Iampete1 c5cdc46fb7 Tools: scripts: run_lua_language_check.py: allow running on a single file and error is no files are checked 2024-06-04 09:29:49 +10:00
Henry Wurzburg 3b86c0527f AP_BLHeli:expand metadata of 3d and Reverse masks 2024-06-04 09:24:41 +10:00
Henry Wurzburg 887e4713e6 AP_HAL_ChibiOS:remove fetaures to allow boards to build 2024-06-04 09:23:43 +10:00
Andrew Tridgell 90ab6adebc CI: added test for new without NEW_NOTHROW 2024-06-04 09:20:21 +10:00
Andrew Tridgell 93f1bb576b waf: added --enable-new-checking option
this allows CI to check for violations of new, calling without
NEW_NOTHROW
2024-06-04 09:20:21 +10:00