|
|
|
@ -174,6 +174,17 @@ Mission::on_activation()
@@ -174,6 +174,17 @@ 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 */ |
|
|
|
@ -263,17 +274,6 @@ Mission::on_active()
@@ -263,17 +274,6 @@ Mission::on_active()
|
|
|
|
|
|
|
|
|
|
do_abort_landing(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool |
|
|
|
|