Open jtechau opened 4 years ago
While the shooter design hasn't yet been determined, it will likely consist of a Falcon motor, so programming the subsystem can proceed, with small risk of the design causing major rework of the subsystem. At this point, I'd say we can implement:
Subsytem
setRPM(double rpm)
- set the shooter speed. This will involve setting up and tuning the Falcon's PID controller, which may take some time.stop()
- stop the shootergetRPM()
- get the shooter RPMperiodic()
, send the shooter RPM to the dashboard. Ideally only send the data perhaps 5 times per second, to make it easier for a human to view. (Values changing at 50 Hz are difficult for a human to see.) Also, an integer value is sufficient - no need for all the decimal values.Dashboard
getRPM()
method, would be a good first step in working with the Falcon's encoder.Commands
Create a shooter subsystem. At a minimum the shooter subsystem will consist of a motor to run the shooter wheel. Likely the shooter will also include a feeder to feed balls into the shooter wheel.
The shooter wheel will be a Falcon motor (tentative), which will need to run at a regulated RPM. The RPM might be fixed or variable, so the subsystem should provide a method to set the shooter to a specified RPM. It may also provide a method to turn the shooter off. The Talon FX motor controller in the Falcon motor has the capability to regulate and report the motor speed.