mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-29 05:40:35 +08:00
ManualControl: avoid scheduling based on unchosen input
This commit is contained in:
@@ -226,8 +226,18 @@ void ManualControl::Run()
|
||||
// If it's valid, this should really be valid but better safe than sorry.
|
||||
const int instance = _selector.instance();
|
||||
|
||||
if (instance >= 0 && instance < MAX_MANUAL_INPUT_COUNT) {
|
||||
_manual_control_input_subs[instance].registerCallback();
|
||||
// Attach scheduling to new samples of the chosen input
|
||||
if (instance != _previous_manual_control_input_instance) {
|
||||
if ((0 <= _previous_manual_control_input_instance)
|
||||
&& (_previous_manual_control_input_instance < MAX_MANUAL_INPUT_COUNT)) {
|
||||
_manual_control_input_subs[_previous_manual_control_input_instance].unregisterCallback();
|
||||
}
|
||||
|
||||
if ((0 <= instance) && (instance < MAX_MANUAL_INPUT_COUNT)) {
|
||||
_manual_control_input_subs[instance].registerCallback();
|
||||
}
|
||||
|
||||
_previous_manual_control_input_instance = instance;
|
||||
}
|
||||
|
||||
_manual_control_switches_sub.registerCallback();
|
||||
|
||||
Reference in New Issue
Block a user