Skip to content

GCS_MAVLink: extended manual_control features for AC#32020

Closed
AndKe wants to merge 1 commit intoArduPilot:masterfrom
AndKe:better_manual_control
Closed

GCS_MAVLink: extended manual_control features for AC#32020
AndKe wants to merge 1 commit intoArduPilot:masterfrom
AndKe:better_manual_control

Conversation

@AndKe
Copy link
Contributor

@AndKe AndKe commented Jan 26, 2026

The intention is to make ArduPilot accept/use more than the main 4 axis according to the MAVLink common MANUAL_CONTROL packet.
QGC is about to add free axis mapping to joystick, it will then be useful for gimbal/payload control, not only pitch/yaw/roll/thr.
I've also added some buttons.

@AndKe AndKe changed the title better manual_control packet handling GCS_MAVLink: better manual_control packet handling for AC Jan 26, 2026
@AndKe
Copy link
Contributor Author

AndKe commented Jan 26, 2026

once somebody can review this, I will make changes for the other vehicles too.

@AndKe AndKe changed the title GCS_MAVLink: better manual_control packet handling for AC GCS_MAVLink: extended manual_control features for AC Jan 26, 2026
Copy link
Contributor

@peterbarker peterbarker left a comment

Choose a reason for hiding this comment

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

This has not been done with reference to ArduSub's "joystick" library - which should be fixed as part of this.

Buttons should not be mapped onto RC channels - they should be mapped onto auxiliary functions if anything.

Most of these patches are not Copter-specific and should not be in the Copter directory.

Comment on lines +905 to +911
// Map AUX1-6 onto RC channels 7-12.
const int16_t aux_values[6] = { packet.aux1, packet.aux2, packet.aux3, packet.aux4, packet.aux5, packet.aux6 };
const uint8_t aux_bits[6] = { EXT_AUX1, EXT_AUX2, EXT_AUX3, EXT_AUX4, EXT_AUX5, EXT_AUX6 };
for (uint8_t i = 0; i < 6; i++) {
const int16_t value = (enabled & aux_bits[i]) ? aux_values[i] : INT16_MAX;
manual_override(rc().channel(6 + i), value, 1000, 2000, tnow);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This may break existing mixed-input setups.

@AndKe
Copy link
Contributor Author

AndKe commented Feb 7, 2026

yes, I belive this is not the way to go, a joystick on GCS should emit RC_OVERRICE and/or MANUAL_CONTROL as needed instead. Thank you.

@AndKe AndKe closed this Feb 7, 2026
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.

2 participants