PWM input?

So my team is now done with this FRC season and we’re moving onto another competition which involves a different control system. So this new control system is a RF receiver that outputs PWM signals based upon the output of a RC plane remote. Normally just using the receiver on its own was perfect but we’ve run into a snag this year because we need the analog breakout board on the cRIO for our pneumatic systems. So my question is: is there a class in WPI to receive PWM input on the Digital Side Car? If not I believe I can write my own using the Digital Input Class and a time class

Also I have been going over the WPI library a little bit and it seems that driver station can be skipped while still utilizing the various classes that it provides can anyone confirm this as I’m away from our facility and unable to test this theory.

Thanks In Advance.

Team 4633

Have you considered controlling the pneumatic solenoids more directly from your RC receiver? Our team has used a small motor controller used in FTC robots wired with a few diodes to produce a small device that can control a solenoid valve or switch a SPIKE relay. You are still limited by the total number of channels on your controller, but it works and requires no CRIO or software to work.


The FPGA keeps you from setting outputs when the driver station isn’t connected or enabled.

Can’t they do whatever they want with the FPGA since they’re not competing in FRC, just using the CRIO?

If they want to purchase the somewhat expensive ($650) FPGA development toolkit, then they can learn to design their own FPGA solution.
That’s not a solution for most teams or for casual/timely projects though.

If I am reading the OP correctly, they are trying to get digital outputs (DO), but not necessarily using the CRIO.

Maybe use something like an Arduino to decode the PWM to an integer. Then use bits from the integer to fire relays on an Arduino shield? That will give you multiple DOs from one PWM signal.

Sorry for the late response the internet has been a little bit unreliable. Anyways seeing how the FPGA is locked I will have to talk to my team about tasksa’s solution and other solutions(the Arduino is another great idea but unfortunately I don’t think we have the time to acquire one but I could be wrong) because we need some way of running our pneumatic valves and also expanding our few controller inputs into multiple outputs. So thanks to all of you for clarifying this topic.

On running stuff with an arduino and radio control. I am soon to be working on a project involving an aircraft R/C unit interfacing with an arduino, in order to do some cool things with the boat I am building. While the control system is coming together much slower than the mechanics, our solution to powering our CIM-powered “propeller” (term used lightly) is to use a relay board that interfaces with the Arduino. It takes any voltage supply (my dad controls a 120VAC pool pump this way) at considerable currents and just works exactly as you would want it. Just give it a 12/24VDC supply and wire your solenoids to it. there are single and double boards you can buy for dimes and you could have a bank of them doing many things, as they are quite small.

I have no personal experience with open source boards but that is what my project is for

Here is some code from this season that was not used in our final release, but gives a good example of how to use PWM input.