From e011a528eb6fafe3ef53c17ec32b8e3934b850d1 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 6 Sep 2016 23:34:02 +0200 Subject: [PATCH] Enable a workaround for #5438 (#5450) * Enable a workaround for #5438 * Disable Travis Slack integration * Fix formatting --- .travis.yml | 2 +- src/modules/mavlink/mavlink_orb_subscription.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 057eed9845..7aad59509a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -130,4 +130,4 @@ notifications: - secure: "QKw73Zel/s3JAbe/7XyO9tPnJwiiGFpYzSjdR8lG3tYFjRdXZnhxG4c+G7bkgkaPTS4Hult33VXE3kcEqOI7+C+eRwRlZhDfL0knQbXVCxjcLjzmUFdoPOwurlgZDw66PFWCi5tZcLKSRo3u4U8ibT4WKi3jm9sDSyOcfBAucMU=" on_pull_requests: false on_success: never # options: [always|never|change] default: always - on_failure: change # options: [always|never|change] default: always + on_failure: never # options: [always|never|change] default: always diff --git a/src/modules/mavlink/mavlink_orb_subscription.cpp b/src/modules/mavlink/mavlink_orb_subscription.cpp index f1747e3a79..5255b16ee9 100644 --- a/src/modules/mavlink/mavlink_orb_subscription.cpp +++ b/src/modules/mavlink/mavlink_orb_subscription.cpp @@ -157,6 +157,15 @@ MavlinkOrbSubscription::is_published() return true; } + // This is a workaround for this issue: + // https://github.com/PX4/Firmware/issues/5438 +#if defined(__PX4_LINUX) || defined(__PX4_QURT) + + if (_fd < 0) { + _fd = orb_subscribe_multi(_topic, _instance); + } + +#else // Telemetry can sustain an initial published check at 10 Hz hrt_abstime now = hrt_absolute_time(); @@ -175,6 +184,8 @@ MavlinkOrbSubscription::is_published() _fd = orb_subscribe_multi(_topic, _instance); } +#endif + bool updated; orb_check(_fd, &updated);