Unfortunately, connecting caps, inductors, filters, et al to an OI input would constitute a “custom circuit”. As of last year’s rules, that is illegal (Section 3.2.7 “Custom Circuits and Additional Electronics”, rule C29). Yea, yea, I know it would make sense in many ways, but until FIRST changes the rules, if they’re interpreted strictly we just can’t do it.
I’d like to see the rule if not abolished, at least relaxed to: “No ACTIVE circuitry on OI inputs”, or “no computational elements beyond passive components and simple filtering allowed on OI inputs”. That would at least allow things like what you are suggesting, along with cool tricks like R2R ladders and pushbutton combos on a Joystick analog input to expand the number of digital switches into an OI (we ran short last year).
Luckily, anything you can do with caps and inductors on input leads can easily be done in software.
Really though, the REAL problem is that until you convince the Drivers to lighten up, all the filtering in the world won’t help much. In fact, we got into a Programmer vs Driver Behavior war over just that problem two years ago.
Our drivetrain kept breaking due to sudden operator motor reversals. So, the programmer kept increasing filtering elements to protect the hardware. But in response, the drivers unconsciously started slamming the controls more and more to compensate. No amount of training, begging, etc. could cancel that. After all, humans will unconsciously do WHATEVER is necessary with the controls to try to make the robot behave as they THINK it should.
It finally got to the point where the drivers started holding the BOTTOM of the joysticks with their thumb and forefingers. They were always slammed one way or another, and everyone was unhappy because the robot still wouldn’t act as the drivers wished.
So I had the programmers give up. We stripped out ALL of the filtering code, and I warned the drivers that THEY are now responsible for keeping the machine intact, and if the bot now broke more than once from driver abuse, they risked being replaced.
Gee, for some odd reason that made them a LOT more cautious! The code became MUCH simpler. We only had to recscale a couple of joystick channels.
The robot ran just fine. It never once broke again due to driver control error. (Ditto this year with my new team.)