2024:Robot IO Map: Difference between revisions
No edit summary |
|||
| Line 601: | Line 601: | ||
| style="height: 28px; width: 99px; text-align: center;" | 15 | | style="height: 28px; width: 99px; text-align: center;" | 15 | ||
| style="height: 28px; width: 133px; text-align: center;" | | | style="height: 28px; width: 133px; text-align: center;" | | ||
Hang Ratchet Solenoids | |||
| style="height: 28px; width: 82px; text-align: center;" | | | style="height: 28px; width: 82px; text-align: center;" | | ||
20A | |||
| style="height: 28px; width: 144px; text-align: center;" | | | style="height: 28px; width: 144px; text-align: center;" | | ||
40A | 40A | ||
| Line 690: | Line 690: | ||
|} | |} | ||
</div> | </div> | ||
<div class="mw-parser-output"> | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
{| class="wikitable" style="height: 252px;" | {| class="wikitable" style="height: 252px;" | ||
|+ VRM Assignments | |+ VRM Assignments | ||
| Line 937: | Line 937: | ||
|} | |} | ||
<div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"> </div></div> | ||
<div class="mw-parser-output"> </div> | <div class="mw-parser-output"> </div> | ||
| Line 990: | Line 990: | ||
|} | |} | ||
| | ||
<div class="mw-parser-output"></div> | <div class="mw-parser-output"></div> | ||
== 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"> | <div class="mw-parser-output"> | ||
=== <u>RoboRIO Analog Inputs</u> === | === <u>RoboRIO Analog Inputs</u> === | ||
| Line 1,119: | Line 1,121: | ||
| | | | ||
|} | |} | ||
| </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"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
== 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"> | <div class="mw-parser-output"> | ||
=== <u>RoboRio IO</u> === | === <u>RoboRio IO</u> === | ||
{| style="width: 1187px; height: 417px;" border="1" cellspacing="1" cellpadding="2" | {| style="width: 1187px; height: 417px;" border="1" cellspacing="1" cellpadding="2" | ||
|- style="height: 57px;" | |- style="height: 57px;" | ||
| style="text-align: center; height: 57px; width: 44px;" | '''ID''' | | style="text-align: center; height: 57px; width: 44px;" | '''ID''' | ||
| style="text-align: center; height: 57px; width: 159px;" | '''Direction'''<br>(IN/OUT) | | style="text-align: center; height: 57px; width: 159px;" | '''Direction'''<br>(IN/OUT) | ||
| style="width: 76px; text-align: center; height: 57px;" | '''Subsystem''' | | style="width: 76px; text-align: center; height: 57px;" | '''Subsystem''' | ||
| style="width: 122px; height: 57px;" | <p style="text-align: center;" >'''Component'''</p> | | style="width: 122px; height: 57px;" | <p style="text-align: center;">'''Component'''</p> | ||
<p style="text-align: center;" >'''Type'''</p> | <p style="text-align: center;">'''Type'''</p> | ||
| style="width: 139px; text-align: center; height: 57px;" | '''Model #''' | | style="width: 139px; text-align: center; height: 57px;" | '''Model #''' | ||
| style="width: 193px; text-align: center; height: 57px;" | '''Description<br>(brief)''' | | style="width: 193px; text-align: center; height: 57px;" | '''Description<br>(brief)''' | ||
| style="width: 223px; text-align: center; height: 57px;" | '''Operation''' | | style="width: 223px; text-align: center; height: 57px;" | '''Operation''' | ||
| style="width: 231px; text-align: center; height: 57px;" | '''Notes''' | | style="width: 231px; text-align: center; height: 57px;" | '''Notes''' | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 0 | | style="text-align: center; height: 28px; width: 44px;" | 0 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,156: | Line 1,163: | ||
<p>Voltage divider added to cable pigtail</p> | <p>Voltage divider added to cable pigtail</p> | ||
<p>[https://wiki.penfieldrobotics.com/wiki/index.php?title=File:Allen_Bradley_Diffuse_Circuit.jpg See circuit diagram] </p> | <p>[https://wiki.penfieldrobotics.com/wiki/index.php?title=File:Allen_Bradley_Diffuse_Circuit.jpg See circuit diagram] </p> | ||
|- style="height: 51px;" | |- style="height: 51px;" | ||
| style="text-align: center; height: 51px; width: 44px;" | 1 | | style="text-align: center; height: 51px; width: 44px;" | 1 | ||
| style="text-align: center; height: 51px; width: 159px;" | IN | | style="text-align: center; height: 51px; width: 159px;" | IN | ||
| Line 1,171: | Line 1,178: | ||
| style="width: 231px; height: 51px; text-align: left;" | | | style="width: 231px; height: 51px; text-align: left;" | | ||
Wire White/Red/Black To roborio DIO | Wire White/Red/Black To roborio DIO | ||
|- style="height: 57px;" | |- style="height: 57px;" | ||
| style="text-align: center; height: 57px; width: 44px;" | 2 | | style="text-align: center; height: 57px; width: 44px;" | 2 | ||
| style="text-align: center; height: 57px; width: 159px;" | IN | | style="text-align: center; height: 57px; width: 159px;" | IN | ||
| Line 1,186: | Line 1,193: | ||
| style="width: 231px; height: 28px; text-align: left;" | | | style="width: 231px; height: 28px; text-align: left;" | | ||
roborio DIO<br>Wire for normally open | roborio DIO<br>Wire for normally open | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 3 | | style="text-align: center; height: 28px; width: 44px;" | 3 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,201: | Line 1,208: | ||
| style="width: 231px; height: 28px; text-align: left;" | | | style="width: 231px; height: 28px; text-align: left;" | | ||
roborio DIO<br>Wire for normally open | roborio DIO<br>Wire for normally open | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 4 | | style="text-align: center; height: 28px; width: 44px;" | 4 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| style="width: 76px; text-align: center; height: 28px;" | | | style="width: 76px; text-align: center; height: 28px;" | | ||
<br> | |||
| style="width: 122px; text-align: center; height: 28px;" | | | style="width: 122px; text-align: center; height: 28px;" | | ||
<br> | |||
| style="width: 139px; text-align: center; height: 28px;" | | | style="width: 139px; text-align: center; height: 28px;" | | ||
<br> | |||
| style="width: 193px; text-align: center; height: 28px;" | | | style="width: 193px; text-align: center; height: 28px;" | | ||
<br> | |||
| style="width: 223px; text-align: center; height: 28px;" | | | style="width: 223px; text-align: center; height: 28px;" | | ||
<br> | |||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
|- style="height: 28px;" | <br> | ||
|- style="height: 28px;" | |||
| style="text-align: center; height: 28px; width: 44px;" | 5 | | style="text-align: center; height: 28px; width: 44px;" | 5 | ||
| style="text-align: center; height: 28px; width: 159px;" | | | style="text-align: center; height: 28px; width: 159px;" | | ||
| Line 1,226: | Line 1,239: | ||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
<br> | <br> | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 6 | | style="text-align: center; height: 28px; width: 44px;" | 6 | ||
| style="text-align: center; height: 28px; width: 159px;" | | | style="text-align: center; height: 28px; width: 159px;" | | ||
| Line 1,242: | Line 1,255: | ||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
<br> | <br> | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 7 | | style="text-align: center; height: 28px; width: 44px;" | 7 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,256: | Line 1,269: | ||
<br> | <br> | ||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 8 | | style="text-align: center; height: 28px; width: 44px;" | 8 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,270: | Line 1,283: | ||
<br> | <br> | ||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 9 | | style="text-align: center; height: 28px; width: 44px;" | 9 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,284: | Line 1,297: | ||
<br> | <br> | ||
| style="width: 231px; text-align: center; height: 28px;" | | | style="width: 231px; text-align: center; height: 28px;" | | ||
|- style="height: 28px;" | |- style="height: 28px;" | ||
| style="text-align: center; height: 28px; width: 44px;" | 10 | | style="text-align: center; height: 28px; width: 44px;" | 10 | ||
| style="text-align: center; height: 28px; width: 159px;" | IN | | style="text-align: center; height: 28px; width: 159px;" | IN | ||
| Line 1,607: | Line 1,620: | ||
<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"> | ||
== Pneumatics Control Modules == | == Pneumatics Control Modules == | ||
| Line 1,776: | Line 1,790: | ||
= 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"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Controller 1 - Primary Driver === | === Controller 1 - Primary Driver === | ||
| Line 1,869: | Line 1,886: | ||
<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"><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"> | <div class="mw-parser-output"> | ||
=== Controller 2 - Aux Driver === | === Controller 2 - Aux Driver === | ||
| Line 2,018: | Line 2,037: | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Controller 3 - Switches on console === | === Controller 3 - Switches on console === | ||
| Line 2,407: | Line 2,427: | ||
*[[2009:IO_Map|2009 Thunderplucker]] | *[[2009:IO_Map|2009 Thunderplucker]] | ||
*[[IO Pin Maps for Pre-2009 Robots]] | *[[IO Pin Maps for Pre-2009 Robots]] | ||
</div></div></div></div></div></div></div></div></div> | </div></div></div></div></div></div></div></div></div></div></div></div></div></div> | ||
Revision as of 15:30, 27 January 2024
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 please |
| ||||
| 2 | Drive |
SparkMax |
Neo |
|
Front Right Drive |
|
40A |
0 |
Using Integrated Encoder |
| 3 | Drive |
SparkMax |
Neo |
|
Front Left Drive |
|
40A |
1 |
Using Integrated Encoder |
| 4 | Drive |
SparkMax |
Neo |
|
Back Right Drive |
|
40A |
2 |
Using Integrated Encoder |
| 5 | Drive |
SparkMax |
Neo |
|
Back Left Drive |
|
40A |
3 |
Using Integrated Encoder |
| 6 | Drive |
SparkMax |
Neo |
|
Front Right Rotation |
|
40A |
4 |
Using Integrated Encoder |
| 7 | Drive |
SparkMax |
Neo |
|
Front Left Rotation |
|
40A |
5 |
Using Integrated Encoder |
| 8 |
Drive |
SparkMax |
Neo |
|
Back Right Rotation |
|
40A |
6 |
Using Integrated Encoder |
|
9 |
Drive |
SparkMax |
Neo |
|
Back Left Rotation |
|
40A |
7 |
Using Integrated Encoder |
| 10 | Drive |
Encoder |
CANCoder |
|
Front Right |
|
N/A |
N/A |
Powered From Ganged 12V VRM |
| 11 | Drive |
Encoder |
CANCoder |
|
Front Left |
|
N/A |
N/A |
Powered From Ganged 12V VRM |
| 12 | Drive |
Encoder |
CANCoder |
|
Back Right |
|
N/A |
N/A |
Powered From Ganged 12V VRM |
| 13 | Drive |
Encoder |
CANCoder |
|
Back Left |
|
N/A |
N/A |
Powered From Ganged 12V VRM |
| 14 | Drive |
IMU |
Pigeon 2.0 |
|
|
|
|
|
Powered from dedicated 12V VRM |
| 15 | Game Piece |
SparkMax |
Neo 550 |
|
Intake |
Pulls in or ejects a game piece |
30A |
8 |
Diffuse retro-reflective sensor Allen Bradley 42EF-D2MPAK-F4 When sensor is tripped, this means GP has entered intake and sensor just clears when GP is position for storage or shooting Connects to roborio DIO 12V powered |
| 16 | Game Piece |
SparkMax |
Neo |
|
Shooter Top Wheels |
Runs shooter wheels |
40A |
9 |
|
| 17 | Game Piece |
SparkMax |
Neo |
|
Shooter Bottom Wheels |
Runs shooter wheels |
40A |
10 |
|
| 18 | Game Piece |
SparkMax |
Neo |
|
Arm |
Pivots Arm |
40A |
11 |
Using Rev through-bore encoder Used in absolute position mode to indicate arm pivot angle 5V powered Signal to roborio DIO |
| 19 | Game Piece |
SparkMax |
Neo 550 |
|
Arm |
Actuates bicycle brake for arm pivot |
30A |
12 |
|
| 20 | Hang |
SparkMax |
Neo |
|
Hang Arm Right |
causes hang hook to go up or down |
40A |
13 |
|
| 21 | Hang | SparkMax | Neo | Hang Arm Left | causes hang hook to go up or down | 40A | 14 | ||
| 22 |
|
||||||||
| Port # | Device (Subteam) | Breaker Value | Max Channel Current | Note |
|---|---|---|---|---|
| 0 |
Front Right Drive (Drive) |
40A |
40A |
|
| 1 |
Front Left Drive (Drive) |
40A |
40A |
|
| 2 |
Back Right Drive (Drive) |
40A |
40A |
|
| 3 |
Back Left Drive (Drive) |
40A |
40A |
|
| 4 |
Front Right Rotation (Drive) |
40A |
40A |
|
| 5 |
Front Left Rotation (Drive) |
40A |
40A |
|
| 6 |
Back Right Rotation (Drive) |
40A |
40A |
|
| 7 |
Back Left Rotation (Drive) |
40A |
40A |
|
| 8 |
Game Piece Intake |
30A |
40A |
|
| 9 |
Shooter Top Wheels |
40A |
40A |
|
| 10 |
Shooter Bottom Wheels |
40A |
40A |
|
| 11 |
Game Piece Arm |
40A |
40A |
|
| 12 |
Game Piece Arm Brake |
30A |
40A |
|
| 13 |
Hang Arm Right |
40A |
40A |
|
| 14 |
Hang Arm Left |
40A |
40A |
|
| 15 |
Hang Ratchet Solenoids |
20A |
40A |
|
| 16 |
|
|
40A |
|
| 17 |
|
|
40A |
|
| 18 |
|
|
40A |
|
| 19 |
|
|
40A |
|
| 20 |
RoboRIO (RCS) |
10A |
10A Fused |
|
| 21 |
VRM (RCS) |
10A |
10A Fused |
|
| 22 |
|
|
10A Fused |
|
| 23 (Switchable) |
|
|
5A Fused |
|
| Port # | Device (Subteam) |
|---|---|
| 5V/2A |
LED |
| 5V/2A |
LED |
| 5V/500mA |
|
| 5V/500mA |
|
| 12V/2A |
Radio (RCS) |
| 12V/2A |
Game Piece Intake Sensor |
| 12V/500mA |
CanCoders 4x Ganged - Drive |
| 12V/500mA | Pigeon2 |
PWM Outputs
| ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Brake/Coast |
Notes (8) max. 40A PDB # | |
| 0 |
|
|
|
|
|
|
|
|
| 1 |
|
|
|
|
|
|||
| 2 |
|
|
|
|
||||
| 3 |
|
|
|
|
||||
| 4 |
|
|
|
|
|
|
|
|
| 5 |
|
|
|
|||||
| 6 |
|
|
|
|
|
|
|
|
| 7 |
|
|
|
|
|
|
| |
| 8 |
|
|
|
|
|
|
|
|
| 9 |
|
|
|
|
|
|
| |
| 10 | ||||||||
| 11 | ||||||||
Relay Outputs
| ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation | Notes |
| 0 | Hang | SPIKE relay | Actuates braking pawl against ratchet wheel.
Energizing lifts the pawl off the ratchet wheel. Integrated spring pushes pawl into ratchet wheel. |
Two solenoids controlled via one SPIKE relay (one on M+ and one on M- with common ground) | ||
| 1 | ||||||
| 2 | ||||||
| 3 |
Analog IO
RoboRIO Analog Inputs
| ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation |
Voltage Range |
Notes |
| 0 |
|
|
|
|
|
|
|
| 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 |
Game Piece - Intake |
Diffuse retro-reflective sensor |
Allen Bradley 42EF-D2MPAK-F4 |
Senses GP |
|
Wire for Dark operating Signal connects to roborio DIO12V powered Voltage divider added to cable pigtail |
| 1 | IN |
Game Piece - Arm |
Encoder |
Used in absolute position mode to indicate arm pivot angle. |
|
Wire White/Red/Black To roborio DIO | |
| 2 | IN |
Hang Brake |
Leaf Lever Limit Switch Right |
V7-2B17D8-048 |
Triggers when pawl on brake is fully lifted and clear of ratchet wheel |
|
roborio DIO |
| 3 | IN |
Hang Brake |
Leaf Lever Limit Switch Left |
V7-2B17D8-048 |
Triggers when pawl on brake is fully lifted and clear of ratchet wheel |
|
roborio DIO |
| 4 | IN |
|
|
|
|
|
|
| 5 |
IN |
|
|
|
|
|
|
| 6 |
IN |
|
|
|
|
|
|
| 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 |
|
|
|
|
|
|
|
||
SPI Devices
| # | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
| 0 |
|
|
|
|
|
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 |
|
|
Operator Controls
Controller 1 - Primary Driver
| Button/Axis # | Action/Button | Description | Details |
| A-1 | Left Joystick Y |
|
|
| A-1 | Left Joystick X |
|
|
|
|
Left Joystick Press |
|
|
| 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 | Square / A Button |
|
|
| B-3 | Cross / X Button |
|
|
| B-4 | Triangle / Y Button |
|
|
| B-2 | Circle / 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 | Square / A Button |
|
|
| B-2 | Circle / B button |
|
|
| B-3 | Cross / X Button |
|
|
| B-4 | Triangle / 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 |
|
|
| POV-90 | D-pad right |
|
|
| POV-180 | D-pad down |
|
|
| POV-270 | D-pad left |
|
|
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_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_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_auto_doing_auto | boolean | true - should do autonomous
false - should not do autonomous |
Dashboard checkbox in auto selector page. When false, the robot should not do anything in autonomous |
| thunderdashboard_auto_starting_location | number | 0 - barrier side
1 - center 2 - edge side |
Dashboard selection of which community zone the robot should start in |
| thunderdashboard_auto_starting_gamepiece | number | 0 - cube
1 - cone |
Dashboard selection of which GamePiece the robot is starting with. Also determines the exact starting position of the robotin combination with the general zone as provided by 'thunderdashboard_auto_starting_location' |
| thunderdashboard_auto_starting_action | number | Depending on the starting location, this value means different things.If starting in the center,
0 - Score preloaded GamePiece and balance on Charge Station 1 - Score preloaded GamePiece, traverse Charge Station, and collect GamePiece 3 from field If starting on either side, Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4 |
Dashboard selection of what action the robot should do first in autonomous |
| thunderdashboard_auto_field_gamepiece | number | 0 - cube
1 - cone |
Dashboard selection of which GamePiece to collect on the field (if the starting action puts the robot in the position to acquire a GamePiece) |
| thunderdashboard_auto_final_action | number | Depending on the starting location, this value means different things,If starting in the center,
0 - Do nothing 1 - Balance on Charge Station If starting on either side, 0 - Do nothing 1 - Score acquired field GamePiece 2 - Balance on Charge Station |
Dashboard selection of what action the robot should do at the end of Autonomous (if the starting action puts the robot in the position for a final action). |
| thunderdashboard_drive_x_pos | number |
|
Robot current X position on the field (m) |
| thunderdashboard_drive_y_pos | number |
|
Robot current Y position on the field (m) |
| thunderdashboard_drive_target_x_pos | number |
|
Robot target X position on the field (m) |
| thunderdashboard_drive_target_y_pos | number |
|
Robot target Y position on the field (m) |
| thunderdashboard_drive_x_vel | number |
|
Robot current X velocity (m/s) |
| thunderdashboard_drive_y_vel | number |
|
Robot current Y velocity (m/s) |
| thunderdashboard_drive_ang_vel | number |
|
Robot current angular velocity (rad/s) |
| thunderdashboard_drive_ang | number |
|
Robot current angle (radians) |
| thunderdashboard_drive_target_ang | number |
|
Robot target angle (radians) |
| thunderdashboard_lift_pivot_percent | number | 0 to 1 | Percent of lift pivot |
| thunderdashboard_lift_extension_percent | number | 0 to 1 | Percent of lift extension |
| thunderdashboard_lift_pivot_target_percent | number | 0 to 1, -1 if no target | Target percent of lift pivot |
| thunderdashboard_lift_extension_target_percent | number | 0 to 1, -1 if no target | Target percent of lift extension |
| thunderdashboard_grabber_position | number | 0 - open
1 - agape 2 - ajar |
State of grabber mechanism |
| thunderdashboard_gamepiece | number | -1 - no gamepiece
0 - cube 1 - cone |
Which GamePiece the robot is currently in possession of |
| thunderdashboard_match_remaining | number |
|
The time remaining in the current match period |
| thunderdashboard_airpressure_low | number |
|
Low air pressure on gauge |
| thunderdashboard_airpressure_high | number |
|
High air pressure on gauge |
| thunderdashboard_airpressure | number |
|
Current air pressure |
| thunderdashboard_airpressure_iters | number |
|
Number of ticks on air pressure gauge |
| thunderdashboard_led_mode | number | 0 - Robot State
1 - Alliance Color 2 - Custom Color 3 - Off |
The mode of the robot LEDs |
| thunderdashboard_led_custom_r | number | 0-1 | Custom LED red value |
| thunderdashboard_led_custom_g | number | 0-1 | Custom LED green value |
| thunderdashboard_led_custom_b | number | 0-1 | Custom LED blue value |
| thunderdashboard_score_grid | number | -1 - No grid aligned
0 - Left grid 1 - Center grid 2 - Right grid |
Which grid the robot is currently in front of (relative to driver, NOT field or robot) |
| thunderdashboard_score_grid_column | number | -1 - No Column selected
0 - Left column 1 - Center column 2 - Right column |
Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot) |