|
|
|
@ -143,6 +143,10 @@ Mission::on_inactivation()
@@ -143,6 +143,10 @@ Mission::on_inactivation()
|
|
|
|
|
cmd.param1 = -1.0f; |
|
|
|
|
cmd.param3 = 1.0f; |
|
|
|
|
_navigator->publish_vehicle_cmd(&cmd); |
|
|
|
|
|
|
|
|
|
if (_navigator->get_precland()->is_activated()) { |
|
|
|
|
_navigator->get_precland()->on_inactivation(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
@ -174,17 +178,6 @@ Mission::on_activation()
@@ -174,17 +178,6 @@ Mission::on_activation()
|
|
|
|
|
void |
|
|
|
|
Mission::on_active() |
|
|
|
|
{ |
|
|
|
|
if (_work_item_type == WORK_ITEM_TYPE_PRECISION_LAND) { |
|
|
|
|
// switch out of precision land once landed
|
|
|
|
|
if (_navigator->get_land_detected()->landed) { |
|
|
|
|
_navigator->get_precland()->on_inactivation(); |
|
|
|
|
_work_item_type = WORK_ITEM_TYPE_DEFAULT; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
_navigator->get_precland()->on_active(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
check_mission_valid(false); |
|
|
|
|
|
|
|
|
|
/* check if anything has changed */ |
|
|
|
@ -270,6 +263,13 @@ Mission::on_active()
@@ -270,6 +263,13 @@ Mission::on_active()
|
|
|
|
|
|
|
|
|
|
do_abort_landing(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_work_item_type == WORK_ITEM_TYPE_PRECISION_LAND) { |
|
|
|
|
_navigator->get_precland()->on_active(); |
|
|
|
|
|
|
|
|
|
} else if (_navigator->get_precland()->is_activated()) { |
|
|
|
|
_navigator->get_precland()->on_inactivation(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool |
|
|
|
|