From 107cc2c12693729585e11e729893aa076c7087db Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 14 Mar 2014 13:06:00 +1100 Subject: [PATCH] AP_Mission: added truncate() function Used when loading a mission while flying Pair-Programmed-With: Randy Mackay --- libraries/AP_Mission/AP_Mission.cpp | 9 +++++++++ libraries/AP_Mission/AP_Mission.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/libraries/AP_Mission/AP_Mission.cpp b/libraries/AP_Mission/AP_Mission.cpp index d1c5ea50be..fc61fba06d 100644 --- a/libraries/AP_Mission/AP_Mission.cpp +++ b/libraries/AP_Mission/AP_Mission.cpp @@ -113,6 +113,15 @@ bool AP_Mission::clear() return true; } + +/// trucate - trunacte any mission items beyond index +void AP_Mission::truncate(uint16_t index) +{ + if (_cmd_total > index) { + _cmd_total.set_and_save(index); + } +} + /// update - ensures the command queues are loaded with the next command and calls main programs command_init and command_verify functions to progress the mission /// should be called at 10hz or higher void AP_Mission::update() diff --git a/libraries/AP_Mission/AP_Mission.h b/libraries/AP_Mission/AP_Mission.h index e4f1df6498..9b0e11e039 100644 --- a/libraries/AP_Mission/AP_Mission.h +++ b/libraries/AP_Mission/AP_Mission.h @@ -130,6 +130,9 @@ public: /// returns true if mission was running so it could not be cleared bool clear(); + /// truncate - truncate any mission items beyond given index + void truncate(uint16_t index); + /// update - ensures the command queues are loaded with the next command and calls main programs command_init and command_verify functions to progress the mission /// should be called at 10hz or higher void update();