From 9ec883193c651f0a6f78e7b5b764de1a75a123c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Tue, 4 Dec 2018 19:52:30 +0100 Subject: [PATCH] fix mission upload timeout: need to report the mission result The problem can be reproduced by: - comment out the handling of MAVLINK_MSG_ID_MISSION_ITEM_INT on the autopilot - run the mission upload example Result: the async mission callback never gets called. Output: Uploading mission... [05:35:39|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:39|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:40|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:40|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:40|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:40|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:41|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:41|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:41|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:41|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:42|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:42|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:42|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:42|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:43|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:43|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:43|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:43|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:44|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:44|Debug] Send mission item 0 (mission_impl.cpp:996) [05:35:44|Debug] MAVLink: critical: Operation timeout (system_impl.cpp:280) [05:35:45|Warn ] Mission handling timed out while uploading mission. (mission_impl.cpp:1170) --- plugins/mission/mission_impl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/mission/mission_impl.cpp b/plugins/mission/mission_impl.cpp index b5bfdb225f..76300dbaf4 100644 --- a/plugins/mission/mission_impl.cpp +++ b/plugins/mission/mission_impl.cpp @@ -1168,6 +1168,7 @@ void MissionImpl::process_timeout() // again. _activity.state = Activity::State::NONE; LogWarn() << "Mission handling timed out while uploading mission."; + report_mission_result(_mission_data.result_callback, Mission::Result::TIMEOUT); return; } else if (_activity.state == Activity::State::GET_MISSION) {