mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-06 19:00:27 +08:00
RCOutput_PRU, RCOutput_AioPRU_PB2 and RCOutput_AeroIO wrote into their channel arrays without checking the channel number; every other Linux RCOutput backend already does. On PRU the overrun is particularly unpleasant as pending[MAX_PWMS] aliases the corked flag, so a write to channel 12 uncorks the backend and makes the subsequent push() a no-op. SRV_Channels::output_ch_all() already sweeps 16 channels by default, so these overruns are reachable today on pxf, erleboard and pocket2.