diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-14 15:40:46 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-14 15:40:46 +0100 |
commit | d19971065140bdfbbe5972f2a394597504abef9e (patch) | |
tree | 47f4c08d75a3088806736e091b6338e4d1d48861 /src/drivers/meas_airspeed | |
parent | 1f5eda37abffc10b51e4bcd94efa18c1dc76d21f (diff) | |
download | px4-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')
-rw-r--r-- | src/drivers/meas_airspeed/meas_airspeed.cpp | 15 |
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); |