diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-12 11:53:15 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-01-12 11:53:15 +0100 |
commit | d72c82f66bf6dac8e6d10bf1024641908d3b854c (patch) | |
tree | 7aeec3dddbe3e3decf882f5ebd8e9cb6fe6a69f6 /src/drivers/meas_airspeed | |
parent | 9bf512cac82815e690774ddfc2fdeda29c22f4a0 (diff) | |
download | px4-firmware-d72c82f66bf6dac8e6d10bf1024641908d3b854c.tar.gz px4-firmware-d72c82f66bf6dac8e6d10bf1024641908d3b854c.tar.bz2 px4-firmware-d72c82f66bf6dac8e6d10bf1024641908d3b854c.zip |
Airspeed does not publish if disabled
Diffstat (limited to 'src/drivers/meas_airspeed')
-rw-r--r-- | src/drivers/meas_airspeed/meas_airspeed.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp index a95c4576b..fee13f139 100644 --- a/src/drivers/meas_airspeed/meas_airspeed.cpp +++ b/src/drivers/meas_airspeed/meas_airspeed.cpp @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (C) 2013 PX4 Development Team. All rights reserved. + * Copyright (c) 2013, 2014 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -217,7 +217,18 @@ MEASAirspeed::collect() report.max_differential_pressure_pa = _max_differential_pressure_pa; /* announce the airspeed if needed, just publish else */ - orb_publish(ORB_ID(differential_pressure), _airspeed_pub, &report); + 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"); + } + } new_report(report); |