mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-07 13:10:34 +08:00
commander : add support for precision landing measurements
This commit is contained in:
committed by
Lorenz Meier
parent
d9b9b4407a
commit
f2dbb0ad3b
@@ -581,6 +581,8 @@ int commander_main(int argc, char *argv[])
|
||||
new_main_state = commander_state_s::MAIN_STATE_AUTO_TAKEOFF;
|
||||
} else if (!strcmp(argv[2], "auto:land")) {
|
||||
new_main_state = commander_state_s::MAIN_STATE_AUTO_LAND;
|
||||
} else if (!strcmp(argv[2], "auto:precland")) {
|
||||
new_main_state = commander_state_s::MAIN_STATE_AUTO_PRECLAND;
|
||||
} else {
|
||||
warnx("argument %s unsupported.", argv[2]);
|
||||
}
|
||||
@@ -1109,6 +1111,18 @@ Commander::handle_command(vehicle_status_s *status_local, const safety_s *safety
|
||||
}
|
||||
break;
|
||||
|
||||
case vehicle_command_s::VEHICLE_CMD_NAV_PRECLAND: {
|
||||
if (TRANSITION_CHANGED == main_state_transition(&status, commander_state_s::MAIN_STATE_AUTO_PRECLAND, main_state_prev, &status_flags, &internal_state)) {
|
||||
mavlink_and_console_log_info(&mavlink_log_pub, "Precision landing");
|
||||
cmd_result = vehicle_command_s::VEHICLE_CMD_RESULT_ACCEPTED;
|
||||
|
||||
} else {
|
||||
mavlink_log_critical(&mavlink_log_pub, "Precision landing denied, land manually");
|
||||
cmd_result = vehicle_command_s::VEHICLE_CMD_RESULT_TEMPORARILY_REJECTED;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case vehicle_command_s::VEHICLE_CMD_MISSION_START: {
|
||||
|
||||
cmd_result = vehicle_command_s::VEHICLE_CMD_RESULT_DENIED;
|
||||
@@ -3902,6 +3916,7 @@ set_control_mode()
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_RTGS:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_LAND:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_LANDENGFAIL:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_PRECLAND:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_MISSION:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_LOITER:
|
||||
case vehicle_status_s::NAVIGATION_STATE_AUTO_TAKEOFF:
|
||||
|
||||
Reference in New Issue
Block a user