aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/meas_airspeed/meas_airspeed.cpp
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2013-08-28 18:03:43 +1000
committerLorenz Meier <lm@inf.ethz.ch>2013-08-28 11:16:55 +0200
commit935ed2fe49370e5eafe3b5445eda2c5714162216 (patch)
treef53f029df6be5e8835fde5d1a60a4295e5a2ce7a /src/drivers/meas_airspeed/meas_airspeed.cpp
parentfdbc09e2a53281b8dda7c48676dcf695a79ba373 (diff)
downloadpx4-firmware-935ed2fe49370e5eafe3b5445eda2c5714162216.tar.gz
px4-firmware-935ed2fe49370e5eafe3b5445eda2c5714162216.tar.bz2
px4-firmware-935ed2fe49370e5eafe3b5445eda2c5714162216.zip
meas_airspeed: don't use stale/bad data in airspeed reading
also fixed handling of perf counters on error
Diffstat (limited to 'src/drivers/meas_airspeed/meas_airspeed.cpp')
-rw-r--r--src/drivers/meas_airspeed/meas_airspeed.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp
index 666bd30e6..b1cb2b3d8 100644
--- a/src/drivers/meas_airspeed/meas_airspeed.cpp
+++ b/src/drivers/meas_airspeed/meas_airspeed.cpp
@@ -162,6 +162,8 @@ MEASAirspeed::collect()
if (ret < 0) {
log("error reading from sensor: %d", ret);
+ perf_count(_comms_errors);
+ perf_end(_sample_perf);
return ret;
}
@@ -169,9 +171,14 @@ MEASAirspeed::collect()
if (status == 2) {
log("err: stale data");
-
+ perf_count(_comms_errors);
+ perf_end(_sample_perf);
+ return ret;
} else if (status == 3) {
log("err: fault");
+ perf_count(_comms_errors);
+ perf_end(_sample_perf);
+ return ret;
}
//uint16_t diff_pres_pa = (val[1]) | ((val[0] & ~(0xC0)) << 8);