Commit Graph

17599 Commits

Author SHA1 Message Date
Andrew Tridgell 14265d9580 AP_NavEKF2: don't use disabled gyros in opticalflow takeoff detection 2019-07-06 15:50:34 +10:00
Andrew Tridgell 91889d22cd AP_Mount: don't use disabled IMUs in solo gimbal code 2019-07-06 15:50:34 +10:00
Andrew Tridgell 1f309e8401 AP_AHRS: only use enabled IMUs in DCM
honor the INS_USE parameters for DCM
2019-07-06 15:50:34 +10:00
Andrew Tridgell 7a9203ef29 AP_InertialSensor: zero accumulators on time step
this zeros the delta angle and delta velocity accumulators when a
sensor is unavailable for a period of 0.1s. This prevents garbage
values being passed into the EKF when a sensor dies and then becomes
available again some time later
2019-07-06 15:50:34 +10:00
Andrew Tridgell a5e3cd664b AP_InertialSensor: added RC switch for killing IMUs 2019-07-06 15:50:34 +10:00
Andrew Tridgell d0792f29da HAL_ChibiOS: cope with calling delay_microseconds_boost() multiple times
needed for updated IMU wait code
2019-07-06 10:03:18 +10:00
Andrew Tridgell 0bbe9bfb71 AP_InertialSensor: try much harder to get all IMU samples
this we ensures we get new data for all active IMUs on each loop,
rather than sometimes returning with some IMUs not having data.

This matters as not having a sample on an IMU for a single loop can
cause an EKF IMU failover, which will degrade the learned bias
variances

The issue is usually only seen under high load, such as requesting a
loop rate beyond what the hardware is capable of
2019-07-06 10:03:18 +10:00
Andrew Tridgell 47f9cce612 AP_NavEKF3: added inactive bias learning
this allows for biases on inactive IMUs to be learned so that an IMU
switch within an EKF lane does not cause a jump in the IMU data
2019-07-06 08:34:31 +10:00
Andrew Tridgell 9f4085b0bc AP_NavEKF2: learn gyro biases for inactive gyros
this allows us to learn the gyro biases each lane would need if it had
to switch to another gyro due to a sensor failure. This prevents a
sudden change in gyro bias on IMU failure
2019-07-06 08:33:59 +10:00
Andrew Tridgell a91af12364 AP_GPS: fixed u-blox F9 auto configuration
# Conflicts:
#	libraries/AP_GPS/AP_GPS_UBLOX.cpp
2019-07-06 08:33:15 +10:00
Andrew Tridgell 1cd90e5ae7 AP_GPS_UBLOX: add support for TIMEGPS message. used to get gps week 2019-06-29 10:05:03 +10:00
Andrew Tridgell a03b3051fc HAL_ChibiOS: fixed LEDs on new CUAVv5 revision
# Conflicts:
#	libraries/AP_HAL_ChibiOS/hwdef/CUAVv5/hwdef.dat
2019-05-03 17:32:32 +10:00
Andrew Tridgell c51b433c28 HAL_ChibiOS: fixed LEDs on CUAVv5Nano
need to be opendrain
2019-05-03 17:31:45 +10:00
Andrew Tridgell 376031c5f4 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-03 17:31:41 +10:00
Jaaaky 715f117d4b AP_InertialSensor: fix accelcalsimple watchdog 2019-05-03 10:37:34 +10:00
Andrew Tridgell 2094ffbf28 HAL_ChibiOS: fixed brick2 valid status in POWR flags for fmuv5
and fixed sense of VBUS
2019-04-26 07:13:11 +10:00
Andrew Tridgell 7acbcd88f8 AP_BoardConfig: add targetted check for cube black internal sensors
# Conflicts:
#	libraries/AP_BoardConfig/board_drivers.cpp
2019-04-24 12:31:33 +10:00
Jonathan Challinger e29d03a994 AP_Baro: make crc4 a static member of AP_Baro_MS56xx 2019-04-24 12:31:02 +10:00
Jonathan Challinger 2b6ca186a8 AP_HAL_ChibiOS: add define HAL_CHIBIOS_ARCH_CUBEBLACK to cubeblack hwdef 2019-04-24 12:30:59 +10:00
Michael du Breuil b236e80e41 AP_GPS: Log reciever status to GPS SD card
This improves log analysis of bad GPS health messages when you have a
report of bad GPS health but lost the MAVLink message, or didn't have
access to the autopilot log with the information for some reason.
2019-04-23 11:07:04 +10:00
Andrew Tridgell 1bfa79b744 AP_GPS: Remove external event from GPS data stream
If the event pin floats, this can lead to UART congestion, causing the
EKF to reject the GPS data, and the vehicle will drift around the sky in
a most disturbing manner

# Conflicts:
#	libraries/AP_GPS/AP_GPS_SBF.cpp
2019-04-23 11:06:59 +10:00
Andrew Tridgell 3680d8f1fa HAL_PX4: added empty flash driver 2019-04-22 15:58:01 +10:00
Andrew Tridgell ca37b06af2 AP_InertialSensor: don't set INS_ENABLE_MASK to found IMU mask 2019-04-22 14:47:43 +10:00
Andrew Tridgell a53480f904 AP_AHRS: ensure AHRS never uses an unhealthy gyro 2019-04-22 14:35:11 +10:00
Andrew Tridgell 087d20b22c HAL_ChibiOS: mark SDIO and SDMMC IO as pullup
this is needed for boards such as PixhackV3 which don't have hardware
pullups. Thanks to Hongle for reporting this.
2019-04-22 11:35:36 +10:00
Andrew Tridgell 5d0e785e73 AP_Arming: make arm_checks() virtual 2019-04-22 11:11:45 +10:00
Andrew Tridgell 6d3160b473 HAL_ChibiOS: fixed merge errors with hal.flash usage 2019-04-22 09:43:25 +10:00
Andrew Tridgell 33908f06a5 HAL_ChibiOS: use hal.flash API
# Conflicts:
#	libraries/AP_HAL_ChibiOS/Storage.cpp
#	libraries/AP_HAL_ChibiOS/Util.cpp
2019-04-22 09:16:26 +10:00
Andrew Tridgell c77e4e6ec1 HAL_ChibiOS: fixed iomcu build with flash driver 2019-04-22 09:05:17 +10:00
Andrew Tridgell ac1136d633 HAL_SITL: added empty flash driver 2019-04-22 09:05:01 +10:00
Andrew Tridgell ca3f26f33a HAL_Linux: added empty flash driver 2019-04-22 09:04:58 +10:00
Andrew Tridgell b7286ee03b HAL_Empty: added empty flash driver 2019-04-22 09:04:45 +10:00
Andrew Tridgell 35d711093b HAL_ChibiOS: implement flash driver 2019-04-22 09:03:05 +10:00
Andrew Tridgell 463bb6609e AP_HAL: added hal.flash driver
needed for semaphore
2019-04-22 09:02:49 +10:00
Andrew Tridgell cd3881823b AP_HAL: added save/restore of attitude in backup registers 2019-04-21 13:08:46 +10:00
Andrew Tridgell f8e5ef38e8 HAL_ChibiOS: added save/restore of attitude in backup registers 2019-04-21 13:08:46 +10:00
Andrew Tridgell 49d82efdc5 AP_AHRS: added save/restore of attitude in backup registers 2019-04-21 13:08:29 +10:00
Andrew Tridgell 2a7f0e4c47 HAL_ChibiOS: fixed build with older gcc 2019-04-20 20:29:51 +10:00
Andrew Tridgell 9f0312d744 AP_AHRS: save/restore home to backup registers
restore on watchdog reset
2019-04-20 19:50:25 +10:00
Andrew Tridgell 723a7bb647 HAL_ChibiOS: save/restore home position in backup registers 2019-04-20 19:49:46 +10:00
Andrew Tridgell 186f36a5bd AP_HAL: added save/restore of home to backup registers 2019-04-20 19:49:11 +10:00
Andrew Tridgell 4139450db8 AP_InertialSensor: prevent watchdog in accelcal 2019-04-20 17:35:49 +10:00
Andrew Tridgell 6e80174147 HAL_ChibiOS: allow for delay in bootloader flash 2019-04-20 16:33:27 +10:00
Andrew Tridgell f89aadd2ba HAL_ChibiOS: fixed watchdog timeout setting 2019-04-20 16:31:28 +10:00
Andrew Tridgell 337cc16880 GCS_MAVLink: added method to lockup autopilot
used for watchdog testing
2019-04-20 15:17:55 +10:00
Andrew Tridgell 6252f97df4 AP_Logger: prevent log erase from triggering watchdog
# Conflicts:
#	libraries/DataFlash/DataFlash_File.cpp
2019-04-20 14:16:22 +10:00
Andrew Tridgell b6285547c3 AP_Logger: force logging on an armed watchdog reset
and don't clear sdcard space
2019-04-20 14:16:22 +10:00
Andrew Tridgell f5e170c76b HAL_ChibiOS: implement was_watchdog_armed() 2019-04-20 14:16:22 +10:00
Andrew Tridgell 63e636fd5a AP_HAL: added was_watchdog_armed()
allow decisions to be based on whether this is a watchdog reset and we
were armed
2019-04-20 14:16:22 +10:00
Andrew Tridgell ff3527eef5 AP_BoardConfig: auto-restore safety state on watchdog reset 2019-04-20 14:16:22 +10:00