From b7ebdab7fd301bc19d5200765e04911c75a3860e Mon Sep 17 00:00:00 2001 From: Dusan Zivkovic Date: Thu, 7 May 2020 19:21:15 +0200 Subject: [PATCH] mavlink_receiver: handle LANDING_TARGET message: publish irlock_report when landing target position invalid --- src/modules/mavlink/mavlink_receiver.cpp | 12 ++++++++++++ src/modules/mavlink/mavlink_receiver.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/modules/mavlink/mavlink_receiver.cpp b/src/modules/mavlink/mavlink_receiver.cpp index ef4f675f90..22e0d0d8b8 100644 --- a/src/modules/mavlink/mavlink_receiver.cpp +++ b/src/modules/mavlink/mavlink_receiver.cpp @@ -2328,6 +2328,18 @@ MavlinkReceiver::handle_message_landing_target(mavlink_message_t *msg) landing_target_pose.z_abs = landing_target.z; _landing_target_pose_pub.publish(landing_target_pose); + + } else { + irlock_report_s irlock_report{}; + + irlock_report.timestamp = hrt_absolute_time(); + irlock_report.signature = landing_target.target_num; + irlock_report.pos_x = landing_target.angle_x; + irlock_report.pos_y = landing_target.angle_y; + irlock_report.size_x = landing_target.size_x; + irlock_report.size_y = landing_target.size_y; + + _irlock_report_pub.publish(irlock_report); } } diff --git a/src/modules/mavlink/mavlink_receiver.h b/src/modules/mavlink/mavlink_receiver.h index c0731403ea..476a93cd3a 100644 --- a/src/modules/mavlink/mavlink_receiver.h +++ b/src/modules/mavlink/mavlink_receiver.h @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -236,6 +237,7 @@ private: uORB::Publication _debug_value_pub{ORB_ID(debug_value)}; uORB::Publication _debug_vect_pub{ORB_ID(debug_vect)}; uORB::Publication _follow_target_pub{ORB_ID(follow_target)}; + uORB::Publication _irlock_report_pub{ORB_ID(irlock_report)}; uORB::Publication _landing_target_pose_pub{ORB_ID(landing_target_pose)}; uORB::Publication _log_message_pub{ORB_ID(log_message)}; uORB::Publication _obstacle_distance_pub{ORB_ID(obstacle_distance)};