[Bug] rc_input uses the UART when RC_INPUT_PROTO is None
Describe the bug
RC_INPUT_PROTO=0 (None) disables parsing, but rc_input still starts, configures the UART for SBUS and reads incoming bytes. This can interfere with another protocol using that UART, such as MAVLink RC.
On a bench setup, use an available UART and run:
rc_input stop
param set RC_INPUT_PROTO 0
rc_input start -d /dev/ttyS4
rc_input statusExpected: the disabled driver leaves the UART untouched.
Actual: the driver runs in state None and consumes incoming bytes.
Verification
Reproduced on main at 651b8687b8 using a Linux pseudo-terminal with rc_input enabled: sending 128 bytes produced UART RX bytes: 128 despite protocol None.
The proposed fix was also bench-tested on Holybro Kakute H7: the same start command reports not running, while ELRS MAVLink RC continues at approximately 100 Hz.
After the fix, the pseudo-terminal test also confirms that all 128 bytes and the UART settings remain untouched with None; selecting SBUS still reads the injected bytes.
Source: PX4/PX4-Autopilot