EKF: RingBuffer minor improvements

- allocate IMU and output buffers on construction according to defaults
 - determine buffer max time delay based on configuration parameters
 - reorder flowSample and extVisionSample to minimize padding
 - adjust parameter defaults to match PX4-Autopilot
This commit is contained in:
Daniel Agar
2020-12-03 20:48:51 -05:00
committed by GitHub
parent 67f13f7ede
commit 03cfcb903e
12 changed files with 85 additions and 111 deletions
+4 -12
View File
@@ -17,9 +17,7 @@ void EkfWrapper::setBaroHeight()
bool EkfWrapper::isIntendingBaroHeightFusion() const
{
filter_control_status_u control_status;
_ekf->get_control_mode(&control_status.value);
return control_status.flags.baro_hgt;
return _ekf->control_status_flags().baro_hgt;
}
void EkfWrapper::setGpsHeight()
@@ -29,9 +27,7 @@ void EkfWrapper::setGpsHeight()
bool EkfWrapper::isIntendingGpsHeightFusion() const
{
filter_control_status_u control_status;
_ekf->get_control_mode(&control_status.value);
return control_status.flags.gps_hgt;
return _ekf->control_status_flags().gps_hgt;
}
void EkfWrapper::setRangeHeight()
@@ -41,9 +37,7 @@ void EkfWrapper::setRangeHeight()
bool EkfWrapper::isIntendingRangeHeightFusion() const
{
filter_control_status_u control_status;
_ekf->get_control_mode(&control_status.value);
return control_status.flags.rng_hgt;
return _ekf->control_status_flags().rng_hgt;
}
void EkfWrapper::setVisionHeight()
@@ -53,9 +47,7 @@ void EkfWrapper::setVisionHeight()
bool EkfWrapper::isIntendingVisionHeightFusion() const
{
filter_control_status_u control_status;
_ekf->get_control_mode(&control_status.value);
return control_status.flags.ev_hgt;
return _ekf->control_status_flags().ev_hgt;
}
void EkfWrapper::enableGpsFusion()