-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
commander: add force arm CLI option (commander arm -f) #12715
Conversation
…reArmChecks Reason: if you don't want preflight checks, you don't want prearm checks either (these are the circuit breakers, like usb connected check). The other changes are cleanup and rework of operations. In most cases, arming_state_transition is called with fRunPreArmChecks set to true, so no change in behavior. The cases with fRunPreArmChecks=false are: - unit tests - in_arming_grace_period=true (quick arming after disarm) - VEHICLE_CMD_PREFLIGHT_CALIBRATION (does not transition to armed)
This allows to bypass preflight and prearm checks. During development there are regular cases where I just want to arm the board/vehicle no matter what, and the preflight checks are guaranteed to fail (e.g. sensors uncalibrated, inconsistent, powered via USB, etc.). Allowing an easy and quick way to arm (assuming you know what you are doing) helps to speed up development considerably and is less frustrating.
- the last check expects pre_arm to run so we need to enable the preflight checks. This is closer to the real system. - as a result we need to enable HIL for other tests so that the sensors are not checked.
733c9e8
to
4f30103
Compare
@bkueng good idea. How about the same option on the mavlink interface? |
802ba74
to
663adbd
Compare
Yes we can do that, but I think the bigger question is around the UI: regular users should not do this, and probably not even see the option to allow them to force-arm. |
This allows to bypass preflight and prearm checks on the shell via
commander arm -f
.During development there are regular cases where I just want to arm the
board/vehicle no matter what, and the preflight checks are guaranteed to
fail (e.g. sensors uncalibrated, inconsistent, powered via USB, etc.).
Allowing an easy and quick way to arm (assuming you know what you are
doing) helps to speed up development considerably and is less frustrating.
See individual commit messages for further details.