|
|
|
@ -38,6 +38,7 @@
@@ -38,6 +38,7 @@
|
|
|
|
|
* @author Julian Oes <julian@oes.ch> |
|
|
|
|
* @author Thomas Gubler <thomasgubler@gmail.com> |
|
|
|
|
* @author Anton Babushkin <anton.babushkin@me.com> |
|
|
|
|
* @author Ban Siesta <bansiesta@gmail.com> |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
#include <sys/types.h> |
|
|
|
@ -149,18 +150,12 @@ Mission::on_active()
@@ -149,18 +150,12 @@ Mission::on_active()
|
|
|
|
|
|
|
|
|
|
/* lets check if we reached the current mission item */ |
|
|
|
|
if (_mission_type != MISSION_TYPE_NONE && is_mission_item_reached()) { |
|
|
|
|
set_mission_item_reached(); |
|
|
|
|
if (_mission_item.autocontinue) { |
|
|
|
|
/* switch to next waypoint if 'autocontinue' flag set */ |
|
|
|
|
advance_mission(); |
|
|
|
|
set_mission_items(); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
/* else just report that item reached */ |
|
|
|
|
if (_mission_type == MISSION_TYPE_OFFBOARD) { |
|
|
|
|
if (!(_navigator->get_mission_result()->seq_reached == _current_offboard_mission_index && _navigator->get_mission_result()->reached)) { |
|
|
|
|
set_mission_item_reached(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else if (_mission_type != MISSION_TYPE_NONE &&_param_altmode.get() == MISSION_ALTMODE_FOH) { |
|
|
|
@ -395,7 +390,6 @@ Mission::set_mission_items()
@@ -395,7 +390,6 @@ Mission::set_mission_items()
|
|
|
|
|
/* reuse setpoint for LOITER only if it's not IDLE */ |
|
|
|
|
_navigator->set_can_loiter_at_sp(pos_sp_triplet->current.type == SETPOINT_TYPE_LOITER); |
|
|
|
|
|
|
|
|
|
reset_mission_item_reached(); |
|
|
|
|
set_mission_finished(); |
|
|
|
|
|
|
|
|
|
_navigator->set_position_setpoint_triplet_updated(); |
|
|
|
|