Andrew Tridgell
8d5d699998
AP_InertialSensor: special check for CubeBlack to force INS_USE3=1
...
this will cope with users loading old parameter files
2019-08-06 10:42:36 +09:00
Andrew Tridgell
10ed84f17c
AP_Baro: check for all 1 ADC read on MS5611
2019-08-06 10:42:36 +09:00
Andrew Tridgell
49f7e22c72
AP_Baro: consider a baro unhealthy when outside of -200 to 200 C
...
this helps detects unhealthy baros on SPI where we can't detect comms
failure
2019-08-06 10:42:36 +09:00
Andrew Tridgell
ecd9c88003
AP_InertialSensor: default INS_USE3 to 1
2019-08-06 10:42:36 +09:00
Andrew Tridgell
413f60ebb8
HAL_ChibiOS: fixed revo-mini build
2019-07-22 16:59:56 +09:00
Andrew Tridgell
1189123068
HAL_ChibiOS: fixed typos in hwdef.dat files
2019-07-22 16:59:52 +09:00
Andrew Tridgell
06d92ec8f2
AP_IneertialSensor: fixed startup race in SITL
2019-07-10 17:00:40 +10:00
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
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
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
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
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