Commit Graph

33497 Commits

Author SHA1 Message Date
Andrew Tridgell
eaa391d5bc AP_NavEKF3: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 09:51:13 +10:00
Andrew Tridgell
04602180ef AP_NavEKF2: force first EKF lane when disarmed
this ensures we consistently fly with EKF lane1 if it is healthy at
the point we arm. Otherwise the choice of lane will be a lottery.

This is important as many systems have quite different filtering and
vibration characteristics on their different IMUs. We by default
enable fast sampling only on the first IMU for example, which means
the 2nd and 3rd IMUs are more vulnerable to high freq causing
aliasing.
2019-07-04 09:51:13 +10:00
Andrew Tridgell
9dd60035a2 AP_NavEKF2: default EK2_MAG_EF_LIM to 50
this was supposed to be part of the original PR (agreed with Paul to
enable by default)
2019-06-11 13:25:08 +09:00
Andrew Tridgell
1930103002 AP_NavEKF2: constrain field by table after fusion
this should make for faster convergence
2019-06-11 13:25:08 +09:00
Andrew Tridgell
5ac757ad3a AP_NavEKF2: added EK2_MAG_EF_LIM parameter
this sets a limit on the difference between the earth field from the
WMM tables and the learned earth field inside the EKF. Setting it to
zero disables the feature. A positive value sets the limit in mGauss.
2019-06-11 13:25:08 +09:00
Andrew Tridgell
b752b62fbf AP_Compass: use new get_earth_field_ga() API 2019-06-11 13:25:08 +09:00
Andrew Tridgell
2284af577b AP_Declination: added get_earth_field_ga() interface
this gives a more convenient API for getting the earth field as a
vector
2019-06-11 13:25:08 +09:00
Andrew Tridgell
2136664429 Copter: guarantee logging of RCIN on switch changes 2019-05-29 17:33:24 +09:00
Andrew Tridgell
5396d3aa7b Copter: enable magic lockup command
for watchdog testing
2019-05-28 17:47:19 +09:00
Andrew Tridgell
92741c4e80 Copter: prevent reset on compassmot due to watchdog 2019-05-28 17:47:19 +09:00
Andrew Tridgell
59669209fe HAL_ChibiOS: end scheduler boost on expected delay
we want timer thread to be higher priority than main thread while in a
long operation
2019-05-28 17:47:19 +09:00
Andrew Tridgell
9f26ae5e8c HAL_ChibiOS: fixed LEDs on new CUAVv5 revision
# Conflicts:
#	libraries/AP_HAL_ChibiOS/hwdef/CUAVv5/hwdef.dat
2019-05-28 17:47:19 +09:00
Andrew Tridgell
f167b65b1f HAL_ChibiOS: fixed LEDs on CUAVv5Nano
need to be opendrain
2019-05-28 17:47:19 +09:00
Andrew Tridgell
004ce407f4 AP_Notify: don't use pinMode for pixracer LEDs
this is needed for LEDs that are driven by 5V, which means they need
to use OPENDRAIN.
2019-05-28 17:47:19 +09:00
Jaaaky
ea4d34b75f AP_InertialSensor: fix accelcalsimple watchdog 2019-05-28 17:47:19 +09:00
Andrew Tridgell
06d796a2c8 HAL_PX4: added empty flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
c1000cfe2a HAL_ChibiOS: fixed merge errors with hal.flash usage 2019-05-28 17:47:19 +09:00
Andrew Tridgell
0e3183b3cf HAL_ChibiOS: use hal.flash API
# Conflicts:
#	libraries/AP_HAL_ChibiOS/Storage.cpp
#	libraries/AP_HAL_ChibiOS/Util.cpp
2019-05-28 17:47:19 +09:00
Andrew Tridgell
51223409be HAL_ChibiOS: fixed iomcu build with flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
25aaefa0e6 HAL_SITL: added empty flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
33eecbb696 HAL_Linux: added empty flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
c9eb9d8076 HAL_Empty: added empty flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
e4aae50e44 HAL_ChibiOS: implement flash driver 2019-05-28 17:47:19 +09:00
Andrew Tridgell
608fd54f62 AP_HAL: added hal.flash driver
needed for semaphore
2019-05-28 17:47:19 +09:00
Andrew Tridgell
2fbe6edf47 AP_HAL: added save/restore of attitude in backup registers 2019-05-28 17:47:19 +09:00
Andrew Tridgell
952ef7c361 HAL_ChibiOS: added save/restore of attitude in backup registers 2019-05-28 17:47:19 +09:00
Andrew Tridgell
46bb88173e AP_AHRS: added save/restore of attitude in backup registers 2019-05-28 17:47:19 +09:00
Andrew Tridgell
3bd1a08c5e HAL_ChibiOS: fixed build with older gcc 2019-05-28 17:47:19 +09:00
Andrew Tridgell
4fc4573f81 AP_AHRS: save/restore home to backup registers
restore on watchdog reset
2019-05-28 17:47:19 +09:00
Andrew Tridgell
db35064c95 HAL_ChibiOS: save/restore home position in backup registers 2019-05-28 17:47:19 +09:00
Andrew Tridgell
a42293b986 AP_HAL: added save/restore of home to backup registers 2019-05-28 17:47:19 +09:00
Andrew Tridgell
12dfccf65a AP_InertialSensor: prevent watchdog in accelcal 2019-05-28 17:47:19 +09:00
Andrew Tridgell
020ce245b9 HAL_ChibiOS: allow for delay in bootloader flash 2019-05-28 17:47:19 +09:00
Andrew Tridgell
3222084f2d HAL_ChibiOS: fixed watchdog timeout setting 2019-05-28 17:47:19 +09:00
Andrew Tridgell
756a629b24 GCS_MAVLink: added method to lockup autopilot
used for watchdog testing

# Conflicts:
#	libraries/GCS_MAVLink/GCS_Common.cpp
2019-05-28 17:47:19 +09:00
Andrew Tridgell
6a052a5042 Plane: read RC inputs in plane failsafe code
# Conflicts:
#	ArduPlane/failsafe.cpp
2019-05-28 17:47:19 +09:00
Andrew Tridgell
27aba29109 AP_Logger: prevent log erase from triggering watchdog
# Conflicts:
#	libraries/DataFlash/DataFlash_File.cpp
2019-05-28 17:47:19 +09:00
Andrew Tridgell
a378f2b8fa AP_Logger: force logging on an armed watchdog reset
and don't clear sdcard space
2019-05-28 17:47:19 +09:00
Andrew Tridgell
f217f504e5 HAL_ChibiOS: implement was_watchdog_armed() 2019-05-28 17:47:19 +09:00
Andrew Tridgell
44e3b20038 AP_HAL: added was_watchdog_armed()
allow decisions to be based on whether this is a watchdog reset and we
were armed
2019-05-28 17:47:19 +09:00
Andrew Tridgell
682362945c AP_BoardConfig: auto-restore safety state on watchdog reset
# Conflicts:
#	libraries/AP_BoardConfig/board_drivers.cpp
2019-05-28 17:47:19 +09:00
Andrew Tridgell
4edd270bd9 HAL_ChibiOS: added ability to restore safety state on watchdog reset
# Conflicts:
#	libraries/AP_HAL_ChibiOS/hwdef/common/stm32_util.c
2019-05-28 17:47:19 +09:00
Andrew Tridgell
92f12deb51 AP_HAL: added was_watchdog_safety_off()
used to restore safety state on watchdog reset
2019-05-28 17:47:19 +09:00
Andrew Tridgell
6c7fd8e9ed HAL_ChibiOS: change to 2s timeout on watchdog
a bit more of a safety net against false positives for stable release
2019-05-28 17:47:19 +09:00
Andrew Tridgell
6361482ba6 HAL_ChibiOS: fixed watchdog on H7 2019-05-28 17:47:19 +09:00
Andrew Tridgell
0b33a14369 AP_Bootloader: use fast boot after watchdog reset 2019-05-28 17:47:19 +09:00
Andrew Tridgell
3481eda759 Plane: removed an unnecessary delay on init 2019-05-28 17:47:19 +09:00
Andrew Tridgell
f4d8026d6d AP_Compass: flag compass cal as long expected delay 2019-05-28 17:47:19 +09:00
Andrew Tridgell
de2ae7ad24 HAL_ChibiOS: implement scheduler->expect_delay_ms()
# Conflicts:
#	libraries/AP_HAL_ChibiOS/HAL_ChibiOS_Class.cpp
#	libraries/AP_HAL_ChibiOS/Scheduler.h
2019-05-28 17:47:19 +09:00
Andrew Tridgell
2590457c75 AP_Logger: handle long delays in opening log files 2019-05-28 17:47:19 +09:00