From 2ae5e575a5f0e45a8cd5cf29dc68bcbd0d9d0747 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 17 Jan 2018 10:20:17 -0500 Subject: [PATCH] land detector initialize landed and publish periodically --- src/modules/land_detector/LandDetector.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/land_detector/LandDetector.cpp b/src/modules/land_detector/LandDetector.cpp index 0fe2716f9b..78c85de55e 100644 --- a/src/modules/land_detector/LandDetector.cpp +++ b/src/modules/land_detector/LandDetector.cpp @@ -82,7 +82,7 @@ void LandDetector::_cycle() // Advertise the first land detected uORB. _landDetected.timestamp = hrt_absolute_time(); _landDetected.freefall = false; - _landDetected.landed = false; + _landDetected.landed = true; _landDetected.ground_contact = false; _landDetected.maybe_landed = false; @@ -111,8 +111,9 @@ void LandDetector::_cycle() const hrt_abstime now = hrt_absolute_time(); - // Only publish very first time or when the result has changed. - if ((_landDetectedPub == nullptr) || + // publish at 1 Hz, very first time, or when the result has changed + if ((hrt_elapsed_time(&_landDetected.timestamp) >= 1000000) || + (_landDetectedPub == nullptr) || (_landDetected.landed != landDetected) || (_landDetected.freefall != freefallDetected) || (_landDetected.maybe_landed != maybe_landedDetected) ||