2022:Robot IO Map: Difference between revisions
Programming (talk | contribs) Tag: visualeditor |
|||
(70 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== CAN ID Assignments == | == CAN ID Assignments == | ||
{| border="1" cellpadding="2" cellspacing="1" style="width: | {| border="1" cellpadding="2" cellspacing="1" style="width: 1100px" | ||
|- | |- | ||
| style="text-align: center" | '''ID''' | | style="text-align: center" | '''ID''' | ||
Line 22: | Line 11: | ||
| style="width: 224px; text-align: center" | '''Operation''' | | style="width: 224px; text-align: center" | '''Operation''' | ||
| colspan="2" rowspan="1" style="width: 175px; text-align: center" | | | colspan="2" rowspan="1" style="width: 175px; text-align: center" | | ||
''' | '''PD Board Info''' | ||
'''(8) max. 40A PDB #''' | '''(8) max. 40A PDB #''' | ||
|'''General Notes''' | |||
|- | |- | ||
| style="text-align: center" | 0 | | style="text-align: center" | 0 | ||
Line 36: | Line 25: | ||
| 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" | | ||
| | |||
|- | |- | ||
| style="text-align: center" | 1 | | style="text-align: center" | 1 | ||
Line 46: | Line 36: | ||
| style="width: 115px; text-align: center" | don't use | | style="width: 115px; text-align: center" | don't use | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | | ||
| | |||
|- | |- | ||
| style="text-align: center" | 2 | | style="text-align: center" | 2 | ||
| style="text-align: center" | | | style="text-align: center" | Hang | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Winch robot up | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 40A, | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 13 | ||
|[https://www.revrobotics.com/rev-11-1271/ REV Through Bore Encoder] attached directly to SPARK | |||
|- | |- | ||
| style="text-align: center" | 3 | | style="text-align: center" | 3 | ||
| style="text-align: center" | | | style="text-align: center" | Intake | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Get ball into robot (Stage 1) | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" |30A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 6 | ||
| | |||
|- | |- | ||
| style="text-align: center" | 6 | | style="text-align: center" | 6 | ||
| style="text-align: center" | | | style="text-align: center" | Shooter/Storage | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Transition motor to go into fly wheels (Stage 2) | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 20A/30A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 7 | ||
| | |||
|- | |- | ||
| style="text-align: center" | 7 | | style="text-align: center" | 7 | ||
| style="text-align: center" | | | style="text-align: center" | Shooter | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Left side fly wheel | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 40A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" |2 | ||
|Using Integrated Encoder | |||
|- | |- | ||
| style="text-align: center" | 8 | | style="text-align: center" |8 | ||
| style="text-align: center" | | | style="text-align: center" |Shooter | ||
| style="text-align: center" | | | style="text-align: center" |Spark Max | ||
| style="text-align: center | | style="text-align: center" |Neo | ||
| style=" | | style="text-align: center" |Brake | ||
| style=" | | style="text-align: center" |Right side fly wheel | ||
| style=" | | style="text-align: center" | | ||
| style=" | | style="text-align: center" |40A | ||
| style=" | | style="text-align: center" |3 | ||
|Using Integrated Encoder | |||
|- | |- | ||
| style="text-align: center" | 9 | | style="text-align: center" | 9 | ||
| style="text-align: center" | | | style="text-align: center" | Drive | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Front left drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 40A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 0 | ||
|Using Integrated Encoder | |||
|- | |- | ||
| style="text-align: center" | 10 | | style="text-align: center" | 10 | ||
| style="text-align: center" | | | style="text-align: center" | Drive | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Back left drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 40A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 1 | ||
|Using Integrated Encoder | |||
|- | |- | ||
| style="text-align: center" | 11 | | style="text-align: center" | 11 | ||
| style="text-align: center" | | | style="text-align: center" | Drive | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Back right drive motor | ||
| style="width: 224px; text-align: center" | | |||
| style="width: 115px; text-align: center" | 40A | |||
| style="width: 55px; text-align: center" | 14 | |||
|Using Integrated Encoder | |||
|- | |||
| style="text-align: center" | 12 | |||
| style="text-align: center" | Drive | |||
| style="text-align: center" | Spark Max | |||
| style="text-align: center; width: 112px" | Neo | |||
| style="width: 70px; text-align: center" | Coast | |||
| style="width: 110px; text-align: center" | Front right drive motor | |||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 40A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 15 | ||
|Using Integrated Encoder | |||
|- | |||
| 13 | |||
| style="text-align: center" | Drive | |||
| style="text-align: center" | Spark Max | |||
| style="text-align: center; width: 112px" | Neo 550 | |||
| style="width: 70px; text-align: center" | Coast | |||
| style="width: 110px; text-align: center" | Front left turning motor | |||
| style="width: 224px; text-align: center" | | |||
| style="width: 115px; text-align: center" | 20A | |||
| style="width: 55px; text-align: center" | 4 | |||
|Using Integrated Encoder | |||
|- | |- | ||
| | | style="text-align: center" | 14 | ||
| style="text-align: center" | | | style="text-align: center" | Drive | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="width: 112px; text-align: center" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Coast | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Back left turning motor | ||
| style="width: 224px; text-align: center" | | |||
| style="width: 115px; text-align: center" | 20A | |||
| style="width: 55px; text-align: center" | 5 | |||
|Using Integrated Encoder | |||
|- | |||
| style="text-align: center" | 15 | |||
| style="text-align: center" | Drive | |||
| style="text-align: center" | Spark Max | |||
| style="width: 112px; text-align: center" | Neo 550 | |||
| style="width: 70px; text-align: center" | Coast | |||
| style="width: 110px; text-align: center" | Back right turning motor | |||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 20A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | 10 | ||
|Using Integrated Encoder | |||
|- | |||
| style="text-align: center" | 16 | |||
| style="text-align: center" | Drive | |||
| style="text-align: center" | Spark Max | |||
| style="width: 112px; text-align: center" | Neo 550 | |||
| style="width: 70px; text-align: center" | Coast | |||
| style="width: 110px; text-align: center" | Front right turning motor | |||
| style="width: 224px; text-align: center" | | |||
| style="width: 115px; text-align: center" | 20A | |||
| style="width: 55px; text-align: center" |11 | |||
|Using Integrated Encoder | |||
|- | |||
| style="text-align: center" |17 | |||
| style="text-align: center" |Drive | |||
| style="text-align: center" |Encoder | |||
| style="text-align: center" |CANCoder | |||
| style="text-align: center" |N/A | |||
| style="text-align: center" |Front left absolute encoder | |||
| | |||
| | |||
|N/A | |||
| | |||
|- | |||
| style="text-align: center" |18 | |||
| style="text-align: center" |Drive | |||
| style="text-align: center" |Encoder | |||
| style="text-align: center" |CANCoder | |||
| style="text-align: center" |N/A | |||
| style="text-align: center" |Back left absolute encoder | |||
| | |||
| | |||
|N/A | |||
| | |||
|- | |||
| style="text-align: center" |19 | |||
| style="text-align: center" |Drive | |||
| style="text-align: center" |Encoder | |||
| style="text-align: center" |CANCoder | |||
| style="text-align: center" |N/A | |||
| style="text-align: center" |Back right absolute encoder | |||
| | |||
| | |||
|N/A | |||
| | |||
|- | |||
| style="text-align: center" |20 | |||
| style="text-align: center" |Drive | |||
| style="text-align: center" |Encoder | |||
| style="text-align: center" |CANCoder | |||
| style="text-align: center" |N/A | |||
| style="text-align: center" |Front right absolute encoder | |||
| | |||
| | |||
|N/A | |||
| | |||
|} | |||
<div class="mw-parser-output"><div class="mw-parser-output"> </div> | |||
{| class="wikitable" | |||
|+PDB Assignments | |||
!Port # | |||
!Device (Subteam) | |||
!Breaker Value | |||
!Max Current | |||
|- | |||
|0 | |||
|Neo (Drive) | |||
|40 A | |||
|40 A | |||
|- | |||
|1 | |||
|Neo (Drive) | |||
|40 A | |||
|40 A | |||
|- | |||
|2 | |||
|Neo (Shooter) | |||
|40 A | |||
|40 A | |||
|- | |||
|3 | |||
|Neo (Shooter) | |||
|40 A | |||
|40 A | |||
|- | |||
|4 | |||
|Neo 550 (Drive) | |||
|20A | |||
|30A | |||
|- | |||
|5 | |||
|Neo 550 (Drive) | |||
|20A | |||
|30A | |||
|- | |||
|6 | |||
|Neo 550 (Intake {Stage 1}) | |||
|30A | |||
|30A | |||
|- | |||
|7 | |||
|Neo 550 (Shooter/Storage {Stage 2}) | |||
|20A/30A | |||
|30A | |||
|- | |||
|8 | |||
|Limelight | |||
|20A | |||
|30A | |||
|- | |||
|9 | |||
|PCM (#2)? | |||
|20A | |||
|30A | |||
|- | |||
|10 | |||
|Neo 550 (Drive) | |||
|20A | |||
|30A | |||
|- | |||
|11 | |||
|Neo 550 (Drive) | |||
|20A | |||
|30A | |||
|- | |||
|12 | |||
| | |||
| | |||
|40A | |||
|- | |- | ||
| 13 | |13 | ||
| | |Neo (Hang) | ||
|40A | |||
|40A | |||
| | |||
| | |||
|- | |- | ||
| 14 | |14 | ||
| | |Neo (Drive) | ||
| | |40A | ||
| | |40A | ||
|- | |- | ||
| 15 | |15 | ||
| | |Neo (Drive) | ||
| | |40A | ||
| | |40A | ||
|} | |} | ||
</div> | </div> <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> </div> </div> </div> </div> <div class="mw-parser-output"> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Line 213: | Line 343: | ||
|- | |- | ||
| style="width: 15px" | 0 | | style="width: 15px" | 0 | ||
| style="width: 70px" | | | style="width: 70px" | Hang | ||
| style="width: 76px" | | | style="width: 76px" | Servo | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | Ratchet and Pawl | ||
| 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" | 1 | | style="width: 15px" | 1 | ||
| style="width: 70px" | | | style="width: 70px" | Shooter | ||
| style="width: 76px" | | | style="width: 76px" | Servo | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | hood servo | ||
| 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" | 2 | | style="width: 15px" | 2 | ||
| style="width: 70px" | | | style="width: 70px" | Blinky Blinky | ||
| style="width: 76px" | | | style="width: 76px" | LED | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | Illumination | ||
| style="width: 148px" | | | style="width: 148px" | | ||
| style="width: 280px" | | | style="width: 280px" | | ||
Line 243: | Line 373: | ||
|- | |- | ||
| style="width: 15px" | 3 | | style="width: 15px" | 3 | ||
| style="width: 70px" | | | style="width: 70px" | Hang | ||
| style="width: 76px" | | | style="width: 76px" | Servo | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | String Thing (left) | ||
| style="width: 148px" | | | style="width: 148px" | | ||
| style="width: 280px" | | | style="width: 280px" | | ||
Line 253: | Line 383: | ||
|- | |- | ||
| style="width: 15px" | 4 | | style="width: 15px" | 4 | ||
| style="width: 70px" | | | style="width: 70px" | Hang | ||
| style="width: 76px" | | | style="width: 76px" | Servo | ||
| style="width: 94px" | | | style="width: 94px" | | ||
| style="width: 167px; text-align: center" | | | style="width: 167px; text-align: center" | String Thing (right) | ||
| style="width: 148px" | | | style="width: 148px" | | ||
| style="width: 280px" | | | style="width: 280px" | | ||
| style="width: 125px" | | | style="width: 125px" | | ||
| style="width: 72px" | | | style="width: 72px" | | ||
Line 308: | Line 438: | ||
| 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; text-align: center" | | | style="width: 125px; text-align: center" | | ||
| style="width: 72px; text-align: center" | | | style="width: 72px; text-align: center" | | ||
|- | |- | ||
| style="width: 15px" | | | style="width: 15px" | 10 | ||
| style="width: 70px" | | | style="width: 70px" | | ||
| style="width: 76px" | | | style="width: 76px" | | ||
Line 322: | Line 452: | ||
| style="width: 72px" | | | style="width: 72px" | | ||
|- | |- | ||
| style="width: 15px" | | | style="width: 15px" | 11 | ||
| style="width: 70px" | | | style="width: 70px" | | ||
| style="width: 76px" | | | style="width: 76px" | | ||
Line 334: | Line 464: | ||
| | ||
<div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> | <div class="mw-parser-output"><div class="mw-parser-output"> </div> </div> </div> <div class="mw-parser-output"> </div> | ||
== Relay Outputs == | == Relay Outputs == | ||
Line 382: | Line 512: | ||
| | ||
<div class="mw-parser-output"> | |||
== 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"> | ||
Line 404: | Line 534: | ||
|- | |- | ||
| 0 | | 0 | ||
| | | Shooter | ||
| style="width: 70px" | | | style="width: 70px" | Potentiometer | ||
| style="width: 54px" | | | style="width: 54px" | [https://www.bourns.com/docs/Product-Datasheets/3547.pdf Bourns 3-Turn] | ||
| style="width: 227px" | | [https://www.bourns.com/docs/Product-Datasheets/3548.pdf Bourns 5-Turn] | ||
| style="width: 262px" | | | style="width: 227px" | Used for hood to show where it is | ||
| style="width: 262px" | Tells the angle for the hood | |||
| style="width: 132px" | | | style="width: 132px" | | ||
| style="width: 91px; text-align: center" | | | style="width: 91px; text-align: center" | Need to know how many rotations??? | ||
|- | |- | ||
| style="text-align: center" | 1 | | style="text-align: center" | 1 | ||
Line 496: | Line 627: | ||
| | ||
</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"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Line 516: | Line 647: | ||
|- | |- | ||
| style="text-align: center" | 0 | | style="text-align: center" | 0 | ||
| style="text-align: center" | IN | |||
| style="width: 69px; text-align: center" | Hang | |||
| style="width: 122px; text-align: center" | Flag sensor | |||
| style="width: 139px; text-align: center" | [https://www.ttelectronics.com/TTElectronics/media/ProductFiles/Datasheets/OPB815.pdf OPB815WZ] | |||
| style="width: 193px; text-align: center" | Tell if hang is all the way in | |||
| style="width: 223px; text-align: center" | 0 = out, 1 = in | |||
| style="width: 231px; text-align: center" | Power From RoboRio, Requires Pullup | |||
|- | |||
| style="text-align: center" | 1 | |||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| 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="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 2 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | Storage | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | Banner Optical | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E] | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Sees when a ball is at stage one | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | 1 = Ball present | ||
0 = Ball not present | |||
| style="width: 231px; text-align: center" | Requires 12V and Pullup | |||
| style="width: 231px; text-align: center" | | |||
|- | |- | ||
| style="text-align: center" | 3 | | style="text-align: center" | 3 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | Storage | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | Banner Optical | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E] | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Sees when a ball is at stage two | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | 1 = Ball present | ||
| style="width: 231px; text-align: center" | | |||
0 = Ball not present | |||
| style="width: 231px; text-align: center" |Requires 12V and Pullup | |||
|- | |- | ||
| style="text-align: center" | 4 | | style="text-align: center" | 4 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | Shooter | |||
| style="width: 122px; text-align: center" | Banner Optical | |||
| style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E] | |||
| style="width: 193px; text-align: center" | Counts balls that leave the robot | |||
| style="width: 223px; text-align: center" | 1 = Ball present | |||
0 = Ball not present | |||
| style="width: 231px; text-align: center" | Requires 12V and Pullup | |||
|- | |||
| style="text-align: center" | 5 | |||
| 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" | | ||
Line 562: | Line 705: | ||
| 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="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 6 | ||
| 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" | | ||
Line 573: | Line 716: | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 7 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
Line 580: | Line 723: | ||
| 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="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 8 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
Line 591: | Line 734: | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 9 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
Line 600: | Line 743: | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | | | style="text-align: center" | 10 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | | ||
Line 785: | Line 928: | ||
| style="text-align: center" | 0x52 | | style="text-align: center" | 0x52 | ||
| style="width: 37px; text-align: center" | | | style="width: 37px; text-align: center" | | ||
| style="width: 76px; text-align: center" | | | style="width: 76px; text-align: center" | | ||
| style="width: 75px; text-align: center" | | | style="width: 75px; text-align: center" | | ||
| style="width: 53px; text-align: center" | | | style="width: 53px; text-align: center" | | ||
| style="width: 205px; text-align: center" | | | style="width: 205px; text-align: center" | | ||
| style="width: 241px; text-align: center" | | | style="width: 241px; text-align: center" | | ||
| style="width: 112px" | | | style="width: 112px" | | ||
|- | |- | ||
Line 845: | Line 988: | ||
| style="width: 241px" | | | style="width: 241px" | | ||
| style="width: 112px" | | | style="width: 112px" | | ||
|} | |} | ||
== SPI Devices == | == SPI Devices == | ||
Line 859: | Line 1,002: | ||
| style="width: 112px; text-align: center" | '''Notes''' | | style="width: 112px; text-align: center" | '''Notes''' | ||
|- | |- | ||
| style="text-align: center" | 0 | |||
| style=" | | style="width: 76px; text-align: center" | Drive | ||
| style="width: | | style="width: 75px; text-align: center" | IMU | ||
| style="width: | | style="width: 53px; text-align: center" | ADIS16470 IMU | ||
| style="width: | | style="width: 205px; text-align: center" | A 3d gyro and accelerometer | ||
| style="width: 241px; text-align: center" | Tells the rotation for swerve drive | |||
| style="width: | | style="width: 112px; text-align: center" | | ||
| style="width: | |||
| style="width: | |||
|} | |} | ||
Line 888: | Line 1,024: | ||
|- | |- | ||
| 0 | | 0 | ||
| style="width: 76px" | | | style="width: 76px" | Vision | ||
| style="width: 75px" | | | style="width: 75px" | USB Camera | ||
| style="width: 53px" | | | style="width: 53px" | Microsoft LifeCam HD-3000 | ||
| style="width: 205px" | | | style="width: 205px" | The intake camera | ||
| style="width: 241px" | | | style="width: 241px" | Shows the drivers a view of the intake and is used for vision processing in autonomous mode | ||
| style="width: 112px" | | | style="width: 112px" | | ||
|- | |- | ||
Line 906: | Line 1,042: | ||
== Pneumatics Control Modules == | == Pneumatics Control Modules == | ||
{| border="1" cellpadding="2" cellspacing="1" style="width: 931px" | {| class="wikitable" border="1" cellpadding="2" cellspacing="1" style="width: 931px" | ||
|- | |- | ||
| style="width: 8px" | | | style="width: 8px" | | ||
Line 922: | Line 1,058: | ||
| style="width: 118px; text-align: center" | '''PDB #''' | | style="width: 118px; text-align: center" | '''PDB #''' | ||
|- | |- | ||
| rowspan="8" style="width: 8px" | 1 | | rowspan="8" style="width: 8px; text-align: center" | 1 | ||
| style="width: 1px" | 0 | | style="width: 1px" | 0 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" | Intake | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | Intake not deployed | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | extend piston to retract intake | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
| rowspan="8" style="width: 118px" | | | rowspan="8" style="width: 118px; text-align: center" | Dedicated Output | ||
|- | |- | ||
| style="width: 1px" | 1 | | style="width: 1px; text-align: center" | 1 | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | Intake deployed | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | retract piston to extend/deploy intake | ||
|- | |- | ||
| style="width: 1px" | 2 | | style="width: 1px; text-align: center" | 2 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" style="text-align: center" | Hang (Lower pivot pistons) | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | pivot arm to stored position | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
|- | |- | ||
| style="width: 1px" | 3 | | style="width: 1px; text-align: center" | 3 | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | pivot arm to bar | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position | ||
|- | |- | ||
| style="width: 1px" | 4 | | style="width: 1px; text-align: center" | 4 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" style="text-align: center"| Hang (Upper pivot pistons) | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | pivot arm to stored position | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
|- | |- | ||
| style="width: 1px" | 5 | | style="width: 1px; text-align: center" | 5 | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | pivot arm to bar | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position | ||
|- | |- | ||
| style="width: 1px" | 6 | | style="width: 1px; text-align: center" | 6 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" style="text-align: center"| | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
|- | |- | ||
| style="width: 1px" | 7 | | style="width: 1px; text-align: center" | 7 | ||
| style="width: 183px" | | | style="width: 183px; text-align: center" | | ||
| style="width: 290px" | | | style="width: 290px; text-align: center" | | ||
|- | |- | ||
| colspan="1" rowspan="6" style="width: 8px" | 2 | | colspan="1" rowspan="6" style="width: 8px; text-align: center" | 2 | ||
| style="width: 1px" | 0 | | style="width: 1px; text-align: center" | 0 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" | Hang | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px" | | | style="width: 183px" | Only used if lower pressure is needed | ||
| style="width: 290px" | | | style="width: 290px" | | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px" | | ||
| colspan="1" rowspan="6" style="width: 118px" | | | colspan="1" rowspan="6" style="width: 118px" | 9 | ||
|- | |- | ||
| style="width: 1px" | 1 | | style="width: 1px" | 1 | ||
| style="width: 183px" | | | style="width: 183px" | Only used if lower pressure is needed | ||
| style="width: 290px" | | | style="width: 290px" | | ||
|- | |- | ||
| style="width: 1px" | 2 | | style="width: 1px" | 2 | ||
| colspan="1" rowspan="2" | | | colspan="1" rowspan="2" | Hang | ||
| colspan="1" rowspan="2" style="width: 75px" | | | colspan="1" rowspan="2" style="width: 75px" | Double | ||
| colspan="1" rowspan="2" style="width: 64px" | | | colspan="1" rowspan="2" style="width: 64px" | | ||
| style="width: 183px" | | | style="width: 183px" | Only used if lower pressure is needed | ||
| style="width: 290px" | | | style="width: 290px" | | ||
| colspan="1" rowspan="2" style="width: 118px" | | | colspan="1" rowspan="2" style="width: 118px" | | ||
|- | |- | ||
| style="width: 1px" | 3 | | style="width: 1px" | 3 | ||
| style="width: 183px" | | | style="width: 183px" | Only used if lower pressure is needed | ||
| style="width: 290px" | | | style="width: 290px" | | ||
|- | |- | ||
| style="width: 1px" | 4 | | style="width: 1px" | 4 | ||
Line 1,010: | Line 1,146: | ||
| style="width: 290px" | | | style="width: 290px" | | ||
|} | |} | ||
= Robot Lights Reference = | = Robot Lights Reference = | ||
TBD if lights on 2022 robot | |||
* When '''Disabled''': | * When '''Disabled''': | ||
** | ** TBD | ||
* When '''Enabled''': | * When '''Enabled''': | ||
** | ** TBD | ||
= Operator Controls = | = Operator Controls = | ||
Line 1,029: | Line 1,159: | ||
=== Disable Xbox Controller === | === Disable Xbox Controller === | ||
[[Media:DisableXbox.docx|DisableXbox.docx]] | [[index.php?title=Media:DisableXbox.docx|DisableXbox.docx]] | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Line 1,045: | Line 1,175: | ||
| style="width: 414px" | Left Joystick Y | | style="width: 414px" | Left Joystick Y | ||
| | | | ||
| | | | ||
|- | |- | ||
Line 1,058: | Line 1,184: | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
Line 1,098: | Line 1,224: | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
Line 1,126: | Line 1,252: | ||
| 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: 286px" | Left Joystick Y-Axis | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | A-2 | | style="width: 91px; text-align: center" | A-2 | ||
| style="width: 286px" | Left Trigger | | style="width: 286px" | Left Trigger | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | A-3 | | style="width: 91px; text-align: center" | A-3 | ||
| style="width: 286px" | Right Trigger | | style="width: 286px" | Right Trigger | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | A-4 | | style="width: 91px; text-align: center" | A-4 | ||
| style="width: 286px" | Right Joystick X-Axis | | style="width: 286px" | Right Joystick X-Axis | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
| | ||
Line 1,155: | Line 1,281: | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-7 | | style="width: 91px; text-align: center" | B-7 | ||
Line 1,190: | Line 1,316: | ||
| 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" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-9 | | style="width: 91px; text-align: center" | B-9 | ||
Line 1,205: | Line 1,331: | ||
| style="width: 91px; text-align: center" | POV-0 | | style="width: 91px; text-align: center" | POV-0 | ||
| style="width: 286px" | D-pad up | | style="width: 286px" | D-pad up | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|} | |} | ||
Line 1,220: | Line 1,346: | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-1 | | style="width: 92px; text-align: center" | B-1 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-2 | | style="width: 92px; text-align: center" | B-2 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-3 | | style="width: 92px; text-align: center" | B-3 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-4 | | style="width: 92px; text-align: center" | B-4 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-5 | | style="width: 92px; text-align: center" | B-5 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-6 | | style="width: 92px; text-align: center" | B-6 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| 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" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| 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" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| 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" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|} | |} | ||
Line 1,287: | Line 1,401: | ||
| '''Data Type''' | | '''Data Type''' | ||
| '''Value''' | | '''Value''' | ||
| style="width: | | style="width: 1000px" | '''Description''' | ||
|- | |- | ||
| | | thunderdashboard_alliance | ||
| number | | number | ||
| | | | ||
0 | 0 - Red | ||
1 - Blue | |||
| | | Alliance we are one | ||
|- | |- | ||
| | | thunderdashboard_stage1 | ||
| number | | number | ||
| | | 0 - not blocked | ||
| | 1 - blocked | ||
| Stage 1 sensor blocked? | |||
|- | |- | ||
| | | thunderdashboard_stage2 | ||
| number | | number | ||
| 0 - | | 0 - not blocked | ||
| | 1 - blocked | ||
| Stage 2 sensor blocked? | |||
|- | |- | ||
| | |thunderdashboard_ballcount | ||
| number | |number | ||
| 0 - | | -1 - don't know | ||
| the | 0 to 9 - number of balls | ||
|how many balls are in the robot | |||
|- | |- | ||
| thunderdashboard_shooter_hood | | thunderdashboard_shooter_hood | ||
Line 1,324: | Line 1,435: | ||
| the position of the hood: 0 is down, 100 is completely up | | the position of the hood: 0 is down, 100 is completely up | ||
|- | |- | ||
| | | thunderdashboard_hang_bar | ||
| number | | number | ||
| | | | ||
0 - | 0 - unknown | ||
| the | 1 - mid | ||
2 - high | |||
3 - traversal | |||
| the bar the robot is on | |||
|- | |- | ||
| | | thunderdashboard_hang_status | ||
| number | | number | ||
| | | | ||
0 - | 0 - unknown | ||
1 - red | |||
2 - green | |||
3 - yellow | |||
| | | hang status color to show | ||
|- | |- | ||
| | | thunderdashboard_match_length | ||
| number | | number | ||
| | | | ||
0 - | 0 - no bar | ||
1 - | 1 to 599 - show bar, max seconds for the match period | ||
| | | Displays countdown progress bar at bottom of dashboard. | ||
|- | |- | ||
| | | thunderdashboard_match_remaining | ||
| number | | number | ||
| | | 0 to 599 | ||
0 | |||
| Number of | | Number of seconds left in the match period | ||
|- | |- | ||
| thunderdashboard_gyro | | thunderdashboard_gyro | ||
Line 1,394: | Line 1,514: | ||
| number | | number | ||
| | | | ||
0 | 0 - dashboard background not based on this | ||
1 | 1 - dashboard background is power blue | ||
| | | | ||
Line 1,407: | Line 1,527: | ||
| number | | number | ||
| | | | ||
0 | 0 - show normal | ||
1 | 1 - fills screen | ||
| whether to fill the laptop screen with the dashboard or not | | whether to fill the laptop screen with the dashboard or not | ||
|- | |- | ||
| | | thunderdashboard_frontcamera | ||
| number | | number | ||
| 0- | | 0 - LimeLight (mjpeg, roboRIO-1511-FRC.local:5800) | ||
| | 1 - USB camera (mjpeg, 10.15.11.11:1181) | ||
| which camera the dashboard should connect to | |||
|- | |- | ||
| thunderdashboard_auto_list | | thunderdashboard_auto_list | ||
Line 1,437: | Line 1,558: | ||
| | | | ||
| user selected number of seconds, 0 to 15, to delay start of auto mode | | user selected number of seconds, 0 to 15, to delay start of auto mode | ||
|} | |} | ||
= IO Maps for Old Robots = | = IO Maps for Old Robots = | ||
*[[2020:Robot_IO_Map| | *[[2020:Robot_IO_Map|2020 IO Map]] (applies to 2021 as well!) | ||
*[[2019:Robot_IO_Map|2019 IO Map]] | *[[2019:Robot_IO_Map|2019 IO Map]] | ||
*[[2018:Robot_IO_Map|2018 IO Map]] | *[[2018:Robot_IO_Map|2018 IO Map]] | ||
Line 1,465: | Line 1,574: | ||
*[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]] | *[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]] | ||
*[[2009:IO_Map|2009 Thunderplucker]] | *[[2009:IO_Map|2009 Thunderplucker]] | ||
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]] | *[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]] | ||
Latest revision as of 18:56, 1 March 2022
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Brake or Coast? | Description (brief) |
Operation |
PD Board Info (8) max. 40A PDB # |
General Notes | |
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 | Hang | Spark Max | Neo | Brake | Winch robot up | 40A, | 13 | REV Through Bore Encoder attached directly to SPARK | |
3 | Intake | Spark Max | Neo 550 | Brake | Get ball into robot (Stage 1)
|
30A | 6 | ||
6 | Shooter/Storage | Spark Max | Neo 550 | Brake | Transition motor to go into fly wheels (Stage 2) | 20A/30A | 7 | ||
7 | Shooter | Spark Max | Neo | Brake | Left side fly wheel
|
40A | 2 | Using Integrated Encoder | |
8 | Shooter | Spark Max | Neo | Brake | Right side fly wheel | 40A | 3 | Using Integrated Encoder | |
9 | Drive | Spark Max | Neo | Coast | Front left drive motor | 40A | 0 | Using Integrated Encoder | |
10 | Drive | Spark Max | Neo | Coast | Back left drive motor | 40A | 1 | Using Integrated Encoder | |
11 | Drive | Spark Max | Neo | Coast | Back right drive motor | 40A | 14 | Using Integrated Encoder | |
12 | Drive | Spark Max | Neo | Coast | Front right drive motor | 40A | 15 | Using Integrated Encoder | |
13 | Drive | Spark Max | Neo 550 | Coast | Front left turning motor | 20A | 4 | Using Integrated Encoder | |
14 | Drive | Spark Max | Neo 550 | Coast | Back left turning motor | 20A | 5 | Using Integrated Encoder | |
15 | Drive | Spark Max | Neo 550 | Coast | Back right turning motor | 20A | 10 | Using Integrated Encoder | |
16 | Drive | Spark Max | Neo 550 | Coast | Front right turning motor | 20A | 11 | Using Integrated Encoder | |
17 | Drive | Encoder | CANCoder | N/A | Front left absolute encoder | N/A | |||
18 | Drive | Encoder | CANCoder | N/A | Back left absolute encoder | N/A | |||
19 | Drive | Encoder | CANCoder | N/A | Back right absolute encoder | N/A | |||
20 | Drive | Encoder | CANCoder | N/A | Front right absolute encoder | N/A |
Port # | Device (Subteam) | Breaker Value | Max Current |
---|---|---|---|
0 | Neo (Drive) | 40 A | 40 A |
1 | Neo (Drive) | 40 A | 40 A |
2 | Neo (Shooter) | 40 A | 40 A |
3 | Neo (Shooter) | 40 A | 40 A |
4 | Neo 550 (Drive) | 20A | 30A |
5 | Neo 550 (Drive) | 20A | 30A |
6 | Neo 550 (Intake {Stage 1}) | 30A | 30A |
7 | Neo 550 (Shooter/Storage {Stage 2}) | 20A/30A | 30A |
8 | Limelight | 20A | 30A |
9 | PCM (#2)? | 20A | 30A |
10 | Neo 550 (Drive) | 20A | 30A |
11 | Neo 550 (Drive) | 20A | 30A |
12 | 40A | ||
13 | Neo (Hang) | 40A | 40A |
14 | Neo (Drive) | 40A | 40A |
15 | Neo (Drive) | 40A | 40A |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Brake/Coast |
Notes (8) max. 40A PDB # | |
0 | Hang | Servo | Ratchet and Pawl | |||||
1 | Shooter | Servo | hood servo | |||||
2 | Blinky Blinky | LED | Illumination | |||||
3 | Hang | Servo | String Thing (left) | |||||
4 | Hang | Servo | String Thing (right) | |||||
5 | ||||||||
6 | ||||||||
7 | ||||||||
8 | ||||||||
9 | ||||||||
10 | ||||||||
11 |
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 | Shooter | Potentiometer | Bourns 3-Turn | Used for hood to show where it is | Tells the angle for the hood | Need to know how many rotations??? | |
1 | |||||||
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 | Hang | Flag sensor | OPB815WZ | Tell if hang is all the way in | 0 = out, 1 = in | Power From RoboRio, Requires Pullup |
1 | IN | ||||||
2 | IN | Storage | Banner Optical | Q10RN6R/Q106E | Sees when a ball is at stage one | 1 = Ball present
0 = Ball not present |
Requires 12V and Pullup |
3 | IN | Storage | Banner Optical | Q10RN6R/Q106E | Sees when a ball is at stage two | 1 = Ball present
0 = Ball not present |
Requires 12V and Pullup |
4 | IN | Shooter | Banner Optical | Q10RN6R/Q106E | Counts balls that leave the robot | 1 = Ball present
0 = Ball not present |
Requires 12V and Pullup |
5 | |||||||
6 | |||||||
7 | IN | ||||||
8 | IN | ||||||
9 | IN | ||||||
10 | IN |
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 | |||||||
SPI Devices
# | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
0 | Drive | IMU | ADIS16470 IMU | A 3d gyro and accelerometer | Tells the rotation for swerve drive |
USB Host Ports
Address | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
0 | Vision | USB Camera | Microsoft LifeCam HD-3000 | The intake camera | Shows the drivers a view of the intake and is used for vision processing in autonomous mode | |
1 |
Pneumatics Control Modules
PCM ID |
# | Subsystem | Solenoid is Double or Single? |
Solenoid Model # |
Description (brief) |
Operation | Circuit Pressure | PDB # |
1 | 0 | Intake | Double | Intake not deployed | extend piston to retract intake | Dedicated Output | ||
1 | Intake deployed | retract piston to extend/deploy intake | ||||||
2 | Hang (Lower pivot pistons) | Double | pivot arm to stored position | extends piston, moves arms closer to stored position | ||||
3 | pivot arm to bar | retracts piston, moves arms closer to fully pivoted outward position | ||||||
4 | Hang (Upper pivot pistons) | Double | pivot arm to stored position | extends piston, moves arms closer to stored position | ||||
5 | pivot arm to bar | retracts piston, moves arms closer to fully pivoted outward position | ||||||
6 | ||||||||
7 | ||||||||
2 | 0 | Hang | Double | Only used if lower pressure is needed | 9 | |||
1 | Only used if lower pressure is needed | |||||||
2 | Hang | Double | Only used if lower pressure is needed | |||||
3 | Only used if lower pressure is needed | |||||||
4 | ||||||||
5 |
Robot Lights Reference
TBD if lights on 2022 robot
- When Disabled:
- TBD
- When Enabled:
- TBD
Operator Controls
Disable Xbox Controller
Controller 1 - Primary Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Left Joystick Y | ||
A-1 | Left Joystick X | ||
A-4 | Right Joystick Y | ||
A-4 | Right Joystick X | ||
B-6 | Right Bumper | ||
B-5 | Left Bumper | ||
A-3 | Right Trigger | ||
A-2 | Left Trigger | ||
B-1 | A Button | ||
B-3 | X Button | ||
B-4 | Y Button | ||
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 | ||
A-2 | Left Trigger | ||
A-3 | Right Trigger | ||
A-4 | Right Joystick X-Axis |
| |
A-5 | Right Joystick Y-Axis | ||
B-1 | A Button | ||
B-2 | B button | ||
B-3 | X Button | ||
B-4 | Y button | ||
B-5 | Left bumper | ||
B-6 | Right bumper | ||
B-7 | Back Button | ||
B-8 | Start Button | ||
B-9 | Left Stick Pressed | ||
B-10 | Right Stick Pressed | ||
POV-0 | D-pad up |
Controller 3 - Switches on console
Button/Axis # | Action/Button | Description | Details |
B-1 | |||
B-2 | |||
B-3 | |||
B-4 | |||
B-5 | |||
B-6 | |||
B-7 | |||
B-8 | |||
B-9 |
Dashboard
Key | Data Type | Value | Description |
thunderdashboard_alliance | number |
0 - Red 1 - Blue |
Alliance we are one |
thunderdashboard_stage1 | number | 0 - not blocked
1 - blocked |
Stage 1 sensor blocked? |
thunderdashboard_stage2 | number | 0 - not blocked
1 - blocked |
Stage 2 sensor blocked? |
thunderdashboard_ballcount | number | -1 - don't know
0 to 9 - number of balls |
how many balls are in the robot |
thunderdashboard_shooter_hood | number | 0 - 100 | the position of the hood: 0 is down, 100 is completely up |
thunderdashboard_hang_bar | number |
0 - unknown 1 - mid 2 - high 3 - traversal |
the bar the robot is on |
thunderdashboard_hang_status | number |
0 - unknown 1 - red 2 - green 3 - yellow |
hang status color to show |
thunderdashboard_match_length | number |
0 - no bar 1 to 599 - show bar, max seconds for the match period |
Displays countdown progress bar at bottom of dashboard. |
thunderdashboard_match_remaining | number | 0 to 599 | Number of seconds left in the match period |
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_frontcamera | number | 0 - LimeLight (mjpeg, roboRIO-1511-FRC.local:5800)
1 - USB camera (mjpeg, 10.15.11.11:1181) |
which camera the dashboard should connect to |
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 |