2020:Robot IO Map: Difference between revisions
Programming (talk | contribs) (Added Helix LED to PWM 3) |
Programming (talk | contribs) No edit summary |
||
(16 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
= Robot I/O = | = Robot I/O = | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Line 10: | Line 11: | ||
== CAN ID Assignments == | == CAN ID Assignments == | ||
{| | {| border="1" cellpadding="2" cellspacing="1" style="width: 855px" | ||
|- | |- | ||
| style="text-align: center" | '''ID''' | | style="text-align: center" | '''ID''' | ||
| style="text-align: center" | '''Subsystem''' | | style="text-align: center" | '''Subsystem''' | ||
| <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p> | | <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p> | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | '''Model #''' | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | '''Brake or Coast?''' | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | '''Description'''<br/> (brief) | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | '''Operation''' | ||
| colspan="2" rowspan="1" style="width: 175px; | | colspan="2" rowspan="1" style="width: 175px; text-align: center" | | ||
'''Notes''' | '''Notes''' | ||
Line 28: | Line 29: | ||
| style="text-align: center" | Electrica'''l''' | | style="text-align: center" | Electrica'''l''' | ||
| <p style="text-align: center">PD Module</p> | | <p style="text-align: center">PD Module</p> | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Power Distribution Module feedback | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | monitor PD | ||
| style="width: 115px" | <p style="text-align: center">must be CAN 0</p> | | style="width: 115px" | <p style="text-align: center">must be CAN 0</p> | ||
| style="width: 55px" | | | style="width: 55px" | | ||
Line 38: | Line 39: | ||
| style="text-align: center" | '''RESERVED''' | | style="text-align: center" | '''RESERVED''' | ||
| style="text-align: center" | n/a | | style="text-align: center" | n/a | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Factory-default<br/> allows for adding new device quickly and re-assign its ID | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | don't use | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | 2 | | style="text-align: center" | 2 | ||
| style="text-align: center" | Intake | | style="text-align: center" | Intake | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | | ||
Pivots intake in/out of robot | Pivots intake in/out of robot | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
30A | 30A | ||
Using integrated encoder | Using integrated encoder | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 4 | ||
|- | |- | ||
| style="text-align: center" | 3 | | style="text-align: center" | 3 | ||
| style="text-align: center" | Intake | | style="text-align: center" | Intake | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | | ||
Spins "beater bars" | Spins "beater bars" | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | 30A | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 5 | ||
|- | |- | ||
| style="text-align: center" | 4 | | style="text-align: center" | 4 | ||
| style="text-align: center" | Storage | | style="text-align: center" | Storage | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Agitates balls up the corkscrew | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | 30A | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 6 | ||
|- | |- | ||
| style="text-align: center" | 5 | | style="text-align: center" | 5 | ||
| style="text-align: center" | Storage | | style="text-align: center" | Storage | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Feeds balls into shooter | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | 30A | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 7 | ||
|- | |- | ||
| style="text-align: center" | 6 | | style="text-align: center" | 6 | ||
| style="text-align: center" | Shooter | | style="text-align: center" | Shooter | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Spins left shooting motor | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
40A | 40A | ||
Line 107: | Line 108: | ||
-: in | -: in | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 12 | ||
|- | |- | ||
| style="text-align: center" | 7 | | style="text-align: center" | 7 | ||
| style="text-align: center" | Shooter | | style="text-align: center" | Shooter | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Spins right shooting motor | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
40A | 40A | ||
Line 127: | Line 128: | ||
-: out | -: out | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 2 | ||
|- | |- | ||
| style="text-align: center" | 8 | | style="text-align: center" | 8 | ||
| style="text-align: center" | Turret | | style="text-align: center" | Turret | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Rotates turret | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | 30A | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 9 | ||
|- | |- | ||
| style="text-align: center" | 9 | | style="text-align: center" | 9 | ||
| style="text-align: center" | WoF | | style="text-align: center" | WoF | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Rotates Wheel of Fortune | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | 20A | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 11 | ||
|- | |- | ||
| style="text-align: center" | 10 | | style="text-align: center" | 10 | ||
| style="text-align: center" | Hang | | style="text-align: center" | Hang | ||
| style="text-align: center" | Spark max | | style="text-align: center" | Spark max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Winches robot up | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
40A | 40A | ||
Using integrated encoder | Using integrated encoder | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 13 | ||
|- | |- | ||
| style="text-align: center" | 11 | | style="text-align: center" | 11 | ||
| style="text-align: center" | Shooter | | style="text-align: center" | Shooter | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | ? | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | Primer wheel | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | Feeds into the shooter | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
+: in | +: in | ||
-: out | -: out | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | 8 | ||
|- | |- | ||
| 12 | | 12 | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="text-align: center; | | style="text-align: center; width: 112px" | | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | | ||
| style="width: 224px; | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | | ||
|- | |- | ||
| 13 | | 13 | ||
Line 193: | Line 194: | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 70px; | | style="width: 70px; text-align: center" | | ||
| style="width: 110px; | | style="width: 110px; text-align: center" | | ||
| style="width: 224px" | | | style="width: 224px" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | | ||
|- | |- | ||
| 14 | | 14 | ||
Line 206: | Line 207: | ||
| style="width: 110px" | | | style="width: 110px" | | ||
| style="width: 224px" | | | style="width: 224px" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | | ||
|- | |- | ||
| 15 | | 15 | ||
Line 216: | Line 217: | ||
| style="width: 110px" | | | style="width: 110px" | | ||
| style="width: 224px" | | | style="width: 224px" | | ||
| style="width: 115px; | | style="width: 115px; text-align: center" | | ||
| style="width: 55px; | | style="width: 55px; text-align: center" | | ||
|} | |} | ||
</div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div></div> <div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div></div></div> | </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div></div> <div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div></div></div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Line 282: | Line 283: | ||
|- | |- | ||
| style="width: 15px" | 3 | | style="width: 15px" | 3 | ||
| style="width: 70px" | | | style="width: 70px" | | ||
| style="width: 76px" | | | style="width: 76px" | | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | | ||
| style="width: 148px" | | | style="width: 148px" | | ||
| style="width: 280px" | | | style="width: 280px" | | ||
| style="width: 125px" | | | style="width: 125px" | | ||
| style="width: 72px" | | | style="width: 72px" | | ||
|- | |- | ||
| style="width: 15px" | 4 | | style="width: 15px" | 4 | ||
| style="width: 70px" | | | style="width: 70px" | Driver LEDs | ||
| style="width: 76px" | LED | | style="width: 76px" | LED | ||
| style="width: 94px" | LED | | style="width: 94px" | LED | ||
| style="width: 167px; text-align: center" | Gives connection to | | style="width: 167px; text-align: center" | Gives connection to Driver Interface LEDs | ||
| style="width: 148px" | Allows drivers to see power cell count from back of robot | | style="width: 148px" | Allows drivers to see power cell count from the front/back of robot | ||
| style="width: 280px" | N/A | | style="width: 280px" | N/A | ||
| style="width: 125px" | 20A (via voltage regulator) | | style="width: 125px" | 20A (via voltage regulator) | ||
Line 389: | Line 390: | ||
| | ||
<div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div></div></div></div></div> | <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div></div></div></div></div></div></div> | ||
== Relay Outputs == | == Relay Outputs == | ||
Line 440: | Line 441: | ||
== Analog IO == | == Analog IO == | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
=== <u>RoboRIO Analog Inputs</u> === | === <u>RoboRIO Analog Inputs</u> === | ||
{| | {| style="width: 1030px" cellspacing="1" cellpadding="2" border="1" | ||
|- | |- | ||
| ID | | ID | ||
| style="text-align: center" | Subsystem | | style="text-align: center" | Subsystem | ||
| style="width: 70px" | <p style="text-align: center">Component</p> <p style="text-align: center">Type</p> | | 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: 54px; text-align: center" | Model # | ||
| style="width: 227px; text-align: center" | Description<br/> (brief) | | style="width: 227px; text-align: center" | Description<br/> (brief) | ||
| style="width: 262px; text-align: center" | Operation | | style="width: 262px; text-align: center" | Operation | ||
| style="width: 132px; text-align: center" | | | style="width: 132px; text-align: center" | | ||
Voltage | Voltage | ||
Range | Range | ||
| style="width: 91px; text-align: center" | Notes | | style="width: 91px; text-align: center" | Notes | ||
|- | |- | ||
| 0 | | 0 | ||
| | | Drive Base | ||
| style="width: 70px" | | | style="width: 70px" | Gyro | ||
| style="width: 54px" | | | style="width: 54px" | ADW22307 | ||
| style="width: 227px" | | | style="width: 227px" | Located on center axis underneath the helix | ||
| style="width: 262px" | | | style="width: 262px" | Tells where the drive base is looking by degrees (for autonomous) | ||
| style="width: 132px" | | | style="width: 132px" | 7mV/degree | ||
| style="width: 91px; text-align: center" | | | style="width: 91px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | 1 | | style="text-align: center" | 1 | ||
| style="text-align: center" | | | style="text-align: center" | Shooter | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | Potentiometer | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | Bournes 3547S-1AA-103A | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | Located on the output of the hood servo | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Tells the angle of the hood | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | | ||
| | | | ||
|- | |- | ||
| style="text-align: center" | 2 | | style="text-align: center" | 2 | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | | ||
| | | | ||
|- | |- | ||
| style="text-align: center" | 3 | | style="text-align: center" | 3 | ||
| style="text-align: center" | | | style="text-align: center" | | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | | ||
| | | | ||
|} | |} | ||
</div> <div class="mw-parser-output"> | </div> <div class="mw-parser-output"> </div> </div> | ||
=== <u>More Board Analog Inputs</u> === | === <u>More Board Analog Inputs</u> === | ||
Line 554: | Line 557: | ||
== Digital IO (GPIO) == | == Digital IO (GPIO) == | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | |||
=== <u>RoboRio IO</u> === | === <u>RoboRio IO</u> === | ||
Line 585: | Line 589: | ||
|- | |- | ||
| style="text-align: center" | 1 | | style="text-align: center" | 1 | ||
| style="text-align: center" | IN | |||
| style="width: 69px; text-align: center" | | |||
| style="width: 122px; text-align: center" | | |||
| style="width: 139px; text-align: center" | | |||
| style="width: 193px; text-align: center" | | |||
| style="width: 223px; text-align: center" | | |||
| |||
| style="width: 231px; text-align: center" | | |||
| |||
|- | |||
| style="text-align: center" | 2 | |||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | Storage | | style="width: 69px; text-align: center" | Storage | ||
Line 595: | Line 612: | ||
0 = Ball not present | 0 = Ball not present | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
Line 683: | Line 689: | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|} | |} | ||
<div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div> | <div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div></div> | ||
=== <u>Rev Robotics More Board IO</u> === | === <u>Rev Robotics More Board IO</u> === | ||
Line 1,085: | Line 1,092: | ||
<div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | ||
<div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
= Robot Lights Reference = | |||
* When '''Disabled''': | |||
** Front Lights - Shows status of DIGITAL sensors, one sensor per row. Each row is GREEN for sensor not tripped, RED for when it is tripped. | |||
*** Row 4 (top row): Shooter game piece exit sensor | |||
*** Row 3: Helix-shooter game piece transition sensor | |||
*** Row 2: Intake game piece count sensor | |||
*** Row 1: Intake pivot zeroing sensor | |||
*** Row 0: Hanger zeroing sensor | |||
* When '''Enabled''': | |||
** Red X: Ball count indeterminate | |||
** Otherwise, one row is lit from bottom to top for each game piece in robot | |||
= Operator Controls = | = Operator Controls = | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
Line 1,091: | Line 1,111: | ||
[[Media:DisableXbox.docx|DisableXbox.docx]] | [[Media:DisableXbox.docx|DisableXbox.docx]] | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | |||
=== Controller 1 - Primary Driver === | === Controller 1 - Primary Driver === | ||
{| | {| style="width: 908px" cellspacing="1" cellpadding="2" border="1" | ||
|- | |- | ||
| style="width: 92px" | ''' Button/Axis #''' | | style="width: 92px" | ''' Button/Axis #''' | ||
Line 1,100: | Line 1,122: | ||
| '''Details''' | | '''Details''' | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-1 | | style="width: 92px; text-align: center" | A-1 | ||
| style="width: 414px" | Left Joystick Y | | style="width: 414px" | Left Joystick Y | ||
| | | | ||
Tank mode: left side drive motors forward/reverse | |||
Arcaded mode: robot moves foward/reverse | |||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-1 | | style="width: 92px; text-align: center" | A-1 | ||
| style="width: 414px" | Left Joystick X | | style="width: 414px" | Left Joystick X | ||
| | | | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-4 | | style="width: 92px; text-align: center" | A-4 | ||
| style="width: 414px" | Right Joystick Y | | style="width: 414px" | Right Joystick Y | ||
| | | Tank mode: right side drive motors foward/reverse | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-4 | | style="width: 92px; text-align: center" | A-4 | ||
| style="width: 414px" | Right Joystick X | | style="width: 414px" | Right Joystick X | ||
| | | Arcade mode: robot moves left/right | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-6 | | style="width: 92px; text-align: center" | B-6 | ||
| style="width: 414px" | Right Bumper | | style="width: 414px" | Right Bumper | ||
| | | Right side drive motors: Slow | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-5 | | style="width: 92px; text-align: center" | B-5 | ||
| style="width: 414px" | Left Bumper | | style="width: 414px" | Left Bumper | ||
| | | Left side drive motors: Slow | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-3 | | style="width: 92px; text-align: center" | A-3 | ||
| style="width: 414px" | Right Trigger | | style="width: 414px" | Right Trigger | ||
| | | Right side drive motors: Turbo | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | A-2 | | style="width: 92px; text-align: center" | A-2 | ||
| style="width: 414px" | Left Trigger | | style="width: 414px" | Left Trigger | ||
| | | Left side drive motors: Turbo | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-1 | | style="width: 92px; text-align: center" | B-1 | ||
| style="width: 414px" | A Button | | style="width: 414px" | A Button | ||
| | | Toggles between tank and arcade mode | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-3 | | style="width: 92px; text-align: center" | B-3 | ||
| style="width: 414px" | X Button | | style="width: 414px" | X Button | ||
| | | | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-4 | | style="width: 92px; text-align: center" | B-4 | ||
| style="width: 414px" | Y Button | | style="width: 414px" | Y Button | ||
| | | Calibrates Gyro | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-2 | | style="width: 92px; text-align: center" | B-2 | ||
| style="width: 414px" | B Button | | style="width: 414px" | B Button | ||
| | | | ||
| | | | ||
|} | |} | ||
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div> | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Controller 2 - Aux Driver === | === Controller 2 - Aux Driver === | ||
Line 1,170: | Line 1,198: | ||
| style="width: 361px" | '''Description''' | | style="width: 361px" | '''Description''' | ||
| style="width: 141px" | '''Details''' | | style="width: 141px" | '''Details''' | ||
|- | |||
| style="text-align: center; width: 91px" | A-0 | |||
| style="width: 286px" | Left Joystick X-Axis | |||
| style="width: 361px" | | |||
| style="width: 141px" | | |||
|- | |- | ||
| style="text-align: center; width: 91px" | A-1 | | style="text-align: center; width: 91px" | A-1 | ||
| style="width: 286px" | Left Joystick Y-Axis | |||
| style="width: 361px" | Shooter manual speed | |||
| style="width: 141px" | Not position-sensative -- accumulates change to speed slowly in whichever direction is held (up slowly increases speed setting, down slowly decreases it) | |||
|- | |||
| style="width: 91px; text-align: center" | A-2 | |||
| style="width: 286px" | Left Trigger | | style="width: 286px" | Left Trigger | ||
| style="width: 361px" | | | style="width: 361px" | Lower and run intake | ||
| style="width: 141px" | Press hold, release to stop | | style="width: 141px" | Press and hold, release to stop. | ||
|- | |- | ||
| style="width: 91px; text-align: center" | A- | | style="width: 91px; text-align: center" | A-3 | ||
| style="width: 286px" | Right Trigger | | style="width: 286px" | Right Trigger | ||
| style="width: 361px" | | | style="width: 361px" | Shoot | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to stop. Shoots when shooter has reached desired speed as long as balls remain in robot. | ||
|- | |- | ||
| style="width: 91px; text-align: center" | A-4 | |||
| style="width: 286px" | Right Joystick X-Axis | |||
| style="width: 361px" | | |||
| style="width: 91px; text-align: center" | A-4 | |||
| style="width: 286px" | Right | |||
| style="width: 361px" | | |||
| style="width: 141px" | | | style="width: 141px" | | ||
| |||
| | ||
|- | |||
| style="width: 91px; text-align: center" | A-5 | |||
| style="width: 286px" | Right Joystick Y-Axis | |||
| style="width: 361px" | | |||
| style="width: 141px" | | |||
|- | |- | ||
| style="width: 91px; text-align: center" | B-1 | | style="width: 91px; text-align: center" | B-1 | ||
| style="width: 286px" | A Button | | style="width: 286px" | A Button | ||
| style="width: 361px" | | | style="width: 361px" | Retract the hanger | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to stop | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-2 | | style="width: 91px; text-align: center" | B-2 | ||
| style="width: 286px" | B button | | style="width: 286px" | B button | ||
| style="width: 361px" | | | style="width: 361px" | Auto-shoot setting: Wall | ||
| style="width: 141px" | | | style="width: 141px" | Single press | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-3 | | style="width: 91px; text-align: center" | B-3 | ||
| style="width: 286px" | X Button | | style="width: 286px" | X Button | ||
| style="width: 361px" | | | style="width: 361px" | Auto-shoot setting: Initiation Line | ||
| style="width: 141px" | | | style="width: 141px" | Single press | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-4 | | style="width: 91px; text-align: center" | B-4 | ||
| style="width: 286px" | Y button | | style="width: 286px" | Y button | ||
| style="width: 361px" | | | style="width: 361px" | Extend the hanger | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to stop | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-5 | | style="width: 91px; text-align: center" | B-5 | ||
| style="width: 286px" | Left bumper | | style="width: 286px" | Left bumper | ||
| style="width: 361px" | | | style="width: 361px" | Outtake game pieces | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to stop | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-6 | | style="width: 91px; text-align: center" | B-6 | ||
| style="width: 286px" | Right bumper | | style="width: 286px" | Right bumper | ||
| style="width: 361px" | | | style="width: 361px" | Pre-heat shooter | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to stop | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-7 | | style="width: 91px; text-align: center" | B-7 | ||
| style="width: 286px" | Back Button | | style="width: 286px" | Back Button | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-8 | | style="width: 91px; text-align: center" | B-8 | ||
| style="width: 286px" | Start Button | | style="width: 286px" | Start Button | ||
| style="width: 361px" | | | style="width: 361px" | Auto-shoot setting: Panel | ||
| style="width: 141px" | press | | style="width: 141px" | Single press | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-9 | | style="width: 91px; text-align: center" | B-9 | ||
| style="width: 286px" | | | style="width: 286px" | Left Stick Pressed | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | | | style="width: 91px; text-align: center" | B-10 | ||
| style="width: 286px" | | | style="width: 286px" | Right Stick Pressed | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | POV- | | style="width: 91px; text-align: center" | POV-0 | ||
| style="width: 286px" | D-pad | | style="width: 286px" | D-pad up | ||
| style="width: 361px" | | | style="width: 361px" | Run Control Panel | ||
| style="width: 141px" | | | style="width: 141px" | Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches | ||
|} | |} | ||
<div class="mw-parser-output"> | |||
=== Controller 3 - Switches on console === | |||
{| style="width: 907px" cellspacing="1" cellpadding="1" border="1" | {| style="width: 907px" cellspacing="1" cellpadding="1" border="1" | ||
Line 1,261: | Line 1,300: | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-1 | | style="width: 92px; text-align: center" | B-1 | ||
| style="width: 112px" | Control Panel Sensor Broken | | style="width: 112px" | Control Panel Sensor Broken | ||
| style="width: 521px" | | | style="width: 521px" | | ||
Line 1,280: | Line 1,308: | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B- | | style="width: 92px; text-align: center" | B-2 | ||
| style="width: 112px" | Intake Pivot Sensor Broken | | style="width: 112px" | Intake Pivot Sensor Broken | ||
| style="width: 521px" | | | style="width: 521px" | | ||
Line 1,287: | Line 1,315: | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B- | | style="width: 92px; text-align: center" | B-3 | ||
| style="width: 112px" | Intake ball counter Broken | | style="width: 112px" | Intake ball counter Broken | ||
| style="width: 521px" | On = broken, don't use this sensor | | style="width: 521px" | On = broken, don't use this sensor | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B- | | style="width: 92px; text-align: center" | B-4 | ||
| style="width: 112px" | Storage-shooter transition counter broken | | style="width: 112px" | Storage-shooter transition counter broken | ||
| style="width: 521px" | On = broken, don't use this sensor | | style="width: 521px" | On = broken, don't use this sensor | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B- | | style="width: 92px; text-align: center" | B-5 | ||
| style="width: 112px" | Shooter ball counter broken | | style="width: 112px" | Shooter ball counter broken | ||
| style="width: 521px" | On = broken, don't use this sensor | | style="width: 521px" | On = broken, don't use this sensor | ||
| style="width: 158px" | | |||
|- | |||
| style="width: 92px; text-align: center" | B-6 | |||
| style="width: 112px" | Control Panel Mode | |||
| style="width: 521px" | | |||
Determines which control panel operation to run | |||
On = rotation | |||
Off = position | |||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-7 | | style="width: 92px; text-align: center" | B-7 | ||
| style="width: 112px" | | | style="width: 112px" | Shoot Manual Speed | ||
| style="width: 521px" | On = | | style="width: 521px" | On = Manual speed control, off = use presets | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-8 | | style="width: 92px; text-align: center" | B-8 | ||
| style="width: 112px" | | | style="width: 112px" | Disable drive "backdrive" | ||
| style="width: 521px" | | | style="width: 521px" | On = Disable backdrive code, off = enable backdrive code | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-9 | | style="width: 92px; text-align: center" | B-9 | ||
| style="width: 112px" | | | style="width: 112px" | Hanger Speed | ||
| style="width: 521px" | | | style="width: 521px" | On = Lift speed, Off = slow speed (test if hooked) | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|} | |} | ||
</div> | |||
</div> | |||
</div> | |||
=== Dashboard === | === Dashboard === | ||
{| | {| border="1" cellpadding="2" cellspacing="1" style="width: 0px" | ||
|- | |- | ||
| '''Key''' | | '''Key''' | ||
Line 1,454: | Line 1,495: | ||
| thunderdashboard_starting_count | | thunderdashboard_starting_count | ||
| number | | number | ||
| 0- | | 0-3 | ||
| editable, set initial count of power cells in robot before auto | | editable, set initial count of power cells in robot before auto | ||
|- | |||
| thunderdashboard_auto_list | |||
| string | |||
| a comma seperated list | |||
| the list of auto modes (e.g. "0,1,2,3,4,5") | |||
|- | |||
| thunderdashboard_auto_# | |||
| string | |||
| any text | |||
| one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5) | |||
|- | |||
| Auto_Mode | |||
| number | |||
| a number from thunderdashboard_auto_list | |||
| the auto mode selected on the UI | |||
|- | |||
| thunderdashboard_auto_start_delay | |||
| number | |||
| | |||
| user selected number of seconds, 0 to 15, to delay start of auto mode | |||
|- | |||
| thunderdashboard_drivearcade | |||
| number | |||
| | |||
0 = tank drive | |||
1 = arcade drive | |||
| what mode drive is using. dashboard will show 'Tank Drive' when in that mode, otherwise nothing is shown | |||
|} | |} | ||
</div> </div> </div> </div></div> </div> </div> </div> </div> </div> | </div> </div> </div> </div></div> </div> </div> </div> </div> </div> </div> </div> </div> | ||
</div> | </div> | ||
Latest revision as of 15:27, 27 February 2021
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Brake or Coast? | Description (brief) |
Operation |
Notes (8) max. 40A PDB # | |
0 | Electrical | PD Module |
Power Distribution Module feedback | monitor PD | must be CAN 0 |
|||
1 | RESERVED | n/a | Factory-default allows for adding new device quickly and re-assign its ID |
don't use | ||||
2 | Intake | Spark Max | Neo 550 | Brake |
Pivots intake in/out of robot |
30A Using integrated encoder |
4 | |
3 | Intake | Spark max | Neo 550 | Coast |
Spins "beater bars" |
30A | 5 | |
4 | Storage | Spark max | Neo 550 | Brake | Agitates balls up the corkscrew | 30A | 6 | |
5 | Storage | Spark max | Neo 550 | Brake | Feeds balls into shooter | 30A | 7 | |
6 | Shooter | Spark max | Neo | Coast | Spins left shooting motor |
40A +: out -: in |
12 | |
7 | Shooter | Spark max | Neo | Coast | Spins right shooting motor |
40A Using integrated encoder. 1 might run in follower mode +: in -: out |
2 | |
8 | Turret | Spark max | Neo 550 | Brake | Rotates turret |
|
30A | 9 |
9 | WoF | Spark max | Neo 550 | Brake | Rotates Wheel of Fortune | 20A | 11 | |
10 | Hang | Spark max | Neo | Brake | Winches robot up |
40A Using integrated encoder |
13 | |
11 | Shooter | Spark Max | Neo | ? | Primer wheel | Feeds into the shooter |
+: in -: out |
8 |
12 | ||||||||
13 | ||||||||
14 | ||||||||
15 |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Brake/Coast |
Notes (8) max. 40A PDB # | |
0 | Hang | Servo |
Hs-322HD |
Engages/disingages ratchet |
|
N/A | ||
1 | Shooter | Servo |
Hs-785HB |
Moves turret hood to increase/decrease shot angle | N/A | |||
2 | ||||||||
3 | ||||||||
4 | Driver LEDs | LED | LED | Gives connection to Driver Interface LEDs | Allows drivers to see power cell count from the front/back of robot | N/A | 20A (via voltage regulator) | 10 |
5 | Wheel of Fortune | Servo | Swing color sensor outside the frame perimeter | |||||
6
|
Drive base
|
Spark Max | Neo | Left front drive motor | Moves left side of robot forwards/backwards | Don't know | 40A | 14 |
7
|
Drive Base | Spark Max | Neo | Left rear drive motor | Don't know | 40A | 15 | |
8 | Drive Base | Spark Max | Neo | Right front drive motor | Moves right side of robot forwards/backwards | Don't know | 40A | 0 |
9
|
Drive Base | Spark Max | Neo | Right Rear drive Motor | Don't know | 40A | 1 | |
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 | Drive Base | Gyro | ADW22307 | Located on center axis underneath the helix | Tells where the drive base is looking by degrees (for autonomous) | 7mV/degree | |
1 | Shooter | Potentiometer | Bournes 3547S-1AA-103A | Located on the output of the hood servo | Tells the angle of the hood | ||
2 | |||||||
3 |
More Board Analog Inputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 |
Digital IO (GPIO)
RoboRio IO
ID | Direction (IN/OUT) |
Subsystem | Component Type |
Model # | Description (brief) |
Operation | Notes |
0 | IN | Intake | Banner Opto | Q10RN6R | Senses Incoming Power Cells |
1 = Ball not present 0 = Ball Present |
w/Q106E emitter, sensor open-collector out |
1 | IN |
|
| ||||
2 | IN | Storage | Allen-Bradley RightSight Prox Sensor | 42EF-D2MPAK-F4 | Senses balls when ready to shoot |
1 = Ball present 0 = Ball not present |
|
3 | IN | Shooter | Banner Opto | Q10RN6R | Senses when a ball is exiting the shooter |
1 = Ball not present 0 = Ball Present |
w/Q106E emitter, sensor open-collector out |
4 | IN | Drive base | Phase A Left Encoder | REV-11-1271 | measures rotation of drive wheels | 2048 cycles per revolution | |
5 | IN | Drive base | Phase B Left Encoder | REV-11-1271 | measures rotation of drive wheels | 2048 cycles per revolution | |
6 | IN | Drive base | Phase A Right Encoder | REV-11-1271 | measures rotation of drive wheels | 2048 cycles per revolution | |
7 | IN | Drive base | Phase B right encoder | REV-11-1271 | measures rotation of drive wheels | 2048 cycles per revolution | |
8 | IN | Intake | Omron Reflective | EE-SPY415 | Senses the presence of the intake mechanism to zero the rotation motor encoder |
1 = not present 0 = present |
|
9 | IN | Hang | Optical Sensor Through-Beam | OPB815WZ | Sense when hanger is all the way retracted | 1 = hanger sensed (all the way down), 0 = hanger not sensed |
Rev Robotics More Board IO
ID | Direction (IN/OUT) | Subsystem | Component Type | Model # | Description (brief) | Operation | Notes |
0 | IN | ||||||
1 | IN | ||||||
2 | IN | ||||||
3 | IN | ||||||
4 | IN | ||||||
5 | IN | ||||||
6 | IN | ||||||
7 | IN | ||||||
8 | IN | ||||||
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 |
0x52 | Wheel of Fortune | Color Sensor | REV-31-1557 | Reads colors of wheel | Provides these channels: Red, Green, Blue, Alpha, and Proximity | ||
SPI Devices
# | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
USB Host Ports
Address | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
0 | ||||||
1 |
Pneumatics Control Modules
PCM ID |
# | Subsystem | Solenoid is Double or Single? |
Solenoid Model # |
Description (brief) |
Operation | Circuit Pressure | PDB # |
1 | 0 | |||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | ||||||||
7 | ||||||||
2 | 0 | |||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 |
Robot Lights Reference
- When Disabled:
- Front Lights - Shows status of DIGITAL sensors, one sensor per row. Each row is GREEN for sensor not tripped, RED for when it is tripped.
- Row 4 (top row): Shooter game piece exit sensor
- Row 3: Helix-shooter game piece transition sensor
- Row 2: Intake game piece count sensor
- Row 1: Intake pivot zeroing sensor
- Row 0: Hanger zeroing sensor
- Front Lights - Shows status of DIGITAL sensors, one sensor per row. Each row is GREEN for sensor not tripped, RED for when it is tripped.
- When Enabled:
- Red X: Ball count indeterminate
- Otherwise, one row is lit from bottom to top for each game piece in robot
Operator Controls
Disable Xbox Controller
Controller 1 - Primary Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Left Joystick Y |
Tank mode: left side drive motors forward/reverse Arcaded mode: robot moves foward/reverse |
|
A-1 | Left Joystick X | ||
A-4 | Right Joystick Y | Tank mode: right side drive motors foward/reverse | |
A-4 | Right Joystick X | Arcade mode: robot moves left/right | |
B-6 | Right Bumper | Right side drive motors: Slow | |
B-5 | Left Bumper | Left side drive motors: Slow | |
A-3 | Right Trigger | Right side drive motors: Turbo | |
A-2 | Left Trigger | Left side drive motors: Turbo | |
B-1 | A Button | Toggles between tank and arcade mode | |
B-3 | X Button | ||
B-4 | Y Button | Calibrates Gyro | |
B-2 | B Button |
Controller 2 - Aux Driver
Button/Axis # | Action/Button | Description | Details |
A-0 | Left Joystick X-Axis | ||
A-1 | Left Joystick Y-Axis | Shooter manual speed | Not position-sensative -- accumulates change to speed slowly in whichever direction is held (up slowly increases speed setting, down slowly decreases it) |
A-2 | Left Trigger | Lower and run intake | Press and hold, release to stop. |
A-3 | Right Trigger | Shoot | Press and hold, release to stop. Shoots when shooter has reached desired speed as long as balls remain in robot. |
A-4 | Right Joystick X-Axis |
| |
A-5 | Right Joystick Y-Axis | ||
B-1 | A Button | Retract the hanger | Press and hold, release to stop |
B-2 | B button | Auto-shoot setting: Wall | Single press |
B-3 | X Button | Auto-shoot setting: Initiation Line | Single press |
B-4 | Y button | Extend the hanger | Press and hold, release to stop |
B-5 | Left bumper | Outtake game pieces | Press and hold, release to stop |
B-6 | Right bumper | Pre-heat shooter | Press and hold, release to stop |
B-7 | Back Button | ||
B-8 | Start Button | Auto-shoot setting: Panel | Single press |
B-9 | Left Stick Pressed | ||
B-10 | Right Stick Pressed | ||
POV-0 | D-pad up | Run Control Panel | Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches |
Controller 3 - Switches on console
Button/Axis # | Action/Button | Description | Details |
B-1 | Control Panel Sensor Broken |
On = broken, run CP manually Off = Working, do whatever is in button 1 |
|
B-2 | Intake Pivot Sensor Broken |
On = broken, zero pivot based solely on startup position |
|
B-3 | Intake ball counter Broken | On = broken, don't use this sensor | |
B-4 | Storage-shooter transition counter broken | On = broken, don't use this sensor | |
B-5 | Shooter ball counter broken | On = broken, don't use this sensor | |
B-6 | Control Panel Mode |
Determines which control panel operation to run On = rotation Off = position |
|
B-7 | Shoot Manual Speed | On = Manual speed control, off = use presets | |
B-8 | Disable drive "backdrive" | On = Disable backdrive code, off = enable backdrive code | |
B-9 | Hanger Speed | On = Lift speed, Off = slow speed (test if hooked) |
Dashboard
Key | Data Type | Value | Description |
thunderdashboard_wheel | number |
0 - do NOT know 1 - Red 2 - Green 3 - Blue 4 - Yellow |
The color the robot's sensor is seeing |
thunderdashboard_wheel_end | number | see thunderdashboard_wheel | The color FMS is asking for in the final stage |
thunderdashboard_shooter_speed | number | 0 - 100 | the speed the shooter is running at: 0 is min and 100 is max |
thunderdashboard_shooter_pos | number | 0 - 360 | the position of the turret, in degrees from home position: 0 is home |
thunderdashboard_shooter_hood | number | 0 - 100 | the position of the hood: 0 is down, 100 is completely up |
thunderdashboard_hang_pos | number |
0 - 100 |
the position of the arm, for hang: 0 is full retracted, 100 is full extended |
thunderdashboard_hang_lock | number |
0 - hang ratched is not locked 1 - hang ratched is locked |
indicates whether the ratchet, for hang, is engaged or not |
thunderdashboard_intake_pos | number |
0 - intake is down (deployed) 1 - intake is up (retracted) |
indicates whether the intake is up or not |
thunderdashboard_ballcount | number | -1 - do not know
0 - 5 |
Number of balls (game pieces) the robot thinks it has |
thunderdashboard_gyro | number |
0 - dashboard background not based on this 1 - dashboard background goes red |
used when: gyro is calibrating |
thunderdashboard_yellow | number |
0 - dashboard background not based on this 1 - dashboard background goes yellow |
used when: TBD NOTE: thunderdashboard_gyro takes precedence |
thunderdashboard_green | number |
0 - dashboard background not based on this 1 - dashboard background goes green |
used when: TBD NOTE: thunderdashboard_gyro takes precendence |
thunderdashboard_inpitmode | number |
0 = dashboard background not based on this 1 = dashboard background is power blue |
used when: robot is operating in 'pit mode' (for safer operatin in the pits) NOTE: thunderdashboard_gyro takes precendence |
thunderdashboard_max | number |
0 = show normal 1 = fills screen |
whether to fill the laptop screen with the dashboard or not |
thunderdashboard_starting_count | number | 0-3 | editable, set initial count of power cells in robot before auto |
thunderdashboard_auto_list | string | a comma seperated list | the list of auto modes (e.g. "0,1,2,3,4,5") |
thunderdashboard_auto_# | string | any text | one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5) |
Auto_Mode | number | a number from thunderdashboard_auto_list | the auto mode selected on the UI |
thunderdashboard_auto_start_delay | number | user selected number of seconds, 0 to 15, to delay start of auto mode | |
thunderdashboard_drivearcade | number |
0 = tank drive 1 = arcade drive |
what mode drive is using. dashboard will show 'Tank Drive' when in that mode, otherwise nothing is shown |