- ecl in PX4/Firmware (0dc2ccb130e891b387b4e0d6ea4492473339e142): 721f5e61a5
- ecl current upstream: dd58e69549
- Changes: 721f5e61a5...dd58e69549dd58e69 2019-01-30 Paul Riseborough - EKF: Ensure FW yaw alignment method is used on first in-air reset
3accab1 2019-01-28 Paul Riseborough - EKF: protect declination fusion from badly conditioned earth field estimates
7bddbd1 2019-01-28 Paul Riseborough - EKF: Update cleaned up autocode fragment with sign error fix and missing LD
fe378fd 2019-01-22 Paul Riseborough - EKF: Prevent unwanted declination fusion when re-starting 3-axis fusion
bd1647a 2019-01-22 Paul Riseborough - EKF: Rework use of fuseDeclination()
d52f536 2019-01-17 Paul Riseborough - EKF: Save mag field covariance data before reset
82ce7a8 2019-01-17 Paul Riseborough - EKF: Save mag field covariance information on startup
708c79e 2019-01-17 Paul Riseborough - EKF: Ensure mag field state covariance data is always available for re-use
8839e4e 2019-01-17 Paul Riseborough - EKF: Don't discard declination certainty information when resuming 3-axis fusion.
25148e1 2019-01-17 Paul Riseborough - EKF: Prevent rapid changes in declination estimate after a reset
6e7c119 2019-01-16 CarlOlsson - EKF: limit yaw variance increase to 0.01 rad^2 to prevent a badly conditioned covariance matrix
0896f7b 2019-01-16 CarlOlsson - EKF: Also fill in lower part of covariance matrix in increaseQuatYawErrVariance()
4b3140e 2019-01-16 Paul Riseborough - EKF: Fix rebase error
911d4d8 2019-01-16 Paul Riseborough - EKF: Fix sign error in increaseQuatYawErrVariance function
a0b9cb0 2018-12-24 Paul Riseborough - EKF: Use consistent method for recording completion of in-flight yaw alignment
ef5a87c 2018-12-21 Paul Riseborough - EKF: Rework quaternion yaw reset.
fc2a089 2018-12-21 Paul Riseborough - EKF: Add function to un-correlate quaternion states
bce1b96 2018-12-21 Paul Riseborough - EKF: Add function enabling yaw variance to be increased
bf1f3a2 2018-12-21 Paul Riseborough - EKF: Derive equations enabling yaw variance to be increased
81eabc1 2019-01-29 Daniel Agar - Jenkins update all containers to latest tag 2019-01-28
a5e6191 2019-01-29 Daniel Agar - EKF add clarity brackets to avoid potential confusion
* The build is built with SPI4. At run time the signal GPIO_8266_GPIO2 it tested. If it is low the SPI4 is configured. If it is high SPI4 is not configured.
* board_common: Add Notion of Board has bus manifest
instead of the derivative of the vertical position which is
not the same value when using the ekf2 estimation.
Using the position derivative resulted in delayed landing because
the value for some reason often bumped over the theshold before
slowly converging towards zero while the velocity was within expected
accuary in all these cases.
Upstream changes defer the board reset based on the vaule of
CONFIG_BOARD_RESET_ON_ASSERT
0 (or not defined) Do not reset on assert
>= 1 reset if assertion is in an interrupt handler or the idle task
>= 2 on any asertion.
up_assert is called from up_hardfault or an asertion failure.
Part 1 of up_assert will call out to the board_crashdump
Part 2 on return from board_crashdump will then perform
the reset.
board_crashdump needs a chunk of ram to save the complete
context in. It uses &_sdata which is the lowest memory and
it will corrupt that memeory. We can therfore can not allow
return to the OS, as it could depend on that area of RAM.
So all boards need to do a reset at the end of board_crashdump
system_state.fmu_data_received_time can be set from an IRQ handler, thus
we need to ensure every read access to it in mixer_tick is atomic.
So we read it once and copy it into a local variable.