Skip to content

Conversation

@hamishwillee
Copy link
Contributor

This updates the docs following the changes in #25602

The manual control inputs can be set with COM_RC_IN_MODE. Historically RC was the only input, then Joystick support was added. The documents were littered with the assumption you really had a choice between RC and Joystick.

This does a first update to put Manual Control as a parent of RC and Joysticks, and in that document cover selection of the priority source. Other links that previously went to the parameter now (mostly) go to that.

@tobias-auterion Hope you can review. This still needs clarification on losses/failsafes as per #25602 (comment)

Comment on lines +48 to +51
<!-- Switching
Info on manual control loss vs Data loss and error fallback.
Is no RC calibration a criteria for validity?
-->
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Delete this when all things answered.

- `7`: RC priority, then MAVLink (higher instance before lower) — `RC > MAVL 2 > MAVL 1`
- `8`: MAVLink priority (higher instance before lower), then RCL — `MAVL 2 > MAVL 1 > RC`

RC calibration is required and RC checks are run for any option that uses RC (so not for `MAVLink only` or `Disable manual control`).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I assume RC calibration is a criteria for not being valid - so after calibration an RC would become available in the priority cases?
Other than that, is it just connection detection that defines validity?

And as discussed, need to understand what failsafe checks are here.


RC calibration is required and RC checks are run for any option that uses RC (so not for `MAVLink only` or `Disable manual control`).
When using priority sources, sources are evaluated as soon as they becomes valid and may trigger an immediate switch (if higher priority than other sources).
The [MAVLink instance](../peripherals/mavlink_peripherals.md#mavlink-instances) refers an instance assigned to a serial port, such as [MAV_0_CONFIG](..n/advanced_config/parameter_reference.md#MAV_0_CONFIG).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

What if you have two joysticks on one mavlink instance - which is possible, and even likely.

Comment on lines 110 to +114
5. (Optional) Configure Joystick and Failsafe.
Set the following [parameters](../advanced_config/parameters.md) in order to use a joystick instead of an RC remote control transmitter:
- [COM_RC_IN_MODE](../advanced_config/parameter_reference.md#COM_RC_IN_MODE) to "Joystick/No RC Checks". This allows joystick input and disables RC input checks.
- [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) to "Disabled". This ensures that no RC failsafe actions interfere when not running HITL with a radio control.
- [Enable an COM_RC_IN_MODE mode that allows Joystick](../config/manual_control.md#px4-configuration).
The default `RC or MAVLink keep first` should work if you plan to only have a Joystick (no RC).
- Set [NAV_RCL_ACT](../advanced_config/parameter_reference.md#NAV_RCL_ACT) to `Disabled`.
This ensures that no RC failsafe actions interfere when not running HITL with a radio control.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm wondering if for this case we should make it purely generic "configure your priority" rather than "configure your joystick". Then at the end we'd just have "If you're using a Joystick also set NAV_RCL_ACT ..."

@github-actions
Copy link

No flaws found

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants