diff --git a/src/modules/sensors/sensors.cpp b/src/modules/sensors/sensors.cpp index bc1d6606caca7bba36c60dfa58145faf5a2287c2..59ad5cec83df6f9b1caeba55a20bce81ae0a70ce 100644 --- a/src/modules/sensors/sensors.cpp +++ b/src/modules/sensors/sensors.cpp @@ -372,8 +372,10 @@ Sensors::diff_pres_poll(struct sensor_combined_s &raw) airspeed.air_temperature_celsius = air_temperature_celsius; - int instance; - orb_publish_auto(ORB_ID(airspeed), &_airspeed_pub, &airspeed, &instance, ORB_PRIO_DEFAULT); + if (PX4_ISFINITE(airspeed.indicated_airspeed_m_s) && PX4_ISFINITE(airspeed.true_airspeed_m_s)) { + int instance; + orb_publish_auto(ORB_ID(airspeed), &_airspeed_pub, &airspeed, &instance, ORB_PRIO_DEFAULT); + } } }