Skip to content

Comments

Add thrust interlock and move gamepad status to Flight tab#780

Open
ataffanel wants to merge 1 commit intomasterfrom
ataffanel/775
Open

Add thrust interlock and move gamepad status to Flight tab#780
ataffanel wants to merge 1 commit intomasterfrom
ataffanel/775

Conversation

@ataffanel
Copy link
Member

When connecting to a Crazyflie or selecting/changing an input device or mapping, a thrust interlock is now engaged that forces thrust to zero until the physical throttle is brought to zero by the user. This prevents unexpected take-off due to a misconfigured mapping or a non-zero throttle position at connection time.

The gamepad device info (device name, mapping, mux) previously shown in the status bar is now displayed in a dedicated Gamepad section in the Flight tab, alongside an interlock status indicator.

Fixes #775

When connecting to a Crazyflie or selecting/changing an input device or
mapping, a thrust interlock is now engaged that forces thrust to zero
until the physical throttle is brought to zero by the user. This
prevents unexpected take-off due to a misconfigured mapping or a
non-zero throttle position at connection time.

The gamepad device info (device name, mapping, mux) previously shown in
the status bar is now displayed in a dedicated Gamepad section in the
Flight tab, alongside an interlock status indicator.

Fixes #775
@@ -93,6 +93,8 @@
_log_data_signal = pyqtSignal(int, object, object)
_pose_data_signal = pyqtSignal(object, object)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to the empty line? If not, we can remove it

_assisted_control_updated_signal = pyqtSignal(bool)
_heighthold_input_updated_signal = pyqtSignal(float, float, float, float)
_hover_input_updated_signal = pyqtSignal(float, float, float, float)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to the empty line? If not, we can remove it

disconnectedSignal = pyqtSignal(str)
linkQualitySignal = pyqtSignal(float)

gamepad_device_updated = pyqtSignal(str, str, str)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

variable name doesn't follow naming style

linkQualitySignal = pyqtSignal(float)

gamepad_device_updated = pyqtSignal(str, str, str)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unclear grouping using newlines

@stefanthorstenson
Copy link
Contributor

Live demo with @ataffanel proved indented functionality!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect input mapping can lead to Crazyflie unindendently taking off when connecting

2 participants