2015:Robot IO Map: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) (remove useless column; update controls to match state of code and driver whim) |
||
(46 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== CAN ID Assignments == | == CAN ID Assignments == | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 908px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | '''ID''' | ||
| style="text-align: center | | style="text-align: center" | '''Subsystem''' | ||
| <p style="text-align: center | | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="text-align: center | | style="text-align: center" | '''Model #''' | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 224px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | '''Notes''' | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 0 | ||
| style="text-align: center | | style="text-align: center" | '''RESERVED''' | ||
| <p style="text-align: center | | <p style="text-align: center">n/a</p> | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Factory-default<br/>allows for adding CTRE devices quickly and re-assign its ID | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px" | <p style="text-align: center">don't use</p> | ||
| style="width: 115px | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 1 | ||
| style="text-align: center | | style="text-align: center" | '''RESERVED''' | ||
| style="text-align: center | | style="text-align: center" | n/a | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Factory-default<br/>allows for adding Jaguar quickly and re-assign its ID | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | don't use | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 2 | ||
| style="text-align: center | | style="text-align: center" | drivetrain | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | CIM | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Left Front Drive | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 3 | ||
| style="text-align: center | | style="text-align: center" | drivetrain | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | CIM | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Left Rear Drive | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 4 | ||
| style="text-align: center | | style="text-align: center" | drivetrain | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | CIM | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Right Front Drive | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 5 | ||
| style="text-align: center | | style="text-align: center" | drivetrain | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | CIM | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Right Rear Drive | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 6 | ||
| style="text-align: center | | style="text-align: center" | drivetrain | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | CIM | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Strafe | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | unclear on how to activate this motor | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 7 | ||
| style="text-align: center | | style="text-align: center" | lifter | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | RS775 | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Left lifter | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 8 | ||
| style="text-align: center | | style="text-align: center" | lifter | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | RS775 | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Right lifter | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 9 | ||
| style="text-align: center | | style="text-align: center" | gripper | ||
| style="text-align: center | | style="text-align: center" | motor | ||
| style="text-align: center | | style="text-align: center" | RS550 | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | Gripper/Motor | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | <br/> | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 10 | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | <br/> | ||
| style="width: 224px; text-align: center" | <br/> | |||
| style="width: 224px; text-align: center | | style="width: 115px; text-align: center" | | ||
| style="width: 115px; text-align: center | |||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | 11 | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="text-align: center | | style="text-align: center" | <br/> | ||
| style="width: 210px; text-align: center | | style="width: 210px; text-align: center" | <br/> | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 12 | | 12 | ||
Line 126: | Line 113: | ||
| <br/> | | <br/> | ||
| <br/> | | <br/> | ||
| style="width: 210px | | style="width: 210px" | | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 13 | | 13 | ||
Line 135: | Line 121: | ||
| <br/> | | <br/> | ||
| <br/> | | <br/> | ||
| style="width: 210px | | style="width: 210px" | | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 14 | | 14 | ||
Line 144: | Line 129: | ||
| <br/> | | <br/> | ||
| <br/> | | <br/> | ||
| style="width: 210px | | style="width: 210px" | | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 15 | | 15 | ||
| | | <span style="text-align: center">pnuematics</span> | ||
| <br/> | | <span style="text-align: center">PCM module</span><br/> | ||
| <br/> | | <span style="text-align: center">N/A</span><br/> | ||
| style="width: 210px | | style="width: 210px" | <span style="text-align: center">Stabilizer, Shifter, Strafing</span> | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | address spaces for Jaguars, SRXs, PCM, and PDP are all separate. We are limited to one PDP, and will need only one PCM | ||
| style="width: 115px | |||
|- | |- | ||
| | | 0 | ||
| | | <span style="text-align: center">power dist.</span> | ||
| <br/> | | <span style="text-align: center">PD module</span><br/> | ||
| <br/> | | <span style="text-align: center">N/A</span><br/> | ||
| style="width: 210px | | style="width: 210px" | <span style="text-align: center">Power Distribution Readback</span> | ||
| style="width: 224px" | <br/> | |||
| style="width: 224px | | style="width: 115px" | Must be 0 (WPILib has no easy way to use another ID). We'll only ever have one | ||
| style="width: 115px | |||
|} | |} | ||
== PWM Outputs == | == PWM Outputs == | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 941px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| style="width: 82px; text-align: center | | style="width: 82px; text-align: center" | '''Subsystem''' | ||
| style="width: 76px | | style="width: 76px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="text-align: center; width: 54px | | style="text-align: center; width: 54px" | '''Model #''' | ||
| style="text-align: center; width: 170px | | style="text-align: center; width: 170px" | '''Description<br/>(brief)''' | ||
| style="text-align: center; | | style="text-align: center; width: 280px" | | ||
'''Operation''' | '''Operation''' | ||
| style="width: 125px; text-align: center | | style="width: 125px; text-align: center" | '''Notes''' | ||
|- | |||
| 0 | |||
| style="width: 82px" | | |||
| style="width: 76px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 170px" | | |||
| style="width: 280px" | <br/> | |||
| style="width: 125px" | <br/> | |||
|- | |- | ||
| 1 | | 1 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 82px | | style="width: 82px" | <br/> | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | <br/> | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | <br/> | ||
| style="width: 125px | |||
|- | |- | ||
| 7 | | 7 | ||
| style="width: 82px | | style="width: 82px" | <br/> | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | <br/> | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | <br/> | ||
| style="width: 125px | |||
|- | |- | ||
| 8 | | 8 | ||
| style="width: 82px | | style="width: 82px" | | ||
| style="width: 76px | | style="width: 76px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 170px | | style="width: 170px" | | ||
| style="width: 280px" | <br/> | |||
| style="width: 280px | | style="width: 125px" | | ||
| style="width: 125px | |||
|- | |- | ||
| 9 | | 9 | ||
| style="width: 82px" | | |||
| style="width: 76px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 170px" | | |||
| style="width: 280px" | <br/> | |||
| style="width: 125px" | | |||
| style="width: 82px | |||
| style="width: 76px | |||
| style="width: 54px | |||
| style="width: 170px | |||
| style="width: 280px | |||
| style="width: 125px | |||
|} | |} | ||
Line 280: | Line 251: | ||
== Relay Outputs == | == Relay Outputs == | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 927px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| style="text-align: center | | style="text-align: center" | '''Subsystem''' | ||
| style="width: 69px | | style="width: 69px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="width: 54px; text-align: center | | style="width: 54px; text-align: center" | '''Model #''' | ||
| style="width: 192px; text-align: center | | style="width: 192px; text-align: center" | '''Description<br/>(brief)''' | ||
| style="width: | | style="width: 259px; text-align: center" | '''Operation'''<br/> | ||
| style="width: | | style="width: 115px; text-align: center" | '''Notes''' | ||
| style="width: 115px | |- | ||
| 0 | |||
| | |||
| style="width: 69px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 192px" | | |||
| style="width: 259px" | <br/> | |||
| style="width: 115px" | | |||
|- | |- | ||
| 1 | | 1 | ||
| | | | ||
| style="width: 69px | | style="width: 69px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 192px | | style="width: 192px" | | ||
| style="width: 259px" | <br/> | |||
| style="width: 259px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 2 | | 2 | ||
| | | | ||
| style="width: 69px | | style="width: 69px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 192px | | style="width: 192px" | | ||
| style="width: 259px" | <br/> | |||
| style="width: 259px | | style="width: 115px" | | ||
| style="width: 115px | |||
|- | |- | ||
| 3 | | 3 | ||
| | | | ||
| style="width: 69px | | style="width: 69px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 192px;" | | | style="width: 192px" | | ||
| style="width: | | style="width: 259px" | <br/> | ||
| style="width: | | style="width: 115px" | | ||
| style="width: | |} | ||
== Analog IO == | |||
=== <u>RoboRIO Analog Inputs</u> === | |||
{| style="width: 1030px" border="1" cellpadding="2" cellspacing="1" | |||
|- | |||
| ID | |||
| style="text-align: center" | Subsystem | |||
| style="width: 70px" | <p style="text-align: center">Component</p><p style="text-align: center">Type</p> | |||
| style="width: 54px; text-align: center" | Model # | |||
| style="width: 227px; text-align: center" | Description<br/>(brief) | |||
| style="width: 262px; text-align: center" | Operation<br/> | |||
| style="width: 132px; text-align: center" | | |||
Voltage | |||
Range | |||
| style="width: 91px; text-align: center" | Notes | |||
|- | |- | ||
| | | 0 | ||
| drivetrain | |||
| style="width: 70px" | gyro | |||
| style="width: 54px" | ADW22307 | |||
| style="width: 227px" | drivetrain gyro rot feedback | |||
| style="width: 262px" | | |||
X & Y orientation used in Autonomous. | |||
(no temp correction needed within our bounds) | |||
| style="width: 132px" | 2.5 V center (σ, 0.007 V/deg/sec (0.0069 to 0.0074 within ± 1σ) | |||
| style="width: 91px" | [http://www.analog.com/static/imported-files/data_sheets/ADXRS652.pdf New Part Number: Datasheet] | |||
|- | |||
| 1 | |||
| <br/> | |||
| style="width: 70px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 227px" | <br/> | |||
| style="width: 262px" | <br/> | |||
| style="width: 132px" | <br/> | |||
| style="width: 91px" | | |||
|- | |||
| 2 | |||
| | |||
| style="width: 70px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 227px" | | |||
| style="width: 262px" | <br/> | |||
| style="width: 132px" | <br/> | |||
| style="width: 91px" | | |||
|- | |||
| 3 | |||
| | | | ||
| style="width: | | style="width: 70px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: | | style="width: 227px" | | ||
| style="width: | | style="width: 262px" | <br/> | ||
| style="width: | | style="width: 132px" | <br/> | ||
| style="width: | | style="width: 91px" | | ||
|} | |} | ||
== Analog | === <u>Rev Robotics More Board Analog IO</u> === | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 1030px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| style="text-align: center | | style="text-align: center" | '''Subsystem''' | ||
| style="width: 70px | | style="width: 70px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="width: 54px; text-align: center | | style="width: 54px; text-align: center" | '''Model #''' | ||
| style="width: 227px; text-align: center | | style="width: 227px; text-align: center" | '''Description<br/>(brief)''' | ||
| style="width: 262px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 262px; text-align: center | | style="width: 132px; text-align: center" | | ||
| style="width: 132px; text-align: center | |||
'''Voltage''' | '''Voltage''' | ||
'''Range''' | '''Range''' | ||
| style="width: 91px; text-align: center | | style="width: 91px; text-align: center" | '''Notes''' | ||
|- | |||
| AIN0 | |||
| <br/> | |||
| style="width: 70px" | <br/> | |||
| style="width: 54px" | | |||
| style="width: 227px" | <br/> | |||
| style="width: 262px" | <br/> | |||
| style="width: 132px" | | |||
| style="width: 91px" | | |||
|- | |- | ||
| | | AIN1 | ||
| | | <br/> | ||
| style="width: 70px | | style="width: 70px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 227px | | style="width: 227px" | | ||
| style="width: | | style="width: 262px" | <br/> | ||
| style="width: 262px | | style="width: 132px" | <br/> | ||
| style="width: 132px | | style="width: 91px" | | ||
| style="width: 91px | |- | ||
| AIN2 | |||
| <br/> | |||
| style="width: 70px" | <br/> | |||
| style="width: 54px" | <br/> | |||
| style="width: 227px" | | |||
| style="width: 262px" | <br/> | |||
| style="width: 132px" | <br/> | |||
| style="width: 91px" | | |||
|- | |- | ||
| | | AIN3 | ||
| | | <br/> | ||
| style="width: 70px | | style="width: 70px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 227px | | style="width: 227px" | <br/> | ||
| style="width: 262px" | <br/> | |||
| style="width: 262px | | style="width: 132px" | <br/> | ||
| style="width: 132px | | style="width: 91px" | <br/> | ||
| style="width: 91px | |||
|- | |- | ||
| | | AOUT0 | ||
| | | <br/> | ||
| style="width: 70px | | style="width: 70px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 227px | | style="width: 227px" | <br/> | ||
| style="width: 262px" | <br/> | |||
| style="width: 262px | | style="width: 132px" | <br/> | ||
| style="width: 132px | | style="width: 91px" | <br/> | ||
| style="width: 91px | |||
|- | |- | ||
| | | AOUT1 | ||
| | | <br/> | ||
| style="width: 70px | | style="width: 70px" | <br/> | ||
| style="width: 54px | | style="width: 54px" | <br/> | ||
| style="width: 227px | | style="width: 227px" | | ||
| style="width: 262px" | <br/> | |||
| style="width: 262px | | style="width: 132px" | <br/> | ||
| style="width: 132px | | style="width: 91px" | | ||
| style="width: 91px | |||
|} | |} | ||
== Digital IO (GPIO) == | == Digital IO (GPIO) == | ||
{| border="1" cellpadding="2" cellspacing="1 | === <u>RoboRio IO</u> === | ||
{| style="width: 998px" border="1" cellpadding="2" cellspacing="1" | |||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| '''Direction'''<br/>(IN/OUT) | | '''Direction'''<br/>(IN/OUT) | ||
| style="text-align: center;" | '''Subsystem''' | | style="text-align: center; width: 69px" | '''Subsystem''' | ||
| style="width: | | style="width: 73px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="width: 52px; text-align: center | | style="width: 52px; text-align: center" | '''Model #''' | ||
| style="width: 194px; text-align: center | | style="width: 194px; text-align: center" | '''Description<br/>(brief)''' | ||
| style="width: | | style="width: 253px; text-align: center" | '''Operation'''<br/> | ||
| style="width: | | style="width: 118px; text-align: center" | '''Notes''' | ||
| style="width: | |- | ||
| 0 | |||
| IN | |||
| style="width: 69px" | drivetrain | |||
| style="width: 73px" | Encoder | |||
| style="width: 52px" | 63R256 | |||
| style="width: 194px" | Left Encoder, Phase A | |||
| style="width: 253px" | Drivetrain rotation - calculate Position measurement | |||
| style="width: 118px" | <br/> | |||
|- | |- | ||
| 1 | | 1 | ||
| IN | | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">IN</span><br/> | ||
| | | style="width: 69px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">-</span><br/> | ||
| style="width: | | style="width: 73px" | - | ||
| style="width: 52px | | style="width: 52px" | - | ||
| style="width: 194px | | style="width: 194px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Left Encoder, Phase B</span><br/> | ||
| style="width: 253px" | B-channel | |||
| style="width: 253px | | style="width: 118px" | May not be present | ||
| style="width: 118px | |||
|- | |- | ||
| 2 | | 2 | ||
| IN | | IN | ||
| drivetrain | | style="width: 69px" | drivetrain | ||
| style="width: | | style="width: 73px" | Encoder | ||
| style="width: 52px | | style="width: 52px" | <span style="line-height: 20.7999992370605px">63R256</span> | ||
| style="width: 194px | | style="width: 194px" | Right Encoder, Phase A | ||
| style="width: 253px" | <span style="line-height: 20.7999992370605px">Drivetrain rotation - calculate Position measurement</span><br/> | |||
| style="width: 253px | | style="width: 118px" | | ||
| style="width: 118px | |||
|- | |- | ||
| 3 | | 3 | ||
| IN | | IN | ||
| | | style="width: 69px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">-</span><br/> | ||
| style="width: | | style="width: 73px" | - | ||
| style="width: 52px | | style="width: 52px" | - | ||
| style="width: 194px | | style="width: 194px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Right Encoder, Phase B</span><br/> | ||
| style="width: 253px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">B-channel</span><br/> | |||
| style="width: 253px | | style="width: 118px" | | ||
| style="width: 118px | <span style="line-height: 20.7999992370605px">May not be present</span> | ||
|- | |- | ||
| 4 | | 4 | ||
| IN | | IN | ||
| style="width: 69px" | lifter | |||
| style="width: | | style="width: 73px" | Encoder | ||
| style="width: | | style="width: 52px" | 63R256 | ||
| style="width: | | style="width: 194px" | Lifter Encoder, Phase A | ||
| style="width: | | style="width: 253px" | Lifter drive rotation - calculate Height Zeroed with Lifter Flag Sensor. Channel A | ||
| style="width: 253px | | style="width: 118px" | | ||
| style="width: 118px | |||
|- | |- | ||
| 5 | | 5 | ||
| IN | | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">IN</span><br/> | ||
| | | style="width: 69px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">-</span><br/> | ||
| style="width: | | style="width: 73px" | - | ||
| style="width: 52px | | style="width: 52px" | - | ||
| style="width: 194px | | style="width: 194px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Lifter Encoder, Phase B</span><br/> | ||
| style="width: 253px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">B-channel</span><br/> | |||
| style="width: 253px;" | | style="width: 118px" | <br/> | ||
| style="width: 118px | |||
|- | |- | ||
| 6 | | 6 | ||
| IN | | IN | ||
| style="width: 69px" | lifter | |||
| style="width: | | style="width: 73px" | Flag Sensor | ||
| style="width: | | style="width: 52px" | OPB815 | ||
| style="width: | | style="width: 194px" | Home Position At Bottom | ||
| style="width: | | style="width: 253px" | Lower position | ||
| style="width: 253px | | style="width: 118px" | | ||
| style="width: 118px | |||
|- | |- | ||
| 7 | | 7 | ||
| IN | | IN | ||
| gripper | | style="width: 69px" | gripper | ||
| style="width: | | style="width: 73px" | Encoder | ||
| style="width: 52px | | style="width: 52px" | 63R256 | ||
| style="width: 194px | | style="width: 194px" | Gripper Encoder, Phase A | ||
| style="width: 253px" | Gripper drive rotation - calculate Position | |||
| style="width: 253px | | style="width: 118px" | | ||
| style="width: 118px | |||
|- | |- | ||
| 8 | | 8 | ||
| IN | | IN | ||
| | | style="width: 69px" | - | ||
| style="width: | | style="width: 73px" | - | ||
| style="width: 52px | | style="width: 52px" | - | ||
| style="width: 194px | | style="width: 194px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Gripper </span>Encoder, Phase B | ||
| style="width: 253px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">B-channel</span> | |||
| style="width: 253px;" | | style="width: 118px" | | ||
| style="width: 118px | |||
|- | |- | ||
| 9 | | 9 | ||
| IN | | IN | ||
| gripper | | style="width: 69px" | gripper | ||
| style="width: | | style="width: 73px" | Flag Sensor | ||
| style="width: 52px | | style="width: 52px" | OPB815 | ||
| style="width: 194px;" | <span style="line-height: 20.7999992370605px | | style="width: 194px" | Home Gripper Position A | ||
| style="width: | | style="width: 253px" | Inner position home flag (Primary) | ||
| style="width: | | style="width: 118px" | <br/> | ||
| style="width: | |} | ||
=== <u>Rev Robotics More Board IO</u> === | |||
{| style="width: 1022px" border="1" cellpadding="1" cellspacing="1" | |||
|- | |||
| style="width: 16px; text-align: center" | '''ID''' | |||
| style="width: 56px; text-align: center" | '''Direction (IN/OUT)''' | |||
| style="width: 74px; text-align: center" | '''Subsystem''' | |||
| style="width: 74px; text-align: center" | '''Component Type''' | |||
| style="width: 56px; text-align: center" | '''Model #''' | |||
| style="width: 197px; text-align: center" | '''Description (brief)''' | |||
| style="width: 254px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 141px; text-align: center" | '''Notes''' | |||
|- | |||
| style="width: 16px" | 0 | |||
| style="width: 56px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">IN</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">gripper</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Banner</span><br/> | |||
| style="width: 56px" | Q10AN6R | |||
| style="width: 197px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Gripper Tote Detection</span><br/> | |||
| style="width: 254px" | <span style="font-size: 13.3333339691162px; line-height: 20.7999992370605px">Beam break sensor to check for tote presence</span><br/> | |||
| style="width: 141px" | sensor open collector output. pullup in roborio | |||
|- | |||
| style="width: 16px" | 1 | |||
| style="width: 56px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">IN</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">lifter</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Flag</span><br/> | |||
| style="width: 56px" | OPB815 | |||
| style="width: 197px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Lift encoder high flag</span><br/> | |||
| style="width: 254px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Lifter upper flag, for safety and to help calibration</span><br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 2 | |||
| style="width: 56px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">IN</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">gripper</span><br/> | |||
| style="width: 74px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Flag Sensor</span><br/> | |||
| style="width: 56px" | OPB815 | |||
| style="width: 197px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Home Gripper Position B</span><br/> | |||
| style="width: 254px" | <span style="font-size: 13.3333339691162px; line-height: 23.1111106872559px">Inner position Backup</span><br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 3 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 4 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 5 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 6 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 7 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |- | ||
| 10 | | style="width: 16px" | 8 | ||
| | | style="width: 56px" | <br/> | ||
| | | style="width: 74px" | <br/> | ||
| style="width: 74px | | style="width: 74px" | <br/> | ||
| style="width: | | style="width: 56px" | <br/> | ||
| style="width: | | style="width: 197px" | <br/> | ||
| style="width: | | style="width: 254px" | <br/> | ||
| style="width: | | style="width: 141px" | <br/> | ||
| style="width: | |- | ||
| style="width: 16px" | 9 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 10 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 11 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 12 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 13 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 14 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|- | |||
| style="width: 16px" | 15 | |||
| style="width: 56px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 74px" | <br/> | |||
| style="width: 56px" | <br/> | |||
| style="width: 197px" | <br/> | |||
| style="width: 254px" | <br/> | |||
| style="width: 141px" | <br/> | |||
|} | |} | ||
== I2C Registers == | == I2C Registers == | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 1007px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| style="text-align: center | | style="text-align: center" | '''Address'''<br/>(e.g. 0100111X) | ||
| style="width: 37px; text-align: center | | style="width: 37px; text-align: center" | '''Pin'''<br/>(e.g. GP0) | ||
| style="width: 76px; text-align: center | | style="width: 76px; text-align: center" | '''Subsystem''' | ||
| style="width: 75px | | style="width: 75px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="width: 53px; text-align: center | | style="width: 53px; text-align: center" | '''Model #''' | ||
| style="width: 205px; text-align: center | | style="width: 205px; text-align: center" | '''Description<br/>(brief)''' | ||
| style="width: 241px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 241px; text-align: center | | style="width: 112px; text-align: center" | '''Notes''' | ||
| style="width: 112px; text-align: center | |||
|- | |- | ||
| 0 | | 0 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 1 | | 1 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 37px | | style="width: 37px" | | ||
| style="width: 76px | | style="width: 76px" | | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 53px | | style="width: 53px" | <br/> | ||
| style="width: 205px | | style="width: 205px" | | ||
| style="width: 241px" | <br/> | |||
| style="width: 241px | | style="width: 112px" | | ||
| style="width: 112px | |||
|} | |} | ||
== SPI Devices == | |||
{| style="width: 1007px" border="1" cellpadding="2" cellspacing="1" | |||
|- | |||
| style="text-align: center" | '''#'''<br/> | |||
| style="width: 76px; text-align: center" | '''Subsystem''' | |||
| style="width: 75px" | <p style="text-align: center">'''Component Type'''</p> | |||
| style="width: 53px; text-align: center" | '''Model #''' | |||
| style="width: 205px; text-align: center" | '''Description (brief)''' | |||
| style="width: 241px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 112px; text-align: center" | '''Notes'''<br/> | |||
|- | |||
| kOnBoardCS0 | |||
| style="width: 76px" | drivetrain | |||
| style="width: 75px" | accelerometer | |||
| style="width: 53px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 28.4444px">ADXL345</span></span><br/> | |||
| style="width: 205px" | <span style="font-size:small"><span style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 28.4444px">accelerometer, right by the gyro</span></span><br/> | |||
| style="width: 241px" | to improve autonomous drive code<br/> | |||
| style="width: 112px" | <br/> | |||
|- | |||
| <br/> | |||
| style="width: 76px" | <br/> | |||
| style="width: 75px" | <br/> | |||
| style="width: 53px" | | |||
| style="width: 205px" | <br/> | |||
| style="width: 241px" | <br/> | |||
|} | |||
== USB Host Ports == | |||
{| style="width: 1007px" border="1" cellpadding="2" cellspacing="1" | |||
|- | |||
| style="text-align: center" | '''Address'''<br/> | |||
| style="width: 76px; text-align: center" | '''Subsystem''' | |||
| style="width: 75px" | <p style="text-align: center">'''Component Type'''</p> | |||
| style="width: 53px; text-align: center" | '''Model #''' | |||
| style="width: 205px; text-align: center" | '''Description (brief)''' | |||
| style="width: 241px; text-align: center" | '''Operation'''<br/> | |||
| style="width: 112px; text-align: center" | '''Notes''' | |||
|- | |||
| 0 | |||
| style="width: 76px" | Camera | |||
| style="width: 75px" | Camera | |||
| style="width: 53px" | HD-3000 | |||
| style="width: 205px" | USB camera | |||
| style="width: 241px" | Facing down from top of lifter. Helps with tote + alignment in auto, driver, maybe for semiauto | |||
| style="width: 112px" | | |||
|- | |||
| 1 | |||
| style="width: 76px" | Logging | |||
| style="width: 75px" | USB Stick | |||
| style="width: 53px" | ? | |||
| style="width: 205px" | USB Stick to log info | |||
| style="width: 241px" | record match and state information at high rate, for postmortem match analysis | |||
| style="width: 112px" | | |||
|} | |||
== Pneumatics Control Module == | == Pneumatics Control Module == | ||
{| border="1" cellpadding="2" cellspacing="1 | {| style="width: 931px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''ID''' | | '''ID''' | ||
| style="text-align: center | | style="text-align: center" | '''Subsystem''' | ||
| style="width: 75px | | style="width: 75px" | <p style="text-align: center">'''Component'''</p><p style="text-align: center">'''Type'''</p> | ||
| style="width: 51px | | style="width: 51px" | <p style="text-align: center">'''Model #'''</p> | ||
| style="width: | | style="width: 211px" | <p style="text-align: center">'''Description'''</p><p style="text-align: center">'''(brief)'''</p> | ||
| style="width: | | style="width: 290px; text-align: center" | '''Operation'''<br/> | ||
| style="width: | | style="width: 118px; text-align: center" | '''Notes''' | ||
| style="width: 118px; text-align: center | | style="width: 118px; text-align: center" | '''Pressure Circuit''' | ||
|- | |||
| 0 | |||
| Drivetrain | |||
| style="width: 75px" | Single Solenoid | |||
| style="width: 51px" | SY3140-6LZ | |||
| style="width: 211px" | shifter LOW (default high) | |||
| style="width: 290px" | shifts down | |||
| style="width: 118px" | double action cylinder (vented no action) | |||
| style="width: 118px" | A (4 total, 40-60 psi tbd) | |||
|- | |- | ||
| 1 | | 1 | ||
| | | Drivetrain<br/> | ||
| style="width: 75px | | style="width: 75px" | Single Solenoid<br/> | ||
| style="width: 51px | | style="width: 51px" | SY3140-6LZ<br/> | ||
| style="width: | | style="width: 211px" | strafing wheel DOWN (default up)<br/> | ||
| style="width: | | style="width: 290px" | lowers strafing wheel<br/> | ||
| style="width: | | style="width: 118px" | single action, spring retract cylinder (vented up) | ||
| style="width: 118px | | style="width: 118px" | B (3 total, 20-60 psi tbd) | ||
|- | |- | ||
| 2 | | 2 | ||
| | | Stabilizer<br/> | ||
| style="width: 75px | | style="width: 75px" | Single Solenoid<br/> | ||
| style="width: 51px | | style="width: 51px" | SY3140-6LZ | ||
| style="width: | | style="width: 211px" | Stabilizer Gripper IN (default out)<br/> | ||
| style="width: | | style="width: 290px" | closes stabilizer<br/> | ||
| style="width: | | style="width: 118px" | double action cylinder (vented no action)<br/> | ||
| style="width: 118px | | style="width: 118px" | A | ||
|- | |- | ||
| 3 | | 3 | ||
| | | Lifter<br/> | ||
| style="width: 75px | | style="width: 75px" | Single Solenoid<br/> | ||
| style="width: 51px | | style="width: 51px" | SY3140-6LZ<br/> | ||
| style="width: | | style="width: 211px" | Lifter brake OPEN (default locked)<br/> | ||
| style="width: | | style="width: 290px" | pnuematic cylinder engages bicycle brake to lock lift elevator<br/> | ||
| style="width: | | style="width: 118px" | double action cylinder (vented open, spring on brake)<br/> | ||
| style="width: 118px | | style="width: 118px" | A | ||
|- | |- | ||
| 4 | | 4 | ||
| < | | <br/> | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 51px | | style="width: 51px" | | ||
| style="width: | | style="width: 211px" | <br/> | ||
| style="width: | | style="width: 290px" | <br/> | ||
| style="width: | | style="width: 118px" | <br/> | ||
| style="width: 118px | | style="width: 118px" | <br/> | ||
|- | |- | ||
| 5 | | 5 | ||
| | | <br/> | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 51px | | style="width: 51px" | <br/> | ||
| style="width: | | style="width: 211px" | <br/> | ||
| style="width: | | style="width: 290px" | <br/> | ||
| style="width: | | style="width: 118px" | <br/> | ||
| style="width: 118px | | style="width: 118px" | <br/> | ||
|- | |- | ||
| 6 | | 6 | ||
| < | | <br/> | ||
| style="width: 75px | | style="width: 75px" | <br/> | ||
| style="width: 51px | | style="width: 51px" | | ||
| style="width: | | style="width: 211px" | <br/> | ||
| style="width: | | style="width: 290px" | <br/> | ||
| style="width: | | style="width: 118px" | <br/> | ||
| style="width: 118px | | style="width: 118px" | <br/> | ||
|- | |- | ||
| 7 | | 7 | ||
| | | | ||
| style="width: 75px | | style="width: 75px" | | ||
| style="width: 51px | | style="width: 51px" | <br/> | ||
| style="width: | | style="width: 211px" | <br/> | ||
| style="width: 290px" | <br/> | |||
| style="width: 290px | | style="width: 118px" | | ||
| style="width: 118px | | style="width: 118px" | <br/> | ||
| | |||
| style="width: | |||
|} | |} | ||
= Operator Controls = | = Operator Controls = | ||
There are two drive modes: | |||
*'''Porcupine''' | |||
*'''Arcade''' | |||
== Joystick 1/Left == | == Joystick 1/Left == | ||
{| | {| style="width: 661px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''Button/Axis''' | | '''Button/Axis''' | ||
| style="width: 158px; text-align: center | | style="width: 158px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 281px; text-align: center;" | '''Operation''' | | style="width: 281px; text-align: center" | '''Operation '''(Porcupine)<br/> | ||
| style="width: 119px; text-align: center | | style="width: 281px; text-align: center" | '''Operation''' (Arcade)<br/> | ||
| style="width: 119px; text-align: center" | '''Notes''' | |||
|- | |- | ||
| Y-Axis | | Y-Axis | ||
| style="width: 158px | | style="width: 158px" | 6Move Forward/Backward | ||
| style="width: 281px | | style="width: 281px" | | ||
<span style="line-height: 20.79px | <span style="line-height: 20.79px">Corresponds to forward motion of left side</span> (unless #3 is pressed) | ||
| style="width: 119px | | style="width: 281px" | Moves whole robot forward<br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| X-Axis | | X-Axis | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | Corresponds to 1/2 of lateral robot motion<br/> | ||
| style="width: 119px | | style="width: 281px" | Moves whole robot sideways (right is right)<br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 1/trigger | | 1/trigger | ||
| style="width: 158px | | style="width: 158px" | Shift | ||
| style="width: 281px | | colspan="2" rowspan="1" style="width: 281px" | On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed. <br/> | ||
| style="width: 119px | | style="width: 119px" | | ||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 158px | | style="width: 158px" | Raise center wheel<br/> | ||
| style="width: 281px | | colspan="2" rowspan="1" style="width: 281px" | | ||
| style="width: 119px | On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa. | ||
| style="width: 119px" | | |||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 158px | | style="width: 158px" | Straight<br/> | ||
| style="width: 281px | | style="width: 281px" | Drive straight forward and back with ''only Y axis of left joystick''<br/> | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 7 | | 7 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | <br/> | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 8 | | 8 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | <br/> | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 9 | | 9 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | <br/> | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 10 | | 10 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | <br/> | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 11 | | 11 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| 12 | | 12 | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|- | |- | ||
| Z-axis | | Z-axis | ||
| style="width: 158px | | style="width: 158px" | | ||
| style="width: 281px | | style="width: 281px" | | ||
| style="width: 119px | | style="width: 281px" | <br/> | ||
| style="width: 119px" | | |||
|} | |} | ||
== Joystick 2/Right == | == Joystick 2/Right == | ||
{| | {| style="width: 666px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''Button/Axis''' | | '''Button/Axis''' | ||
| style="width: 141px; text-align: center | | style="width: 141px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 280px; text-align: center;" | '''Operation''' | | style="width: 280px; text-align: center" | '''Operation''' (Porcupine)<br/> | ||
| style="width: 142px; text-align: center | | style="width: 280px; text-align: center" | '''Operation''' (Arcade)<br/> | ||
| style="width: 142px; text-align: center" | '''Notes''' | |||
|- | |- | ||
| | | Y-axis | ||
| style="width: 141px | | style="width: 141px" | Move Forward/Backward | ||
| style="width: 280px | | style="width: 280px" | | ||
<span style="line-height: 20.79px | <span style="line-height: 20.79px">Corresponds to forward motion of right side</span> (unless #3 is on left Joystick is pressed) | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| | | X-axis | ||
| style="width: 141px | | style="width: 141px" | Move Left/Right | ||
| style="width: 280px | | style="width: 280px" | Corresponds to 1/2 of lateral robot motion<br/> | ||
| style="width: 142px | | style="width: 280px" | X axis determines rotation (around robot center, unless #4,#5 are pressed)<br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 1 | | 1 | ||
| style="width: 141px | | style="width: 141px" | Shift | ||
| style="width: 280px | | colspan="2" rowspan="1" style="width: 280px" | <span style="line-height: 20.7999992370605px">On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed.</span><br/> | ||
| style="width: 142px | | style="width: 142px" | | ||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 141px | | style="width: 141px" | Raise center wheel | ||
| style="width: 280px | | colspan="2" rowspan="1" style="width: 280px" | On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa.<br/> | ||
| style="width: 142px | | style="width: 142px" | | ||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 141px | | style="width: 141px" | Signal<br/> | ||
| style="width: 280px | | style="width: 280px" | <br/>When pressed, make the lights blink to signal to the human player<br/> | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 141px | | style="width: 141px" | Pivot over left<br/> | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | While pressed, center of rotation is halfway on left side<br/> | ||
| style="width: 142px" | <br/> | |||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 141px | | style="width: 141px" | Pivot over right<br/> | ||
| style="width: 280px | | style="width: 280px" | <br/> | ||
| style="width: 142px | | style="width: 280px" | While pressed, center of rotation is halfway on right side<br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 7 | | 7 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 8 | | 8 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 9 | | 9 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 10 | | 10 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 11 | | 11 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| 12 | | 12 | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|- | |- | ||
| Z-axis | | Z-axis | ||
| style="width: 141px | | style="width: 141px" | | ||
| style="width: 280px | | style="width: 280px" | | ||
| style="width: 142px | | style="width: 280px" | <br/> | ||
| style="width: 142px" | | |||
|} | |} | ||
== Joystick 3 == | == Joystick 3 == | ||
{| | {| style="width: 666px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''Button/Axis''' | | '''Button/Axis''' | ||
| style="width: 140px; text-align: center | | style="width: 140px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 292px; text-align: center | | style="width: 292px; text-align: center" | '''Operation'''<br/> | ||
| style="width: 131px; text-align: center | | style="width: 131px; text-align: center" | '''Notes'''<br/> | ||
|- | |||
| X-axis | |||
| style="width: 140px" | | |||
| style="width: 292px" | <br/> | |||
| style="width: 131px" | | |||
|- | |||
| Y-axis | |||
| style="width: 140px" | Move up/down | |||
| style="width: 292px" | Raise/lower grips, if '''Level 3 Preset''' not being pressed. This controls speed of movement.<br/> | |||
| style="width: 131px" | Forward is down, back pulls up | |||
|- | |- | ||
| 1/trigger | | 1/trigger | ||
| style="width: 140px | | style="width: 140px" | Close lower grips | ||
| style="width: 292px | | style="width: 292px" | | ||
Closes the grips while this button is being pressed. Grips stop moving when this button and button #2 are both released. | Closes the grips while this button is being pressed. Grips stop moving when this button and button #2 are both released. | ||
| style="width: 131px | | style="width: 131px" | <br/> | ||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 140px | | style="width: 140px" | Open lower grips | ||
| style="width: 292px | | style="width: 292px" | Opens the grips while this button is being pressed (and button #1 is released). Grips stop moving when this button and button #1 are both released. | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 140px | | style="width: 140px" | Level 3 Preset | ||
| style="width: 292px | | style="width: 292px" | Raise grips high enough to be above 2 totes (i.e. 2 tote stack created by human player at human player station). Grips raise and stay raised while the button is being pressed. While being pressed, the Y-axis is ignored. When button is released, Y-axis controls grip height. | ||
| style="width: 131px | | style="width: 131px" | <br/> | ||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 140px | | style="width: 140px" | <br/>TBD - RC gripper<br/> | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 140px | | style="width: 140px" | TBD - RC gripper | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 140px | | style="width: 140px" | Opens Stabilizer Arms | ||
| style="width: 292px | | style="width: 292px" | compress pistons to open arms when pressed | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 7 | | 7 | ||
| style="width: 140px | | style="width: 140px" | Closes Stabilizer Arms | ||
| style="width: 292px | | style="width: 292px" | extend pistons to close arms when pressed | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 8 | | 8 | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 9 | | 9 | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 10 | | 10 | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 11 | | 11 | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|- | |- | ||
| 12 | | 12 | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | <br/> | ||
|- | |- | ||
| Z-axis | | Z-axis | ||
| style="width: 140px | | style="width: 140px" | | ||
| style="width: 292px | | style="width: 292px" | | ||
| style="width: 131px | | style="width: 131px" | | ||
|} | |} | ||
== Joystick 4/LaunchPad == | == Joystick 4/LaunchPad == | ||
{| | {| style="width: 671px" border="1" cellpadding="2" cellspacing="1" | ||
|- | |- | ||
| '''Button/Axis''' | | '''Button/Axis'''<br/> | ||
| style="width: 172px; text-align: center | | style="width: 172px; text-align: center" | '''Description'''<br/>(brief) | ||
| style="width: 277px; text-align: center | | style="width: 277px; text-align: center" | '''Operation''' | ||
| style="width: 119px; text-align: center | | style="width: 119px; text-align: center" | '''Notes''' | ||
|- | |- | ||
| 1 | | 1 | ||
| style="width: 172px | | style="width: 172px" | Auto 'main'<br/> | ||
| style="width: 277px | | style="width: 277px" | Active when 3-way Auto switch is 'up'. This will pick the hard coded/defined auto mode. | ||
| style="width: 119px | | style="width: 119px" | | ||
|- | |- | ||
| 2 | | 2 | ||
| style="width: 172px | | style="width: 172px" | Auto 'dashboard' | ||
| style="width: 277px | | style="width: 277px" | Active when 3-way Auto switch is 'down'. This will indicate that the auto mode selected in the Dashboard is to be used. | ||
| style="width: 119px | | style="width: 119px" | | ||
|- | |- | ||
| 3 | | 3 | ||
| style="width: 172px | | style="width: 172px" | Broken #1 | ||
| style="width: 277px | | style="width: 277px" | | ||
Lift position sensors broken | |||
| style="width: 119px | | style="width: 119px" | left-most switch on top row | ||
|- | |- | ||
| 4 | | 4 | ||
| style="width: 172px | | style="width: 172px" | Broken #2 | ||
| style="width: 277px | | style="width: 277px" | Gripper position sensors broken<br/> | ||
| style="width: 119px | | style="width: 119px" | located to the right of Broken #1 | ||
|- | |- | ||
| 5 | | 5 | ||
| style="width: 172px | | style="width: 172px" | Broken #3 | ||
| style="width: 277px | | style="width: 277px" | enable arcade drive (has priority over #4)<br/> | ||
| style="width: 119px | | style="width: 119px" | located to the left of Broken #4 | ||
|- | |- | ||
| 6 | | 6 | ||
| style="width: 172px | | style="width: 172px" | Broken #4 | ||
| style="width: 277px | | style="width: 277px" | future<br/> | ||
| style="width: 119px | | style="width: 119px" | right-most switch on top row<br/> | ||
|- | |- | ||
| 7 | | 7 | ||
| style="width: 172px | | style="width: 172px" | Broken #5 | ||
| style="width: 277px | | style="width: 277px" | future<br/> | ||
| style="width: 119px | | style="width: 119px" | left-most switch on bottom row | ||
|- | |- | ||
| 8 | | 8 | ||
| style="width: 172px | | style="width: 172px" | Broken #6 | ||
| style="width: 277px | | style="width: 277px" | set alternate camera<br/> | ||
| style="width: 119px | | style="width: 119px" | located to the right of Broken #5<br/> | ||
|- | |- | ||
| 9 | | 9 | ||
| style="width: 172px | | style="width: 172px" | Broken #7 | ||
| style="width: 277px | | style="width: 277px" | future | ||
| style="width: 119px | | style="width: 119px" | located to the left of Broken #8 | ||
|- | |- | ||
| 10 | | 10 | ||
| style="width: 172px | | style="width: 172px" | Broken #8 | ||
| style="width: 277px | | style="width: 277px" | future<br/> | ||
| style="width: 119px | | style="width: 119px" | Right-most switch on bottom row<br/> | ||
|} | |||
{| style="width: 500px" border="1" cellpadding="1" cellspacing="1" | |||
|- | |||
| Output Byte | |||
| Is 1 If and Only If... | |||
| Notes | |||
|- | |||
| 1 | |||
| Autonomous Mode is active (either disabled or running) | |||
| <br/> | |||
|- | |||
| 2 | |||
| TeleOperated Mode is active (either disabled or running) | |||
| <br/> | |||
|- | |||
| 3 | |||
| The alliance color is Red | |||
| <br/> | |||
|- | |||
| 4 | |||
| The drive is in pure tank/pure strafe mode | |||
| <br/> | |||
|- | |||
| 5 | |||
| The drive is in arcade mode | |||
| <br/> | |||
|- | |||
| 6 | |||
| The drive is in porcupine mode | |||
| <br/> | |||
|- | |||
| 7 | |||
| The FMS is attached | |||
| <br/> | |||
|- | |||
| 8 | |||
| The Roborio has declared brownout | |||
| <br/> | |||
|- | |||
| 9 | |||
| The alliance color is in an indeterminate state | |||
| <br/> | |||
|- | |||
| 10 | |||
| The Driver Station is Enabled (Either Auto, Tele, Test is running) | |||
| <br/> | |||
|- | |||
| 11 | |||
| We are in station 1 or 3 (false=station 2 or invalid) | |||
| <br/> | |||
|- | |||
| 12 | |||
| We are in station 2 or 3 (false=station 1 or invalid) | |||
| <br/> | |||
|- | |||
| 13 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 14 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 15 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 16 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 17 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 18 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 19 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 20 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 21 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 22 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 23 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 24 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 25 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 26 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 27 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 28 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 29 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 30 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 31 | |||
| <br/> | |||
| <br/> | |||
|- | |||
| 32 | |||
| <br/> | |||
| <br/> | |||
|} | |||
== SmartDashboard == | |||
{| style="width: 1014px" border="1" cellpadding="1" cellspacing="1" | |||
|- | |||
| '''Screen'''<br/> | |||
| Description (brief) | |||
| style="width: 174px" | Operation | |||
| style="width: 458px" | Notes | |||
| style="width: 150px" | Variable Name | |||
| style="width: 91px" | Data Type | |||
|- | |||
| Main | |||
| Camera Feed | |||
| style="width: 174px" | Direct feed from the camera | |||
| style="width: 458px" | -- | |||
| style="width: 150px" | -- | |||
| style="width: 91px" | -- | |||
|- | |||
| Main | |||
| Auto Choice | |||
| style="width: 174px" | Will be used to control which autononomous mode is used. | |||
| style="width: 458px" | The auto mode should only be able to be changed if the three way switch is in the down position. | |||
| style="width: 150px" | auto_choice | |||
| style="width: 91px" | double | |||
|- | |||
| Main | |||
| Auto Switch Position | |||
| style="width: 174px" | Will be used to determine if autononomous mode from dashboard is used. | |||
| style="width: 458px" | The auto mode should only be able to be changed in the dashboard if the three way switch is in the down position. | |||
| style="width: 150px" | auto_switch | |||
| style="width: 91px" | double | |||
|- | |||
| Main | |||
| Gripper Position | |||
| style="width: 174px" | A meter used to show the position of the grippers. | |||
| style="width: 458px" | Will show a percent as a label, 0% means closed and 100% means fully opened. | |||
| style="width: 150px" | gripper_position | |||
| style="width: 91px" | | |||
double | |||
|- | |||
| Main | |||
| Lifter Position | |||
| style="width: 174px" | A meter used to show the position of the lifter. | |||
| style="width: 458px" | <span style="line-height: 20.7999992370605px">Will show a percent as a label, 0% means home position and 100% means the lifter is at full height.</span><br/> | |||
| style="width: 150px" | lifter_position | |||
| style="width: 91px" | | |||
double | |||
|- | |||
| Main | |||
| Auto Mode Description | |||
| style="width: 174px" | Describes the currently selected auto mode. | |||
| style="width: 458px" | -- | |||
| style="width: 150px" | auto_description | |||
| style="width: 91px" | string | |||
|} | |} | ||
Latest revision as of 16:53, 7 March 2015
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | RESERVED | n/a |
Factory-default allows for adding CTRE devices quickly and re-assign its ID |
don't use | ||
1 | RESERVED | n/a | Factory-default allows for adding Jaguar quickly and re-assign its ID |
don't use | ||
2 | drivetrain | motor | CIM | Left Front Drive | ||
3 | drivetrain | motor | CIM | Left Rear Drive | ||
4 | drivetrain | motor | CIM | Right Front Drive | ||
5 | drivetrain | motor | CIM | Right Rear Drive | ||
6 | drivetrain | motor | CIM | Strafe | unclear on how to activate this motor | |
7 | lifter | motor | RS775 | Left lifter | ||
8 | lifter | motor | RS775 | Right lifter | ||
9 | gripper | motor | RS550 | Gripper/Motor | ||
10 | ||||||
11 | ||||||
12 | ||||||
13 | ||||||
14 | ||||||
15 | pnuematics | PCM module |
N/A |
Stabilizer, Shifter, Strafing | address spaces for Jaguars, SRXs, PCM, and PDP are all separate. We are limited to one PDP, and will need only one PCM | |
0 | power dist. | PD module |
N/A |
Power Distribution Readback | Must be 0 (WPILib has no easy way to use another ID). We'll only ever have one |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Notes |
0 | ||||||
1 | ||||||
2 | ||||||
3 | ||||||
4 | ||||||
5 | ||||||
6 | ||||||
7 | ||||||
8 | ||||||
9 |
Relay Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | ||||||
1 | ||||||
2 | ||||||
3 |
Analog IO
RoboRIO Analog Inputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes |
0 | drivetrain | gyro | ADW22307 | drivetrain gyro rot feedback |
X & Y orientation used in Autonomous. (no temp correction needed within our bounds) |
2.5 V center (σ, 0.007 V/deg/sec (0.0069 to 0.0074 within ± 1σ) | New Part Number: Datasheet |
1 | |||||||
2 | |||||||
3 |
Rev Robotics More Board Analog IO
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes |
AIN0 | |||||||
AIN1 | |||||||
AIN2 | |||||||
AIN3 | |||||||
AOUT0 | |||||||
AOUT1 |
Digital IO (GPIO)
RoboRio IO
ID | Direction (IN/OUT) |
Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | IN | drivetrain | Encoder | 63R256 | Left Encoder, Phase A | Drivetrain rotation - calculate Position measurement | |
1 | IN |
- |
- | - | Left Encoder, Phase B |
B-channel | May not be present |
2 | IN | drivetrain | Encoder | 63R256 | Right Encoder, Phase A | Drivetrain rotation - calculate Position measurement |
|
3 | IN | - |
- | - | Right Encoder, Phase B |
B-channel |
May not be present |
4 | IN | lifter | Encoder | 63R256 | Lifter Encoder, Phase A | Lifter drive rotation - calculate Height Zeroed with Lifter Flag Sensor. Channel A | |
5 | IN |
- |
- | - | Lifter Encoder, Phase B |
B-channel |
|
6 | IN | lifter | Flag Sensor | OPB815 | Home Position At Bottom | Lower position | |
7 | IN | gripper | Encoder | 63R256 | Gripper Encoder, Phase A | Gripper drive rotation - calculate Position | |
8 | IN | - | - | - | Gripper Encoder, Phase B | B-channel | |
9 | IN | gripper | Flag Sensor | OPB815 | Home Gripper Position A | Inner position home flag (Primary) |
Rev Robotics More Board IO
ID | Direction (IN/OUT) | Subsystem | Component Type | Model # | Description (brief) | Operation |
Notes |
0 | IN |
gripper |
Banner |
Q10AN6R | Gripper Tote Detection |
Beam break sensor to check for tote presence |
sensor open collector output. pullup in roborio |
1 | IN |
lifter |
Flag |
OPB815 | Lift encoder high flag |
Lifter upper flag, for safety and to help calibration |
|
2 | IN |
gripper |
Flag Sensor |
OPB815 | Home Gripper Position B |
Inner position Backup |
|
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 | |||||||
11 | |||||||
12 | |||||||
13 | |||||||
14 | |||||||
15 |
I2C Registers
Address (e.g. 0100111X) |
Pin (e.g. GP0) |
Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 |
SPI Devices
# |
Subsystem | Component Type |
Model # | Description (brief) | Operation |
Notes |
kOnBoardCS0 | drivetrain | accelerometer | ADXL345 |
accelerometer, right by the gyro |
to improve autonomous drive code |
|
USB Host Ports
Address |
Subsystem | Component Type |
Model # | Description (brief) | Operation |
Notes |
0 | Camera | Camera | HD-3000 | USB camera | Facing down from top of lifter. Helps with tote + alignment in auto, driver, maybe for semiauto | |
1 | Logging | USB Stick | ? | USB Stick to log info | record match and state information at high rate, for postmortem match analysis |
Pneumatics Control Module
ID | Subsystem | Component Type |
Model # |
Description (brief) |
Operation |
Notes | Pressure Circuit |
0 | Drivetrain | Single Solenoid | SY3140-6LZ | shifter LOW (default high) | shifts down | double action cylinder (vented no action) | A (4 total, 40-60 psi tbd) |
1 | Drivetrain |
Single Solenoid |
SY3140-6LZ |
strafing wheel DOWN (default up) |
lowers strafing wheel |
single action, spring retract cylinder (vented up) | B (3 total, 20-60 psi tbd) |
2 | Stabilizer |
Single Solenoid |
SY3140-6LZ | Stabilizer Gripper IN (default out) |
closes stabilizer |
double action cylinder (vented no action) |
A |
3 | Lifter |
Single Solenoid |
SY3140-6LZ |
Lifter brake OPEN (default locked) |
pnuematic cylinder engages bicycle brake to lock lift elevator |
double action cylinder (vented open, spring on brake) |
A |
4 | |||||||
5 | |||||||
6 | |||||||
7 |
Operator Controls
There are two drive modes:
- Porcupine
- Arcade
Joystick 1/Left
Button/Axis | Description (brief) |
Operation (Porcupine) |
Operation (Arcade) |
Notes |
Y-Axis | 6Move Forward/Backward |
Corresponds to forward motion of left side (unless #3 is pressed) |
Moves whole robot forward |
|
X-Axis | Corresponds to 1/2 of lateral robot motion |
Moves whole robot sideways (right is right) |
||
1/trigger | Shift | On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed. |
||
2 | Raise center wheel |
On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa. |
||
3 | Straight |
Drive straight forward and back with only Y axis of left joystick |
||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
11 | ||||
12 | ||||
Z-axis |
Joystick 2/Right
Button/Axis | Description (brief) |
Operation (Porcupine) |
Operation (Arcade) |
Notes |
Y-axis | Move Forward/Backward |
Corresponds to forward motion of right side (unless #3 is on left Joystick is pressed) |
||
X-axis | Move Left/Right | Corresponds to 1/2 of lateral robot motion |
X axis determines rotation (around robot center, unless #4,#5 are pressed) |
|
1 | Shift | On button press shifts to high gear. On release, shifts to low gear. Only one trigger needs to be pressed. |
||
2 | Raise center wheel | On state transitions from no #2 buttons pressed to one or more #2 buttons pressed, the center wheel toggles from up to down and vica versa. |
||
3 | Signal |
When pressed, make the lights blink to signal to the human player |
||
4 | Pivot over left |
While pressed, center of rotation is halfway on left side |
||
5 | Pivot over right |
While pressed, center of rotation is halfway on right side |
||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
11 | ||||
12 | ||||
Z-axis |
Joystick 3
Button/Axis | Description (brief) |
Operation |
Notes |
X-axis | |||
Y-axis | Move up/down | Raise/lower grips, if Level 3 Preset not being pressed. This controls speed of movement. |
Forward is down, back pulls up |
1/trigger | Close lower grips |
Closes the grips while this button is being pressed. Grips stop moving when this button and button #2 are both released. |
|
2 | Open lower grips | Opens the grips while this button is being pressed (and button #1 is released). Grips stop moving when this button and button #1 are both released. | |
3 | Level 3 Preset | Raise grips high enough to be above 2 totes (i.e. 2 tote stack created by human player at human player station). Grips raise and stay raised while the button is being pressed. While being pressed, the Y-axis is ignored. When button is released, Y-axis controls grip height. | |
4 | TBD - RC gripper |
||
5 | TBD - RC gripper | ||
6 | Opens Stabilizer Arms | compress pistons to open arms when pressed |
|
7 | Closes Stabilizer Arms | extend pistons to close arms when pressed | |
8 | |||
9 | |||
10 | |||
11 | |||
12 | |||
Z-axis |
Joystick 4/LaunchPad
Button/Axis |
Description (brief) |
Operation | Notes |
1 | Auto 'main' |
Active when 3-way Auto switch is 'up'. This will pick the hard coded/defined auto mode. | |
2 | Auto 'dashboard' | Active when 3-way Auto switch is 'down'. This will indicate that the auto mode selected in the Dashboard is to be used. | |
3 | Broken #1 |
Lift position sensors broken |
left-most switch on top row |
4 | Broken #2 | Gripper position sensors broken |
located to the right of Broken #1 |
5 | Broken #3 | enable arcade drive (has priority over #4) |
located to the left of Broken #4 |
6 | Broken #4 | future |
right-most switch on top row |
7 | Broken #5 | future |
left-most switch on bottom row |
8 | Broken #6 | set alternate camera |
located to the right of Broken #5 |
9 | Broken #7 | future | located to the left of Broken #8 |
10 | Broken #8 | future |
Right-most switch on bottom row |
Output Byte | Is 1 If and Only If... | Notes |
1 | Autonomous Mode is active (either disabled or running) | |
2 | TeleOperated Mode is active (either disabled or running) | |
3 | The alliance color is Red | |
4 | The drive is in pure tank/pure strafe mode | |
5 | The drive is in arcade mode | |
6 | The drive is in porcupine mode | |
7 | The FMS is attached | |
8 | The Roborio has declared brownout | |
9 | The alliance color is in an indeterminate state | |
10 | The Driver Station is Enabled (Either Auto, Tele, Test is running) | |
11 | We are in station 1 or 3 (false=station 2 or invalid) | |
12 | We are in station 2 or 3 (false=station 1 or invalid) | |
13 | ||
14 | ||
15 | ||
16 | ||
17 | ||
18 | ||
19 | ||
20 | ||
21 | ||
22 | ||
23 | ||
24 | ||
25 | ||
26 | ||
27 | ||
28 | ||
29 | ||
30 | ||
31 | ||
32 |
SmartDashboard
Screen |
Description (brief) | Operation | Notes | Variable Name | Data Type |
Main | Camera Feed | Direct feed from the camera | -- | -- | -- |
Main | Auto Choice | Will be used to control which autononomous mode is used. | The auto mode should only be able to be changed if the three way switch is in the down position. | auto_choice | double |
Main | Auto Switch Position | Will be used to determine if autononomous mode from dashboard is used. | The auto mode should only be able to be changed in the dashboard if the three way switch is in the down position. | auto_switch | double |
Main | Gripper Position | A meter used to show the position of the grippers. | Will show a percent as a label, 0% means closed and 100% means fully opened. | gripper_position |
double |
Main | Lifter Position | A meter used to show the position of the lifter. | Will show a percent as a label, 0% means home position and 100% means the lifter is at full height. |
lifter_position |
double |
Main | Auto Mode Description | Describes the currently selected auto mode. | -- | auto_description | string |