mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-28 02:34:07 +08:00
FW don't allow ACRO or RATTITUDE
This commit is contained in:
parent
e70223c2be
commit
6aa935fed6
@ -337,8 +337,8 @@ bool StateMachineHelperTest::mainStateTransitionTest(void)
|
||||
|
||||
// TRANSITION_CHANGED tests
|
||||
|
||||
{ "transition: MANUAL to ACRO",
|
||||
MTT_ALL_NOT_VALID,
|
||||
{ "transition: MANUAL to ACRO - rotary",
|
||||
MTT_ROTARY_WING,
|
||||
commander_state_s::MAIN_STATE_MANUAL, commander_state_s::MAIN_STATE_ACRO, TRANSITION_CHANGED },
|
||||
|
||||
{ "transition: ACRO to MANUAL",
|
||||
@ -399,6 +399,10 @@ bool StateMachineHelperTest::mainStateTransitionTest(void)
|
||||
|
||||
// TRANSITION_DENIED tests
|
||||
|
||||
{ "transition: MANUAL to ACRO - not rotary",
|
||||
MTT_ALL_NOT_VALID,
|
||||
commander_state_s::MAIN_STATE_MANUAL, commander_state_s::MAIN_STATE_ACRO, TRANSITION_DENIED },
|
||||
|
||||
{ "no transition: MANUAL to AUTO_MISSION - global position not valid",
|
||||
MTT_ALL_NOT_VALID,
|
||||
commander_state_s::MAIN_STATE_MANUAL, commander_state_s::MAIN_STATE_AUTO_MISSION, TRANSITION_DENIED },
|
||||
|
||||
@ -348,12 +348,17 @@ main_state_transition(struct vehicle_status_s *status, main_state_t new_main_sta
|
||||
/* transition may be denied even if the same state is requested because conditions may have changed */
|
||||
switch (new_main_state) {
|
||||
case commander_state_s::MAIN_STATE_MANUAL:
|
||||
case commander_state_s::MAIN_STATE_ACRO:
|
||||
case commander_state_s::MAIN_STATE_RATTITUDE:
|
||||
case commander_state_s::MAIN_STATE_STAB:
|
||||
ret = TRANSITION_CHANGED;
|
||||
break;
|
||||
|
||||
case commander_state_s::MAIN_STATE_ACRO:
|
||||
case commander_state_s::MAIN_STATE_RATTITUDE:
|
||||
if (status->is_rotary_wing) {
|
||||
ret = TRANSITION_CHANGED;
|
||||
}
|
||||
break;
|
||||
|
||||
case commander_state_s::MAIN_STATE_ALTCTL:
|
||||
/* need at minimum altitude estimate */
|
||||
/* TODO: add this for fixedwing as well */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user