aboutsummaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-07-14 08:45:52 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-07-14 08:45:52 +0200
commitddc8f1fa5f5b88549af5e4f5f46c751a5f3af3ce (patch)
tree6ee05161752b3eb1feaa3356c6316f55fc9ab904 /src/drivers
parentd8004c8d2d58356ae9fce59303993ea4d76cae20 (diff)
parentf3549d775cb049bcde93c3e860c3adbad3763364 (diff)
downloadpx4-firmware-ddc8f1fa5f5b88549af5e4f5f46c751a5f3af3ce.tar.gz
px4-firmware-ddc8f1fa5f5b88549af5e4f5f46c751a5f3af3ce.tar.bz2
px4-firmware-ddc8f1fa5f5b88549af5e4f5f46c751a5f3af3ce.zip
Merge pull request #1159 from PX4/airspeed_test_fix
Generalized the airspeed check
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/ets_airspeed/ets_airspeed.cpp4
-rw-r--r--src/drivers/meas_airspeed/meas_airspeed.cpp6
2 files changed, 7 insertions, 3 deletions
diff --git a/src/drivers/ets_airspeed/ets_airspeed.cpp b/src/drivers/ets_airspeed/ets_airspeed.cpp
index 1a7e068fe..c15a0cee4 100644
--- a/src/drivers/ets_airspeed/ets_airspeed.cpp
+++ b/src/drivers/ets_airspeed/ets_airspeed.cpp
@@ -172,6 +172,9 @@ ETSAirspeed::collect()
diff_pres_pa = diff_pres_pa_raw - _diff_pres_offset;
}
+ // The raw value still should be compensated for the known offset
+ diff_pres_pa_raw -= _diff_pres_offset;
+
// Track maximum differential pressure measured (so we can work out top speed).
if (diff_pres_pa > _max_differential_pressure_pa) {
_max_differential_pressure_pa = diff_pres_pa;
@@ -186,7 +189,6 @@ ETSAirspeed::collect()
report.differential_pressure_filtered_pa = (float)diff_pres_pa;
report.differential_pressure_raw_pa = (float)diff_pres_pa_raw;
report.temperature = -1000.0f;
- report.voltage = 0;
report.max_differential_pressure_pa = _max_differential_pressure_pa;
if (_airspeed_pub > 0 && !(_pub_blocked)) {
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp
index c0f3c28e0..07611f903 100644
--- a/src/drivers/meas_airspeed/meas_airspeed.cpp
+++ b/src/drivers/meas_airspeed/meas_airspeed.cpp
@@ -225,7 +225,10 @@ MEASAirspeed::collect()
// correct for 5V rail voltage if possible
voltage_correction(diff_press_pa_raw, temperature);
- float diff_press_pa = fabsf(diff_press_pa_raw - _diff_pres_offset);
+ // the raw value still should be compensated for the known offset
+ diff_press_pa_raw -= _diff_pres_offset;
+
+ float diff_press_pa = fabsf(diff_press_pa_raw);
/*
note that we return both the absolute value with offset
@@ -265,7 +268,6 @@ MEASAirspeed::collect()
}
report.differential_pressure_raw_pa = diff_press_pa_raw;
- report.voltage = 0;
report.max_differential_pressure_pa = _max_differential_pressure_pa;
if (_airspeed_pub > 0 && !(_pub_blocked)) {