Commit Graph

25476 Commits

Author SHA1 Message Date
Paul Riseborough
e3eea0a54a AP_NavEKF3: Use specialised function for in-flight plane yaw alignment 2021-03-05 12:10:01 +11:00
Paul Riseborough
4675aea0bf AP_NavEKF3: Update parameter description 2021-03-05 12:10:01 +11:00
Paul Riseborough
246b80dc06 AP_NavEKF3: Don't return a 0,0 lat,lng unless absolutely necessary 2021-03-05 12:10:01 +11:00
Paul Riseborough
aa49e92edc AP_AHRS: Remove unused AP_AHRS_NavEKF::yaw_alignment_complete API 2021-03-05 12:10:01 +11:00
Paul Riseborough
1a3258a039 AP_AHRS: Fall back to DCM airspeed estimate if EKF velocity not available 2021-03-05 12:10:01 +11:00
Paul Riseborough
a50be71b41 AP_NavEKF3: Fix inconsistency in reporting raw GPS position validity 2021-03-05 12:10:01 +11:00
Paul Riseborough
ec401083bf AP_AHRS: Remove unused variable 2021-03-05 12:10:01 +11:00
Paul Riseborough
af2bf6097b AP_AHRS: Add accessor function for EKF3 yaw alignment status 2021-03-05 12:10:01 +11:00
Paul Riseborough
6a603019d5 AP_NavEKF3: Add accessor function for yaw alignment status 2021-03-05 12:10:01 +11:00
Paul Riseborough
3634a942a1 AP_NavEKF3: Fix bug causing unwanted use of default airspeed 2021-03-05 12:10:01 +11:00
Paul Riseborough
a0faa55ef5 AP_AHRS: Fix rebase build error 2021-03-05 12:10:01 +11:00
Paul Riseborough
912db3512e AP_NavEKF3: Fix EKF selection bug 2021-03-05 12:10:01 +11:00
Paul Riseborough
85c0040fa3 AP_NavEKF3: Improve inFlight detection for fixed wing
Better handle case where no airspeed sensor is being used with a hand launch.
2021-03-05 12:10:01 +11:00
Andrew Tridgell
6d6ec44d59 AP_AHRS: fixed build on boards without EKF2 2021-03-05 12:10:01 +11:00
Paul Riseborough
295c1e1308 AP_NavEKF3: Reset covariances when falling back to non aiding mode 2021-03-05 12:10:01 +11:00
Paul Riseborough
adae7365e1 AP_NavEKF3: Fix LLH reporting bug 2021-03-05 12:10:01 +11:00
Paul Riseborough
ddadc45854 AP_NavEKF3: Reset states when falling back into non aiding mode. 2021-03-05 12:10:01 +11:00
Paul Riseborough
b92eca7b66 AP_NavEKF3: Select startup aiding mode after landing without yaw sensor 2021-03-05 12:10:01 +11:00
Paul Riseborough
afb31bc4f5 AP_NavEKF: Add underflow protection to yaw GSF weight normalisation
This improves protection against a condition where if all yaw hypothesis filers have very large innovations, the weights of Gaussian densities can underflow leading to failure of the weights to converge.
2021-03-05 12:10:01 +11:00
Paul Riseborough
d1d790019c AP_AHRS: Improve use of estimated airspeed
Enable default airspeed variance to be specified externally to the EKF
Enable use of EKF airspeed estimates
2021-03-05 12:10:01 +11:00
Paul Riseborough
9a5a264aa0 AP_NavEKF3: Improve wind estimation without airspeed sensing
Enable default airspeed variance to be specified externally
Improve control of sideslip fusion
Don't modify non wind states unnecessarily when using synthesised air data measurements
2021-03-05 12:10:01 +11:00
Paul Riseborough
ac00776184 AP_NavEKF2: DAL interface compatibility change 2021-03-05 12:10:01 +11:00
Paul Riseborough
296fb567ca AP_DAL: Enable default airspeed variance to be specified externally 2021-03-05 12:10:01 +11:00
murata
9228925bea AP_Motors: Battery voltage compensation maximum voltage 2021-03-05 08:48:20 +09:00
Tatsuya Yamaguchi
ecf928d68b AP_Proximity: change PRX_IGN_WIDx range from 45 to 127 2021-03-04 17:40:07 +09:00
Josh Henderson
267d19b0de SITL: SIM_Vicon fix observation interval limit 2021-03-04 16:12:54 +09:00
Josh Henderson
dceb76c9f1 SITL: SIM_VICON output MAVLink vision_position_delta 2021-03-04 16:12:54 +09:00
Peter Barker
e3de88d1d4 GCS_MAVLink: handle MAV_CMD_DO_SET_MISSION_CURRENT 2021-03-04 11:59:33 +11:00
Randy Mackay
f0ffaa5624 AR_AttitudeControl: reset speed filter and I term when stopped 2021-03-04 09:07:32 +09:00
James O'Shannessy
f6231db618 AC_Fence: Add breach calculation variant to use LLA
Adds a parameter to make selection between vector pos_cm from origin and lat/lng.
2021-03-04 10:31:58 +11:00
murata
e041b647d7 AP_Mount: Change misnomer (NFC) 2021-03-03 20:49:55 +11:00
murata
6e6e807223 AP_NavEKF: Change misnomer (NFC) 2021-03-03 20:49:55 +11:00
murata
ae565aef1a AP_NavEKF3: Change misnomer (NFC) 2021-03-03 20:49:55 +11:00
murata
af639f7812 AP_NavEKF2: Change misnomer (NFC) 2021-03-03 20:49:55 +11:00
Hugo Trippaers
0dbe2e072c AP_Mount: Set relative pan to true for servo mounts 2021-03-03 18:55:38 +11:00
Hugo Trippaers
44902ef535 AP_Mount: Add parameter to control relative pan option for servo mounts
* Change from a dedicated parameter to a reusable options field
2021-03-03 18:55:38 +11:00
Hugo Trippaers
bcee4b7b82 AP_Mount: Add parameter to control relative pan option for servo mounts 2021-03-03 18:55:38 +11:00
Pierre Kancir
2953aa3748 AP_NMEA: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
77367c1376 AP_AHRS: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
8b1d35bc76 AP_Module: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
67540dc5bb AP_InertialSensor: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
ce34ce6def AP_Baro: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
aaf7504ac8 AP_Module: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
c8a7ab1a75 AP_InertialSensor: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
f2570d49a1 AP_Scheduler: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
1082a799c2 AP_Compass: fix example 2021-03-03 18:07:38 +11:00
Pierre Kancir
95d0c67a99 AP_Baro: fix example 2021-03-03 18:07:38 +11:00
Samuel Tabor
fb8ec292cd AP_TECS: Clarify TECS_THR_DAMP and TECS_LAND_TDAMP descriptions. 2021-03-03 18:05:22 +11:00
Andy Piper
d6575fb6ad AP_HAL_ChibiOS: bdshot configs for CubeYellow and mRoControlZeroH7 2021-03-03 18:02:26 +11:00
Michael du Breuil
f227d67d58 AP_GPS: Remove unused enum 2021-03-03 10:00:15 +09:00
Randy Mackay
79c9b4b523 AC_WPNav: increase default speed to 10m/s and accel to 2.5m/s/s 2021-03-03 08:03:39 +09:00
murata
3824277d11 AC_Fence: Add Smart RTL or LAND to the fence action 2021-03-03 07:59:03 +09:00
Peter Barker
a97786c01d RC_Channel: use RC channel options 203 and 204 for throttle and yaw
This gives us a 200 + n mapping for the traditional AETR mapping.

Unfortunately, it will break walking robots until they update their
parameters
2021-03-03 08:42:00 +11:00
Peter Barker
7480a2a00b GCS_MAVLink: correct output of AHRS2 mavlink message
The || here was causing short-circuiting
2021-03-02 20:48:36 +11:00
Peter Barker
03bb3237ef SITL: set default RPM_TYPE to 10 for FlightAxis 2021-03-02 15:41:44 +11:00
Peter Barker
4d2cf8c95b AP_Frsky_SPort: correct handling of RPM sensor data
Nails support down to just two RPM sensors for the time being.

Simplifies things (there was an issue here when I corrected RPM-in-SITL)
2021-03-02 15:41:44 +11:00
Peter Barker
370db00096 AP_RPM: add explicit RPM_TYPE_SITL
Old behaviour is that anything that wasn't claimed (or failed to
allocate) would become a SITL RPM sensor.  This meant we always had at
least one RPM sensor which was allocated but never provided valid data.

New behaviour is that if you want a SITL RPM sensor you have to set type
to 10.
2021-03-02 15:41:44 +11:00
Peter Barker
c059338386 AP_Frsky_Telem: use location from AHRS not GPS
The AHRS may be able to supply information even in the absense of an
actual GPS unit.
2021-03-02 15:41:44 +11:00
Andrew Tridgell
4fbdb59398 HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper
6cb263056d AP_HAL_ChibiOS: build fix for iomcu 2021-03-02 11:58:38 +11:00
Andy Piper
d0e4d510cf AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot 2021-03-02 11:58:38 +11:00
Iampete1
e64a7b2884 AP_Mount: type enable flag 2021-03-02 10:09:19 +11:00
Iampete1
3306484023 AP_NavEKF2: log position offset as float in meters 2021-03-02 10:03:12 +11:00
Iampete1
8173cd442a AP_NavEKF3 log position offset as float in meters 2021-03-02 10:03:12 +11:00
Paul Riseborough
0971ef55a4 AP_NavEKF3: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Paul Riseborough
948650dbe5 AP_NavEKF2: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Andrew Tridgell
e884e4c5ac AP_Math: added fixedwing_turn_rate() helper 2021-02-27 14:42:20 +11:00
Yash Vadi
b450740fb0 AP_Button: update BTN_FUNCx param descriptions 2021-02-26 12:30:13 +11:00
Andrew Tridgell
35149ae8b2 AP_Scripting: allow scripting startup with no sdcard
as scripts can be in ROMFS we should still create the thread without
the scripts directory
2021-02-25 11:34:39 -07:00
Peter Barker
9932aa99f7 GCS_MAVlink: return identical seq in MISSION_CURRENT if possible after set
// because MISSION_SET_CURRENT is a message not a command,
        // there is not ACK associated with us successfully changing
        // our waypoint.  Some GCSs use the fact we return exactly the
        // same mission sequence number in this packet as an ACK - so
        // if they send a MISSION_SET_CURRENT with seq number of 4
        // then they expect to receive a MISSION_CURRENT message with
        // exactly that sequence number in it, even if ArduPilot never
        // actually holds that as a sequence number (e.g. packet.seq==0).
2021-02-24 19:00:34 +11:00
Andrew Tridgell
14791c335b HAL_ChibiOS: fixed build of f3 boards without PWM out 2021-02-24 18:25:02 +11:00
Andrew Tridgell
9d87645c6e AP_IOMCU: fixed event handling bug in IOMCU code
if a a message send fails to IOMCU then we were discarding all
currently pending non-recurring events. This means that states like
oneshot enable would be lost if the IOMCU reset.

We now re-trigger all events that have not yet been handled
2021-02-24 18:21:08 +11:00
Andrew Tridgell
9126579b77 AP_IOMCU: added memory to debug code 2021-02-24 18:21:08 +11:00
Andrew Tridgell
243cf2199d HAL_ChibiOS: disable shared DMA on IOMCU
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andrew Tridgell
bf999f701f AP_InertialSensor: fixed ICM-20602 y offset bug
this works around a bug in the ICM-20602 that can cause the Y facttory
offset register to change unexpectedly. We don't know what triggers
this.

The fix is to save the factory offset at boot and restore it if it
changes. We log a message describing the change, but don't mark the
IMU unhealthy as this happens too often and we don't want to fallback
to a 2nd less good quality IMU (eg. MPU6000 on MatekH743)
2021-02-24 18:18:37 +11:00
Andrew Tridgell
4cddf37984 AP_InertialSensor: log unexpected register changes
when the register checking code finds an error we will log what
register changed and to what value
2021-02-24 18:18:37 +11:00
Andrew Tridgell
c23f61b79a HAL_ChibiOS: set internal error on panic 2021-02-24 18:18:37 +11:00
Andrew Tridgell
f250c4d684 AP_InertialSensor: added an internal error for panic
ensure users cannot arm while in a panic
2021-02-24 18:18:37 +11:00
Andrew Tridgell
7010eae9e8 AP_HAL: remember details of register check fails
this allows for logging of register resets
2021-02-24 18:18:37 +11:00
Andrew Tridgell
85ef6b7ac6 AP_InertialSensor: added optional logging of register changes 2021-02-24 18:18:37 +11:00
Andrew Tridgell
eec05c1f48 HAL_ChibiOS: fixed a race and null ptr deref in dshot
if a dshot is cancelled then the waiter can be nullptr
2021-02-24 15:39:10 +11:00
murata
dee040b14a AP_Notify: Change division to multiplication 2021-02-24 11:06:54 +09:00
Dr.-Ing. Amilcar do Carmo Lucas
48ab08fb67 AP_ESC_Telem: Fix copy & paste typo 2021-02-24 12:49:05 +11:00
Andy Piper
b102391163 AP_HAL_ChibiOS: don't send rcout events without rcout thread 2021-02-24 08:55:12 +11:00
Andrew Tridgell
f7098c1635 AP_ROMFS: added crc check in ROMFS decompression 2021-02-23 20:20:07 +11:00
Andrew Tridgell
1c74f14162 AP_ROMFS: fixed range check in tinflate
this could cause valid compressed data to fail decompression
2021-02-23 20:20:07 +11:00
Sebastian Quilter
b4119aa07b AP_OSD: remove font bins from gitignore 2021-02-23 15:22:22 +11:00
Sebastian Quilter
bea8bf3afb AP_OSD: Add draw_vtx_power() 2021-02-23 15:22:22 +11:00
Sebastian Quilter
e44eb47143 AP_OSD: Update fonts to include mW char 2021-02-23 15:22:22 +11:00
Peter Barker
a3dcf5a6ff AP_NavEKF: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
65b780fad5 AP_NavEKF3: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
d668243d1e AP_NavEKF2: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
a17a8faf42 AP_Logger: move GSF logging from EKF files into GSF files 2021-02-23 12:36:33 +11:00
Peter Barker
cfe9dc32d1 GCS_MAVLink: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Peter Barker
9a66a1564c AP_Proximity: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Andy Piper
fcd35ba0f8 AP_Vehicle: move AP_Vehicle to AP_Vehicle 2021-02-23 11:43:32 +11:00
Andy Piper
8df8898464 RC_Channel: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
7039d67474 AP_VideoTX: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
74318dd0dd AP_Vehicle: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00
Andy Piper
dd310fd12f AP_RCProtocol: move AP_VideoTX to AP_VideoTX 2021-02-23 11:43:32 +11:00