Andrew Tridgell
1fd6c0c00c
AP_Airspeed: enable MS4525 on 4th I2C bus (for Pixhawk4)
2019-07-26 19:02:47 +10:00
Andrew Tridgell
243d8fcb95
AP_RangeFinder: added a 1.5 delay to probe of LW20 I2C
...
the LW20 takes a long time to boot and be ready to probe
2019-07-19 17:02:50 +10:00
Andrew Tridgell
e52d447c08
SITL: fixed pitch constraint on fixed wing takeoff
...
fixes issue with jet takeoff
2019-07-10 17:56:03 +10:00
Andrew Tridgell
6ff94c1022
SITL: simple implementation of a fast jet
...
just increase the weight and the rest can be done with params
2019-07-10 17:55:56 +10:00
Andrew Tridgell
5e420e2adf
AP_IneertialSensor: fixed startup race in SITL
2019-07-10 11:14:59 +10:00
Andrew Tridgell
cd178a6c4f
AP_Compass: backport master AK09916 driver
...
this allows mRoControlZeroF7 to work in copter stable
2019-07-09 16:23:45 +10:00
Phillip Kocmoud
3011bc1930
AP_Baro.cpp: support DPS280 on SPI
2019-07-09 16:23:45 +10:00
Andrew Tridgell
aee7740ae9
AP_InertialSensor: fixes for backport of BMI088 driver
2019-07-09 16:23:45 +10:00
Andrew Tridgell
9a3ce35d7b
AP_HAL: added Invensensev2 defines
2019-07-09 16:23:45 +10:00
Andrew Tridgell
9773f841b8
AP_InertialSensor: add drivers for register bank based Invensense Sensors
2019-07-09 16:23:45 +10:00
Andrew Tridgell
99bbcddc26
AP_InertialSensor: added driver for BMI088
...
setup for 1600 Hz accel sample, 2kHz gyro sample, 24g accel range
2019-07-09 16:23:45 +10:00
Phillip Kocmoud
d484e9300a
AP_InertialSensor: probe IMUs for mRoControlZeroF7
2019-07-09 16:23:45 +10:00
Phillip Kocmoud
90a7d1dd6a
AP_Baro: support DPS280 on SPI
2019-07-09 16:23:45 +10:00
Andrew Tridgell
f825487b57
AP_HAL: added DPS280 on SPI / added board type for mRoControlZeroF7
2019-07-09 16:23:45 +10:00
Phillip Kocmoud
37429901ab
HAL_ChibiOS: added hwdef for mRoControlZeroF7
2019-07-09 16:23:45 +10:00
Andrew Tridgell
b18d7cfc3d
HAL_ChibiOS: added missing pins for F777
2019-07-09 16:23:45 +10:00
Andrew Tridgell
3f765d8bbe
APM_Control: added decay_I() function
...
used by VTOL planes to decay integrator on fixed wing components when
at very low airspeed
2019-07-09 16:23:44 +10:00
Andrew Tridgell
f0a02bb6ba
AP_NavEKF3: origin handling fixes from Francisco
2019-07-09 16:23:44 +10:00
Andrew Tridgell
450224b420
AP_NavEKF2: origin handling fixes from Francisco
2019-07-09 16:23:44 +10:00
Robin Hilliard
49d9f57c85
AP_HAL_SITL: Fix build on OSX
...
include pthread.h missing from Scheduler.h, similar to PR 11281.
2019-07-09 15:23:15 +10:00
Andrew Tridgell
3293ae4c65
HAL_ChibiOS: switch to new IO firmware for fmuv5
2019-07-08 10:37:22 +10:00
Andrew Tridgell
715e167557
RC_Channel: added get_type() method
2019-07-08 10:37:19 +10:00
Andrew Tridgell
8d076ded1e
AP_IOMCU: fixup
2019-07-08 10:37:16 +10:00
Andrew Tridgell
3ce762ab7c
HAL_ChibiOS: support DSM bind on IOMCU
2019-07-08 10:37:13 +10:00
Andrew Tridgell
5056fa68c7
AP_IOMCU: sync with master IOMCU firmware
2019-07-08 10:37:04 +10:00
Andrew Tridgell
e2155ad02d
AP_NavEKF3: don't allow height datum reset when not on ground
2019-07-06 15:50:34 +10:00
Andrew Tridgell
6c54ba3e7a
AP_NavEKF2: don't allow height datum reset when not on ground
2019-07-06 15:50:34 +10:00
Andrew Tridgell
f44e5b4afb
AP_NavEKF3: set terrainState to zero on height datum reset
2019-07-06 15:50:34 +10:00
Andrew Tridgell
befefc152a
AP_NavEKF2: set terrainState to zero on height datum reset
2019-07-06 15:50:34 +10:00
Andrew Tridgell
6efccab94c
AP_NavEKF3: continuously update gpsGoodToAlign
...
use it to determine how to handle a height datum reset
2019-07-06 15:50:34 +10:00
Andrew Tridgell
358aaab472
AP_NavEKF2: continuously update gpsGoodToAlign
...
use it to determine how to handle a height datum reset
2019-07-06 15:50:34 +10:00
Andrew Tridgell
64ba098c57
AP_NavEKF3: ensure that both AMSL and relative alt are correct after a reset
...
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-06 15:50:34 +10:00
Andrew Tridgell
2fc28e2eae
AP_NavEKF2: ensure that both AMSL and relative alt are correct after a reset
...
this forces the EKF origin to the GPS alt on a height datum reset if
we have GPS lock. If we don't do this then the reported AMSL alt will
drift over time away from the GPS alt when we reset while on the
ground
2019-07-06 15:50:34 +10:00
Andrew Tridgell
f6004ddfe3
AP_RCProtocol: fixed a overflow in SRXL decoder
...
thanks to coverity 343308 and Peter for noticing
2019-07-06 15:50:34 +10:00
Andrew Tridgell
c452486f0a
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-06 15:50:34 +10:00
Andrew Tridgell
760bbf9921
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-06 15:50:34 +10:00
Andrew Tridgell
1de946b29e
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-07-06 15:50:34 +10:00
Andrew Tridgell
994a4b2082
AP_NavEKF2: constrain field by table after fusion
...
this should make for faster convergence
2019-07-06 15:50:34 +10:00
Andrew Tridgell
6f5d0fa3f0
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-07-06 15:50:34 +10:00
Andrew Tridgell
74805870b8
AP_Compass: use new get_earth_field_ga() API
2019-07-06 15:50:34 +10:00
Andrew Tridgell
7814a3f2e3
AP_Declination: added get_earth_field_ga() interface
...
this gives a more convenient API for getting the earth field as a
vector
2019-07-06 15:50:34 +10:00
Andrew Tridgell
659458f208
AP_NavEKF3: don't use disabled gyros in opticalflow takeoff detection
2019-07-06 15:50:34 +10:00
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