mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-17 03:37:35 +08:00
sensors: move voting into sensors module
- voting is now at a central place instead of duplicated within the
estimators
-> this also means that estimators that did not do voting so far,
now have voting, like ekf2
- estimators requiring more than that can still subscribe to the raw
sensors
- allows sensors_combined to be 3 times smaller
- reduces logger, memcpy (cache) & RAM overhead
- all modules requiring only 1 or 2 sensor values now automatically get
the voted result
- this also adds voting to baro
This commit is contained in:
@@ -744,7 +744,7 @@ void BlockLocalPositionEstimator::publishGlobalPos()
|
||||
_pub_gpos.get().terrain_alt = _altHome - xLP(X_tz);
|
||||
_pub_gpos.get().terrain_alt_valid = _validTZ;
|
||||
_pub_gpos.get().dead_reckoning = !_validXY && !_xyTimeout;
|
||||
_pub_gpos.get().pressure_alt = _sub_sensor.get().baro_alt_meter[0];
|
||||
_pub_gpos.get().pressure_alt = _sub_sensor.get().baro_alt_meter;
|
||||
_pub_gpos.update();
|
||||
}
|
||||
}
|
||||
@@ -845,7 +845,7 @@ void BlockLocalPositionEstimator::predict()
|
||||
if (integrate && _sub_att.get().R_valid) {
|
||||
Matrix3f R_att(_sub_att.get().R);
|
||||
Vector3f a;
|
||||
float accel_dt = _sub_sensor.get().accelerometer_integral_dt[0] / 1.e6f;
|
||||
float accel_dt = _sub_sensor.get().accelerometer_integral_dt / 1.e6f;
|
||||
a(0) = _sub_sensor.get().accelerometer_integral_m_s[0] / accel_dt;
|
||||
a(1) = _sub_sensor.get().accelerometer_integral_m_s[1] / accel_dt;
|
||||
a(2) = _sub_sensor.get().accelerometer_integral_m_s[2] / accel_dt;
|
||||
|
||||
Reference in New Issue
Block a user