Commit Graph

33481 Commits

Author SHA1 Message Date
Andrew Tridgell
2dc0c0b860 AP_Compass: backport master AK09916 driver
this allows mRoControlZeroF7 to work in copter stable
2019-07-10 17:00:40 +10:00
Phillip Kocmoud
a361c9a80a AP_Baro.cpp: support DPS280 on SPI 2019-07-10 17:00:40 +10:00
Andrew Tridgell
3f0e85210c AP_InertialSensor: fixes for backport of BMI088 driver 2019-07-10 17:00:40 +10:00
Andrew Tridgell
d640bb15e5 AP_HAL: added Invensensev2 defines 2019-07-10 17:00:40 +10:00
Andrew Tridgell
18956afb3c AP_InertialSensor: add drivers for register bank based Invensense Sensors 2019-07-10 17:00:40 +10:00
Andrew Tridgell
fb20d032eb AP_InertialSensor: added driver for BMI088
setup for 1600 Hz accel sample, 2kHz gyro sample, 24g accel range
2019-07-10 17:00:40 +10:00
Phillip Kocmoud
a90089652c AP_InertialSensor: probe IMUs for mRoControlZeroF7 2019-07-10 17:00:40 +10:00
Phillip Kocmoud
da8ecbe389 AP_Baro: support DPS280 on SPI 2019-07-10 17:00:40 +10:00
Andrew Tridgell
14ea46eaba AP_HAL: added DPS280 on SPI / added board type for mRoControlZeroF7 2019-07-10 17:00:40 +10:00
Phillip Kocmoud
46fca0d94c HAL_ChibiOS: added hwdef for mRoControlZeroF7 2019-07-10 17:00:40 +10:00
Andrew Tridgell
0cdd41cb35 HAL_ChibiOS: added missing pins for F777 2019-07-10 17:00:40 +10:00
Andrew Tridgell
c1d2d1632b Tools: added mRoControlZeroF7 bootloader 2019-07-10 17:00:40 +10:00
Randy Mackay
4cd315aadc Copter: version to 3.6.10-rc1 2019-07-08 10:56:44 +09:00
Randy Mackay
0ea296c6b7 Copter: 3.6.10-rc2 release notes 2019-07-08 10:54:29 +09:00
Andrew Tridgell
cf87e7b911 Tools: removed unused io firmware 2019-07-08 10:18:09 +09:00
Andrew Tridgell
2123117fe7 HAL_ChibiOS: switch to new IO firmware for fmuv5 2019-07-08 10:18:09 +09:00
Andrew Tridgell
45e994c1fb RC_Channel: added get_type() method 2019-07-08 10:18:09 +09:00
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