Andrew Tridgell
eaeebeba53
AP_IOMCU: fixup
2019-07-08 10:18:09 +09:00
Andrew Tridgell
7382fc6316
HAL_ChibiOS: support DSM bind on IOMCU
2019-07-08 10:18:09 +09:00
Andrew Tridgell
f82c173065
Tools: update IO firmware binary
2019-07-08 10:18:09 +09:00
Andrew Tridgell
604da2d63e
AP_IOMCU: sync with master IOMCU firmware
...
this has been well tested on master, and gives us support for DSM bind
among other things
2019-07-08 10:18:09 +09:00
Andrew Tridgell
62cef6201a
Copter: added auxsw support for killing IMUs
2019-07-08 09:16:22 +09:00
Andrew Tridgell
c75862d0e6
AP_NavEKF3: don't use disabled gyros in opticalflow takeoff detection
2019-07-08 09:16:22 +09:00
Andrew Tridgell
0e4aad27c5
AP_NavEKF2: don't use disabled gyros in opticalflow takeoff detection
2019-07-08 09:16:22 +09:00
Andrew Tridgell
b74ae60058
AP_Mount: don't use disabled IMUs in solo gimbal code
2019-07-08 09:16:22 +09:00
Andrew Tridgell
33d0c5c08f
AP_AHRS: only use enabled IMUs in DCM
...
honor the INS_USE parameters for DCM
2019-07-08 09:16:22 +09:00
Andrew Tridgell
00fa6b3666
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-08 09:16:22 +09:00
Andrew Tridgell
e77471e2b3
AP_InertialSensor: added RC switch for killing IMUs
2019-07-08 09:16:22 +09:00
Andrew Tridgell
04e7baa4cd
HAL_ChibiOS: cope with calling delay_microseconds_boost() multiple times
...
needed for updated IMU wait code
2019-07-08 09:16:22 +09:00
Andrew Tridgell
cfa0ccf672
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-08 09:16:22 +09:00
Andrew Tridgell
dbe09d68c2
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-08 09:16:22 +09:00
Andrew Tridgell
c53aaab0ca
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-08 09:16:22 +09:00
Andrew Tridgell
7d4adf21eb
AP_GPS: fixed u-blox F9 auto configuration
...
# Conflicts:
# libraries/AP_GPS/AP_GPS_UBLOX.cpp
2019-07-06 08:42:37 +10:00
Andrew Tridgell
a53877ac43
AP_GPS_UBLOX: add support for TIMEGPS message. used to get gps week
2019-07-06 08:42:34 +10:00
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