mathlib: merge LowPassFilter2p, LowPassFilter2pArray, and LowPassFilter2pVector3f

- fix reset for direct form 2
 - push NAN checks out to filter users
This commit is contained in:
Daniel Agar
2021-05-31 10:26:45 -04:00
parent 2a792ca201
commit 5493d96d17
23 changed files with 210 additions and 483 deletions
@@ -156,16 +156,18 @@ SDP3X::collect()
float diff_press_pa_raw = static_cast<float>(P) / static_cast<float>(_scale);
float temperature_c = temp / static_cast<float>(SDP3X_SCALE_TEMPERATURE);
differential_pressure_s report{};
if (PX4_ISFINITE(diff_press_pa_raw)) {
differential_pressure_s report{};
report.timestamp = hrt_absolute_time();
report.error_count = perf_event_count(_comms_errors);
report.temperature = temperature_c;
report.differential_pressure_filtered_pa = _filter.apply(diff_press_pa_raw) - _diff_pres_offset;
report.differential_pressure_raw_pa = diff_press_pa_raw - _diff_pres_offset;
report.device_id = _device_id.devid;
report.error_count = perf_event_count(_comms_errors);
report.temperature = temperature_c;
report.differential_pressure_filtered_pa = _filter.apply(diff_press_pa_raw) - _diff_pres_offset;
report.differential_pressure_raw_pa = diff_press_pa_raw - _diff_pres_offset;
report.device_id = _device_id.devid;
report.timestamp = hrt_absolute_time();
_airspeed_pub.publish(report);
_airspeed_pub.publish(report);
}
perf_end(_sample_perf);