aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/meas_airspeed/meas_airspeed.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-01-14 15:40:46 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-01-14 15:40:46 +0100
commitd19971065140bdfbbe5972f2a394597504abef9e (patch)
tree47f4c08d75a3088806736e091b6338e4d1d48861 /src/drivers/meas_airspeed/meas_airspeed.cpp
parent1f5eda37abffc10b51e4bcd94efa18c1dc76d21f (diff)
downloadpx4-firmware-d19971065140bdfbbe5972f2a394597504abef9e.tar.gz
px4-firmware-d19971065140bdfbbe5972f2a394597504abef9e.tar.bz2
px4-firmware-d19971065140bdfbbe5972f2a394597504abef9e.zip
Fixed up init sequence of all sensors - we can publish in interrupt context, but not advertise! All advertisements now contain valid data
Diffstat (limited to 'src/drivers/meas_airspeed/meas_airspeed.cpp')
-rw-r--r--src/drivers/meas_airspeed/meas_airspeed.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp
index fee13f139..51a059e39 100644
--- a/src/drivers/meas_airspeed/meas_airspeed.cpp
+++ b/src/drivers/meas_airspeed/meas_airspeed.cpp
@@ -216,18 +216,9 @@ MEASAirspeed::collect()
report.voltage = 0;
report.max_differential_pressure_pa = _max_differential_pressure_pa;
- /* announce the airspeed if needed, just publish else */
- if (_class_instance == CLASS_DEVICE_PRIMARY && !(_pub_blocked)) {
-
- if (_airspeed_pub > 0) {
- /* publish it */
- orb_publish(ORB_ID(differential_pressure), _airspeed_pub, &report);
- } else {
- _airspeed_pub = orb_advertise(ORB_ID(differential_pressure), &report);
-
- if (_airspeed_pub < 0)
- debug("failed to create differential_pressure publication");
- }
+ if (_airspeed_pub > 0 && !(_pub_blocked)) {
+ /* publish it */
+ orb_publish(ORB_ID(differential_pressure), _airspeed_pub, &report);
}
new_report(report);