diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-06-24 20:47:22 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-06-24 20:47:22 +0200 |
commit | 32319722a60db2a43a2ac80a579eee09cb0a5dd0 (patch) | |
tree | 3b4aaae4e8902b62ce4ba28fb3e066f1fe920c30 /src | |
parent | 11fa104a2aa12e266eb7dec150f08075ebfc4960 (diff) | |
download | px4-firmware-32319722a60db2a43a2ac80a579eee09cb0a5dd0.tar.gz px4-firmware-32319722a60db2a43a2ac80a579eee09cb0a5dd0.tar.bz2 px4-firmware-32319722a60db2a43a2ac80a579eee09cb0a5dd0.zip |
Retry fusion sooner on failures
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/ekf_att_pos_estimator/estimator_23states.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/ekf_att_pos_estimator/estimator_23states.cpp b/src/modules/ekf_att_pos_estimator/estimator_23states.cpp index 9be48cfea..1a2151017 100644 --- a/src/modules/ekf_att_pos_estimator/estimator_23states.cpp +++ b/src/modules/ekf_att_pos_estimator/estimator_23states.cpp @@ -925,9 +925,9 @@ void AttPosEKF::FuseVelposNED() { // declare variables used by fault isolation logic - uint32_t gpsRetryTime = 30000; // time in msec before GPS fusion will be retried following innovation consistency failure - uint32_t gpsRetryTimeNoTAS = 5000; // retry time if no TAS measurement available - uint32_t hgtRetryTime = 5000; // height measurement retry time + uint32_t gpsRetryTime = 3000; // time in msec before GPS fusion will be retried following innovation consistency failure + uint32_t gpsRetryTimeNoTAS = 500; // retry time if no TAS measurement available + uint32_t hgtRetryTime = 500; // height measurement retry time uint32_t horizRetryTime; // declare variables used to check measurement errors @@ -2587,6 +2587,7 @@ void AttPosEKF::GetFilterState(struct ekf_status_report *state) for (unsigned i = 0; i < n_states; i++) { current_ekf_state.states[i] = states[i]; } + current_ekf_state.n_states = n_states; memcpy(state, ¤t_ekf_state, sizeof(*state)); } |