aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-07-14 08:33:35 +0200
committerLorenz Meier <lm@inf.ethz.ch>2014-07-14 08:33:35 +0200
commitf3549d775cb049bcde93c3e860c3adbad3763364 (patch)
tree06d6759659cb75d4966a44592b7acc1368cedd5a
parent9ce7820e419d2ffa379fb7a3cc168f500623fa3d (diff)
downloadpx4-firmware-f3549d775cb049bcde93c3e860c3adbad3763364.tar.gz
px4-firmware-f3549d775cb049bcde93c3e860c3adbad3763364.tar.bz2
px4-firmware-f3549d775cb049bcde93c3e860c3adbad3763364.zip
Airspeed driver: Use the known sensor offset for raw value as well
-rw-r--r--src/drivers/ets_airspeed/ets_airspeed.cpp3
-rw-r--r--src/drivers/meas_airspeed/meas_airspeed.cpp5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/drivers/ets_airspeed/ets_airspeed.cpp b/src/drivers/ets_airspeed/ets_airspeed.cpp
index d1a9fa57c..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;
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp
index 7763f1057..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