mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-22 09:28:58 +00:00
allow local position for takeoff (e.g. flow)
This commit is contained in:
committed by
Lorenz Meier
parent
194f0c1de8
commit
1f7fdb2386
@@ -428,8 +428,6 @@ main_state_transition(struct vehicle_status_s *status, main_state_t new_main_sta
|
||||
|
||||
case commander_state_s::MAIN_STATE_AUTO_MISSION:
|
||||
case commander_state_s::MAIN_STATE_AUTO_RTL:
|
||||
case commander_state_s::MAIN_STATE_AUTO_TAKEOFF:
|
||||
case commander_state_s::MAIN_STATE_AUTO_LAND:
|
||||
|
||||
/* need global position and home position */
|
||||
if (status_flags->condition_global_position_valid && status_flags->condition_home_position_valid) {
|
||||
@@ -438,6 +436,16 @@ main_state_transition(struct vehicle_status_s *status, main_state_t new_main_sta
|
||||
|
||||
break;
|
||||
|
||||
case commander_state_s::MAIN_STATE_AUTO_TAKEOFF:
|
||||
case commander_state_s::MAIN_STATE_AUTO_LAND:
|
||||
|
||||
/* need local position */
|
||||
if (status_flags->condition_local_position_valid) {
|
||||
ret = TRANSITION_CHANGED;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case commander_state_s::MAIN_STATE_OFFBOARD:
|
||||
|
||||
/* need offboard signal
|
||||
@@ -937,8 +945,7 @@ bool set_nav_state(struct vehicle_status_s *status,
|
||||
if (status->engine_failure) {
|
||||
status->nav_state = vehicle_status_s::NAVIGATION_STATE_AUTO_LANDENGFAIL;
|
||||
|
||||
} else if (status_flags->gps_failure || (!status_flags->condition_global_position_valid ||
|
||||
!status_flags->condition_home_position_valid)) {
|
||||
} else if (status_flags->gps_failure || !status_flags->condition_local_position_valid) {
|
||||
enable_failsafe(status, old_failsafe, mavlink_log_pub, reason_no_gps);
|
||||
|
||||
if (status_flags->condition_local_position_valid) {
|
||||
@@ -964,8 +971,7 @@ bool set_nav_state(struct vehicle_status_s *status,
|
||||
if (status->engine_failure) {
|
||||
status->nav_state = vehicle_status_s::NAVIGATION_STATE_AUTO_LANDENGFAIL;
|
||||
|
||||
} else if (status_flags->gps_failure || (!status_flags->condition_global_position_valid ||
|
||||
!status_flags->condition_home_position_valid)) {
|
||||
} else if (status_flags->gps_failure || !status_flags->condition_local_position_valid) {
|
||||
enable_failsafe(status, old_failsafe, mavlink_log_pub, reason_no_gps);
|
||||
|
||||
if (status_flags->condition_local_altitude_valid) {
|
||||
|
||||
Reference in New Issue
Block a user