From 62a7074dd78141d287cdca3cd23858e9102bd093 Mon Sep 17 00:00:00 2001 From: Michael Day Date: Fri, 6 May 2016 13:26:54 -0400 Subject: [PATCH] AP_Mission: Added mavlink_cmd_long_to_mission_cmd method. --- libraries/AP_Mission/AP_Mission.cpp | 18 ++++++++++++++++++ libraries/AP_Mission/AP_Mission.h | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/libraries/AP_Mission/AP_Mission.cpp b/libraries/AP_Mission/AP_Mission.cpp index 17f5d34ff9..87424033e5 100644 --- a/libraries/AP_Mission/AP_Mission.cpp +++ b/libraries/AP_Mission/AP_Mission.cpp @@ -877,6 +877,24 @@ bool AP_Mission::mission_cmd_to_mavlink(const AP_Mission::Mission_Command& cmd, return ans; } +// mavlink_cmd_long_to_mission_cmd - converts a mavlink cmd long to an AP_Mission::Mission_Command object which can be stored to eeprom +// return MAV_MISSION_ACCEPTED on success, MAV_MISSION_RESULT error on failure +MAV_MISSION_RESULT AP_Mission::mavlink_cmd_long_to_mission_cmd(const mavlink_command_long_t& packet, AP_Mission::Mission_Command& cmd) +{ + mavlink_mission_item_t miss_item = {0}; + + miss_item.param1 = packet.param1; + miss_item.param2 = packet.param2; + miss_item.param3 = packet.param3; + miss_item.param4 = packet.param4; + + miss_item.command = packet.command; + miss_item.target_system = packet.target_system; + miss_item.target_component = packet.target_component; + + return mavlink_to_mission_cmd(miss_item, cmd); +} + // mission_cmd_to_mavlink - converts an AP_Mission::Mission_Command object to a mavlink message which can be sent to the GCS // return true on success, false on failure bool AP_Mission::mission_cmd_to_mavlink_int(const AP_Mission::Mission_Command& cmd, mavlink_mission_item_int_t& packet) diff --git a/libraries/AP_Mission/AP_Mission.h b/libraries/AP_Mission/AP_Mission.h index 4063f6963c..56cf29a07a 100644 --- a/libraries/AP_Mission/AP_Mission.h +++ b/libraries/AP_Mission/AP_Mission.h @@ -377,6 +377,10 @@ public: static MAV_MISSION_RESULT mavlink_to_mission_cmd(const mavlink_mission_item_t& packet, AP_Mission::Mission_Command& cmd); static MAV_MISSION_RESULT mavlink_int_to_mission_cmd(const mavlink_mission_item_int_t& packet, AP_Mission::Mission_Command& cmd); + // mavlink_cmd_long_to_mission_cmd - converts a mavlink cmd long to an AP_Mission::Mission_Command object which can be stored to eeprom + // return MAV_MISSION_ACCEPTED on success, MAV_MISSION_RESULT error on failure + static MAV_MISSION_RESULT mavlink_cmd_long_to_mission_cmd(const mavlink_command_long_t& packet, AP_Mission::Mission_Command& cmd); + // mission_cmd_to_mavlink - converts an AP_Mission::Mission_Command object to a mavlink message which can be sent to the GCS // return true on success, false on failure static bool mission_cmd_to_mavlink(const AP_Mission::Mission_Command& cmd, mavlink_mission_item_t& packet);