Here is where the hardware is located - analog inputs channels, PWM, digital pins, CAN numbers, etc. Each time this is updated, please re-post the entire table so we can see the latest version easily.
What for | Controller | Function/device | I/O identifier | Notes |
----- | ----- | ----- | ----- | ----- |
Drivetrain | Joystick | Left Wheels | USB 0 | |
Drivetrain | Joystick | Right Wheels | USB 1 | |
Drivetrain | Gyro | single axis gyro | AIN 0 | |
Operator | Game Controller | Robot control | USB 2 | |
----- | ----- | ----- | ----- | ----- |
Autonomous | Rotary Switch | Autonomous Mode Selector | AIN 2 | |
Autonomous | Rotary Switch | Autonomous Defense Crossing Selector | AIN 3 | |
----- | ----- | ----- | ----- | ----- |
Drivetrain | Victor SP | Left side CIM 1 | PWM 1 | Only need 1 PWM for each side |
Drivetrain | Victor SP | Left side CIM 2 | PWM 1 |
Drivetrain | Victor SP | Right side CIM 3 | PWM 2 | Only need 1 PWM for each side |
Drivetrain | Victor SP | Right side CIM 4 | PWM 2 |
Drivetrain | ADIS16448 IMU MXP Breakout Board | Inertial System | MPX |
----- | ----- | ----- | ----- | ----- |
Intake | Talon SRX | Lower Roller | CAN 6 |
Intake | Talon SRX | Upper Roller | CAN 5 |
Intake | Talon SRX | Intake Retract | CAN 3 |
Intake | Quadrature encoder A | retract intake | DIO 0 |
Intake | Quadrature encoder B | retract intake | DIO 0 |
Intake | Optical digital input | Hold Sensor | DIO 0 |
Intake | Optical digital input | Cradle Sensor | DIO 1 |
----- | ----- | ----- | ----- | ----- |
----- | ----- | *** Climber is gone. This is here purely for history *** | ----- | ----- |
Climber | Talon SRX | Winch | CAN 9 |
Climber | Talon SRX | Scissor Lift | CAN 1 |
Climber | Limit switch | 2 series wired switches to detect if we're hanging | DIO 2 |
Climber | Limit switch - winch | Stops the winch from pulling further, wired to Talon SRX | N/A |
Climber | Limit switch - opening | Stops the lift's linear rail from opening further, wired to Talon SRX | N/A |
Climber | Limit switch - closing | Stops the lift's linear rail from closing further, wired to Talon SRX | N/A |
----- | ----- | ----- | ----- | ----- |
Shooter | Talon SRX | Hardstop | CAN 2 |
Shooter | Talon SRX | Draw back and trigger | CAN 7 |
Shooter | Limit switch | Trips when the catapult cam has reached its bottom position | DIO 7 |
----- | ----- | ----- | ----- | ----- |
Port./ C-d-F | Talon SRX | Bring Portcullis and Cheval-de-fris mechanism up and down | CAN 8 |
Today the intake team changed the intake design. The arm no longer will double as the climber's aid. The net is that we remove a motor, a potentiometer and 2 limit switches previously used to move and detect the arm's position. The hardware interface table has been updated.
Update the table. The shooter has been simplified; it no longer has movement capability nor adjustable strength. The climber no longer has an encoder on the winch. Not sure about the lift motor so it's still there pending further clarification.
Update table.
Assigned autonomous selector switch AIN channels
Changed shooter limit switch
Added TBD on climber
moved shooter Talon SRX to CAN 7
swapped upper and roller CAN targets to reflect how the hardware actually works.
Forgot to mention that the voltage used to drive the lower roller needs to be inverted because the wires to the lower roller motor were wired backwards.
Also, to move the Boulder from Hold to Cradle, we need to drive both the upper and lower roller, not just the upper roller.
I've added a Talon SRX to CAN4 in the "intake" section.
While we normally avoid feature creep this late in the game, this one is pretty important. The issue at hand is that our intake mechanism is susceptible to damage from severe impact; either head-on or from a side-blow. The only real way to prevent such damage is to get it out of harm's way and that means to lift the unit up and let the bumpers take any hits. The only real use for this is when the opponents are playing hard defense which is usually in the elimination rounds.
The way this works (as described to me last night) is that a window motor will directly drive the intake up and down. The initial position will be as it is today. Instead of jerking the robot forwards to drop the intake arm, the motor will deploy it. We still need to move the robot forwards to give the intake some room to drop. To retract the intake into the up position, we turn the motor in the opposite direction. Near the top of its travel, a limit switch will trip shutting off the motor automatically (no sw involved). If/when gravity backdrives the intake back down, the limit switch will disengage and cause the motor to re-start its upwards motion. This retraction motor will essentially oscillate on and off and keep the intake arm up in the process. To bring the intake arm back down, simply lower it.
Question - does the intake perform differently when attached to a gearbox given that it no longer has "bounce"?
So to make this work, we need another button or control mechanism. We have the unused #4 button (toggle up and down) or we can use one of the 2 joysticks on the gamepad up and down. We have options.