-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Disarming improvements #1426
Disarming improvements #1426
Conversation
Sending a disarm request while in landed state now allows you to skip waiting for the timeout and disarm early.
… trigger. If you try to disarm before landing has been registered, this will no longer trigger an emergency stop and the resulting system lock. Fixes #1425.
This commit introduces the ability to disarm the drone mid-flight without triggering an emergency stop or crash state. However, disarming should not be used as a substitute for an emergency stop, as the disarm signal could be lost or delayed in critical situations. The emergency stop command is specifically designed for higher reliability and should continue to be used when immediate and secure halting of the drone is necessary.
… stop This commit updates the client to allow users controlling their drones with physical controllers to disarm the drone mid-flight. Previously, the disarm button on controllers was explicitly linked to triggering an emergency stop, preventing standard disarming during flight. With this change, pressing the disarm button on the controller will now safely disarm the drone, rather than activating an emergency stop. For emergency situations, users should continue using the dedicated emergency stop function, which is more reliable for halting the drone immediately. The (dis)arm controller button is still linked to crash recovery. UI arm/recover/emergency-stop button behavior is unchanged. Use together with bitcraze/crazyflie-firmware#1426
Latest commit introduces the ability to disarm the drone mid-flight without triggering an emergency stop or crash state. This change aligns with industry standards by separating disarm and emergency stop functions, providing a safer and more intuitive user experience. Again; note that disarming should not be used as a substitute for an emergency stop. The emergency stop command is specifically designed for higher reliability and should continue to be used when immediate and secure halting of the drone is necessary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good now!
… stop This commit updates the client to allow users controlling their drones with physical controllers to disarm the drone mid-flight. Previously, the disarm button on controllers was explicitly linked to triggering an emergency stop, preventing standard disarming during flight. With this change, pressing the disarm button on the controller will now safely disarm the drone, rather than activating an emergency stop. For emergency situations, users should continue using the dedicated emergency stop function, which is more reliable for halting the drone immediately. The (dis)arm controller button is still linked to crash recovery. UI arm/recover/emergency-stop button behavior is unchanged. Use together with bitcraze/crazyflie-firmware#1426
Previously, sending a "disarm" request while the drone was in an unexpected state—such as still being in flight mode when the user believed it had landed—could unintentionally trigger an emergency stop or crash state. This issue arises because the drone’s internal supervisor state is largely hidden from the user, leading to confusion when attempting to disarm in states that instead trigger an emergency stop.
This PR fixes the issue by ensuring that disarm requests no longer trigger an emergency stop or crash state. If a disarm command is sent before the system confirms the landing, it will not result in an emergency stop or system lock-up. However, users can still trigger an emergency stop through the correct command as intended.
In the event that users have been deliberately using the disarm command to trigger an emergency stop, they must now switch to using the dedicated emergency stop command.
This fix addresses issue #1425.
Furthermore, sending a disarm request while in landed state now allows you to skip waiting for the disarming timeout and disarm early.