diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-07-14 08:45:52 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-07-14 08:45:52 +0200 |
commit | ddc8f1fa5f5b88549af5e4f5f46c751a5f3af3ce (patch) | |
tree | 6ee05161752b3eb1feaa3356c6316f55fc9ab904 /src/drivers | |
parent | d8004c8d2d58356ae9fce59303993ea4d76cae20 (diff) | |
parent | f3549d775cb049bcde93c3e860c3adbad3763364 (diff) | |
download | px4-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.cpp | 4 | ||||
-rw-r--r-- | src/drivers/meas_airspeed/meas_airspeed.cpp | 6 |
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)) { |