2024:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
Tag: visualeditor
No edit summary
 
(34 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== CAN ID Assignments ==
== CAN ID Assignments ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 1100px"
{| style="width: 1100px; height: 1382px;" border="1" cellspacing="1" cellpadding="2"
|-
|- style="height: 80px;"
| style="text-align: center" | '''ID'''
| style="text-align: center; height: 80px; width: 22.05px;" | '''ID'''
| style="text-align: center" | '''Subsystem'''
| style="text-align: center; height: 80px; width: 105.213px;" | '''Subsystem'''
| <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>  
| style="height: 80px; width: 106.213px;" | <p style="text-align: center">'''Component'''</p>
| style="text-align: center; width: 112px" | '''Model #'''
<p style="text-align: center">'''Type'''</p>
| style="width: 70px; text-align: center" | '''Brake or Coast?'''
| style="text-align: center; width: 112.225px; height: 80px;" | '''Model #'''
| style="width: 110px; text-align: center" | '''Description'''<br/> (brief)
| style="width: 70.15px; text-align: center; height: 80px;" | '''Brake or Coast?'''
| style="width: 224px; text-align: center" | '''Operation'''
| style="width: 110.225px; text-align: center; height: 80px;" | '''Description'''<br>(brief)
| colspan="2" rowspan="1" style="width: 175px; text-align: center" |  
| style="width: 224.45px; text-align: center; height: 80px;" | '''Operation'''
| style="width: 175.15px; text-align: center; height: 80px;" colspan="2" |
'''PD Board Info'''
'''PD Board Info'''


'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; PDB #'''
'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; PDB #'''
|'''General Notes'''
| style="height: 80px; width: 130.325px;" | '''General Notes'''
|-
|- style="height: 74px;"
| style="text-align: center" | 0
| style="text-align: center; height: 74px; width: 22.05px;" | 0
| style="text-align: center" | Electrica'''l'''
| style="text-align: center; height: 74px; width: 105.213px;" | Electrica'''l'''
| <p style="text-align: center">PD Module</p>  
| style="height: 74px; width: 106.213px;" | <p style="text-align: center">PD Module</p>
| style="text-align: center; width: 112px" | &nbsp;
| style="text-align: center; width: 112.225px; height: 74px;" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70.15px; text-align: center; height: 74px;" | &nbsp;
| style="width: 110px; text-align: center" | Power Distribution Module feedback
| style="width: 110.225px; text-align: center; height: 74px;" | Power Distribution Module feedback
| style="width: 224px; text-align: center" | monitor PD
| style="width: 224.45px; text-align: center; height: 74px;" | monitor PD
| style="width: 115px" | <p style="text-align: center">must be CAN 0</p>  
| style="width: 115.238px; height: 74px;" | <p style="text-align: center">must be CAN 0</p>
| style="width: 55px" | &nbsp;
| style="width: 55.1125px; height: 74px;" | &nbsp;
|
| style="height: 74px; width: 130.325px;" |
|-
<br>
| style="text-align: center" | 1
|- style="height: 120px;"
| style="text-align: center" | '''RESERVED'''
| style="text-align: center; height: 120px; width: 22.05px;" | 1
| style="text-align: center" | n/a
| style="text-align: center; height: 120px; width: 105.213px;" | '''RESERVED'''
| style="text-align: center; width: 112px" | &nbsp;
| style="text-align: center; height: 120px; width: 106.213px;" | n/a
| style="width: 70px; text-align: center" | &nbsp;
| style="text-align: center; width: 112.225px; height: 120px;" | &nbsp;
| style="width: 110px; text-align: center" | Factory-default<br/> allows for adding new device quickly and re-assign its ID
| style="width: 70.15px; text-align: center; height: 120px;" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 110.225px; text-align: center; height: 120px;" | Factory-default<br>allows for adding new device quickly and re-assign its ID
| style="width: 115px; text-align: center" | don't use please
| style="width: 224.45px; text-align: center; height: 120px;" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 115.238px; text-align: center; height: 120px;" | don't use please
|
| style="width: 55.1125px; text-align: center; height: 120px;" | &nbsp;
|-
| style="height: 120px; width: 130.325px;" |
| style="text-align: center" | 2
<br>
| style="text-align: center" |
|- style="height: 28px;"
| style="text-align: center" |  
| style="text-align: center; height: 28px; width: 22.05px;" | 2
| style="text-align: center; width: 112px" |  
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="width: 70px; text-align: center" |
| style="text-align: center; height: 28px; width: 106.213px;" |
| style="width: 110px; text-align: center" |  
SparkMax
| style="width: 224px; text-align: center" |  
| style="text-align: center; width: 112.225px; height: 28px;" |
| style="width: 115px; text-align: center" |  
Neo
| style="width: 55px; text-align: center" |  
| style="width: 70.15px; text-align: center; height: 28px;" |
|
<br>
|-
| style="width: 110.225px; text-align: center; height: 28px;" |
| style="text-align: center" | 3
Front Right Drive
| style="text-align: center" |  
| style="width: 224.45px; text-align: center; height: 28px;" |
| style="text-align: center" |  
<br>
| style="text-align: center; width: 112px" |
| style="width: 115.238px; text-align: center; height: 28px;" |
| style="width: 70px; text-align: center" |  
40A
| style="width: 110px; text-align: center" |  
| style="width: 55.1125px; text-align: center; height: 28px;" |
0
| style="height: 28px; width: 130.325px; text-align: center;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 3
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; width: 112.225px; height: 28px;" |
Neo
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Front Left Drive
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="width: 115.238px; text-align: center; height: 28px;" |
40A
| style="width: 55.1125px; text-align: center; height: 28px;" |
1
| style="height: 28px; width: 130.325px; text-align: center;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 4
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Back Right Drive
| style="height: 28px; width: 224.45px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
40A
| style="height: 28px; width: 55.1125px; text-align: center;" |
2
| style="text-align: center; height: 28px; width: 130.325px;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 5
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Back Left Drive
| style="height: 28px; width: 224.45px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
40A
| style="height: 28px; width: 55.1125px; text-align: center;" |
3
| style="text-align: center; height: 28px; width: 130.325px;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 6
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; width: 112.225px; height: 28px;" |
Neo
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Front Right Rotation
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="width: 115.238px; text-align: center; height: 28px;" |
40A
| style="width: 55.1125px; text-align: center; height: 28px;" |
4
| style="text-align: center; height: 28px; width: 130.325px;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 7
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; width: 112.225px; height: 28px;" |
Neo
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Front Left Rotation
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="width: 115.238px; text-align: center; height: 28px;" |
40A
| style="width: 55.1125px; text-align: center; height: 28px;" |
5
| style="height: 28px; width: 130.325px; text-align: center;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 8
| style="text-align: center; height: 28px; width: 105.213px;" |
Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Back Right Rotation
| style="text-align: center; height: 28px; width: 224.45px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
40A
| style="text-align: center; height: 28px; width: 55.1125px;" |
6
| style="height: 28px; width: 130.325px; text-align: center;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" |
9
| style="text-align: center; height: 28px; width: 105.213px;" |
Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; width: 112.225px; height: 28px;" |
Neo
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Back Left Rotation
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="width: 115.238px; text-align: center; height: 28px;" |
40A
| style="width: 55.1125px; text-align: center; height: 28px;" |
7
| style="text-align: center; height: 28px; width: 130.325px;" |
Using Integrated Encoder
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 10
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
Encoder
| style="text-align: center; width: 112.225px; height: 28px;" |
CANCoder
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Front Right
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 55.1125px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 130.325px;" |
Powered From Ganged 12V VRM
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 11
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
Encoder
| style="text-align: center; width: 112.225px; height: 28px;" |
CANCoder
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Front Left
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 55.1125px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 130.325px;" |
Powered From Ganged 12V VRM
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 12
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
Encoder
| style="text-align: center; width: 112.225px; height: 28px;" |
CANCoder
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Back Right
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 55.1125px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 130.325px;" |
Powered From Ganged 12V VRM
|- style="height: 28px;"
| style="height: 28px; width: 22.05px;" | 13
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
Encoder
| style="text-align: center; width: 112.225px; height: 28px;" |
CANCoder
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Back Left
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="text-align: center; height: 28px; width: 115.238px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 55.1125px;" |
<p>N/A</p>
| style="text-align: center; height: 28px; width: 130.325px;" |
Powered From Ganged 12V VRM
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 14
| style="text-align: center; height: 28px; width: 105.213px;" | Drive
| style="text-align: center; height: 28px; width: 106.213px;" |
IMU
| style="width: 112.225px; text-align: center; height: 28px;" |
Pigeon 2.0
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
<br>
| style="width: 224.45px; text-align: center; height: 28px;" |
<br>
| style="width: 115.238px; text-align: center; height: 28px;" |
<br>
| style="width: 55.1125px; text-align: center; height: 28px;" |
<br>
| style="text-align: center; height: 28px; width: 130.325px;" |
Powered from dedicated 12V VRM
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 15
| style="text-align: center; height: 28px; width: 105.213px;" | Game Piece
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="width: 112.225px; text-align: center; height: 28px;" |
Neo 550
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Intake
| style="width: 224.45px; text-align: center; height: 28px;" |
Pulls in or ejects a game piece
| style="width: 115.238px; text-align: center; height: 28px;" |
30A
| style="width: 55.1125px; text-align: center; height: 28px;" |
8
| style="text-align: center; height: 28px; width: 130.325px;" |
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&nbsp;
 
12V powered&nbsp;
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 16
| style="text-align: center; height: 28px; width: 105.213px;" | Game Piece
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="width: 112.225px; text-align: center; height: 28px;" |
Neo
| style="width: 70.15px; text-align: center; height: 28px;" |
<br>
| style="width: 110.225px; text-align: center; height: 28px;" |
Shooter Left Wheels
| style="width: 224.45px; text-align: center; height: 28px;" |
Runs shooter wheels
| style="width: 115.238px; text-align: center; height: 28px;" |
40A
| style="width: 55.1125px; text-align: center; height: 28px;" |
9
| style="text-align: center; height: 28px; width: 130.325px;" |
<br>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 17
| style="text-align: center; height: 28px; width: 105.213px;" | Game Piece
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Shooter Right Wheels
| style="height: 28px; width: 224.45px;" |
Runs shooter wheels
| style="height: 28px; width: 115.238px;" |
40A
| style="height: 28px; width: 55.1125px;" |
10
| style="height: 28px; width: 130.325px;" |
<br>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 18
| style="text-align: center; height: 28px; width: 105.213px;" | Game Piece
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Arm
| style="height: 28px; width: 224.45px;" |
Pivots Arm
| style="height: 28px; width: 115.238px;" |
40A
| style="height: 28px; width: 55.1125px;" |
11
| style="height: 28px; width: 130.325px;" |
Using Rev through-bore encoder
 
Used in absolute position mode to indicate arm pivot angle
 
5V powered Signal to roborio DIO
 
Input lower extreme limit switch
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 19
| style="text-align: center; height: 28px; width: 105.213px;" | Game Piece
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo 550
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Arm
| style="height: 28px; width: 224.45px;" |
Actuates bicycle brake for arm pivot
| style="height: 28px; width: 115.238px;" |
30A
| style="height: 28px; width: 55.1125px;" |
12
| style="height: 28px; width: 130.325px;" |
<br>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 22.05px;" | 20
| style="text-align: center; height: 28px; width: 105.213px;" | Hang
| style="text-align: center; height: 28px; width: 106.213px;" |
SparkMax
| style="text-align: center; height: 28px; width: 112.225px;" |
Neo
| style="text-align: center; height: 28px; width: 70.15px;" |
<br>
| style="text-align: center; height: 28px; width: 110.225px;" |
Hang Arm Right
| style="height: 28px; width: 224.45px;" |
causes hang hook to go up or down
| style="height: 28px; width: 115.238px;" |
40A
| style="height: 28px; width: 55.1125px;" |
13
| style="height: 28px; width: 130.325px;" |
<br>
|- style="height: 51px;"
| style="text-align: center; width: 22.05px; height: 51px;" | 21
| style="text-align: center; width: 105.213px; height: 51px;" | Hang
| style="text-align: center; width: 106.213px; height: 51px;" | SparkMax
| style="text-align: center; width: 112.225px; height: 51px;" | Neo
| style="text-align: center; width: 70.15px; height: 51px;" | <br>
| style="text-align: center; width: 110.225px; height: 51px;" | Hang Arm Left
| style="width: 224.45px; height: 51px;" | causes hang hook to go up or down
| style="width: 115.238px; height: 51px;" | 40A
| style="width: 55.1125px; height: 51px;" | 14
| style="width: 130.325px; height: 51px;" | <br>
|- style="height: 28px;"
| style="text-align: center; width: 22.05px; height: 28px;" | 22
| style="text-align: center; width: 105.213px; height: 28px;" | <br>
| style="text-align: center; width: 106.213px; height: 28px;" |
<br>
| style="text-align: center; width: 112.225px; height: 28px;" | <br>
| style="text-align: center; width: 70.15px; height: 28px;" | <br>
| style="text-align: center; width: 110.225px; height: 28px;" | <br>
| style="width: 224.45px; height: 28px;" | <br>
| style="width: 115.238px; height: 28px;" | <br>
| style="width: 55.1125px; height: 28px;" | <br>
| style="width: 130.325px; height: 28px;" | <br>
|}


| style="width: 224px; text-align: center" |
<div class="mw-parser-output">
| style="width: 115px; text-align: center" |
| style="width: 55px; text-align: center" |
|
|-
| style="text-align: center" |4
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
|
| style="text-align: center" |
|
| style="text-align: center" |
|-
| style="text-align: center" |5
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
|
| style="text-align: center" |
|
| style="text-align: center" |
|-
| style="text-align: center" | 6
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center; width: 112px" |
| style="width: 70px; text-align: center" |
| style="width: 110px; text-align: center" |
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" |
| style="width: 55px; text-align: center" |
| style="text-align: center" |
|-
| style="text-align: center" | 7
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center; width: 112px" |
| style="width: 70px; text-align: center" |
| style="width: 110px; text-align: center" |


| style="width: 224px; text-align: center" |
= &nbsp;CAN Chain Pathway =
| style="width: 115px; text-align: center" |
{| class="wikitable" style="border-collapse: collapse; width: 100%; height: 529px;"
| style="width: 55px; text-align: center" |
|- style="height: 23px;"
|
| style="width: 33.3333%; height: 23px;" | Current Device (ID):
|-
| style="width: 33.3333%; height: 23px;" | Next Device (ID):
| style="text-align: center" |8
| style="width: 33.3333%; height: 23px;" | Notes:
| style="text-align: center" |
|- style="height: 23px;"
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | RIO
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | PDH(0)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" |
|- style="height: 23px;"
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | PDH(0)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | &nbsp;Front Right Encoder (10)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
|
|- style="height: 23px;"
|-
| style="width: 33.3333%; height: 23px;" | Front Right Encoder (10)
| style="text-align: center" | 9
| style="width: 33.3333%; height: 23px;" | Front Right Drive (2)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" |  
|- style="height: 23px;"
| style="text-align: center; width: 112px" |  
| style="width: 33.3333%; height: 23px;" | Front Right Drive (2)
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Front Right Rotation (6)
| style="width: 110px; text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 224px; text-align: center" |  
|- style="height: 23px;"
| style="width: 115px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Front Right Rotation (6)
| style="width: 55px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Hang Right (20)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
|-
|- style="height: 23px;"
| style="text-align: center" | 10
| style="width: 33.3333%; height: 23px;" | Hang Right (20)
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Right Rotation (8)
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center; width: 112px" |
|- style="height: 23px;"
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Right Rotation (8)
| style="width: 110px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Right Drive (4)
| style="width: 224px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 115px; text-align: center" |
|- style="height: 23px;"
| style="width: 55px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Right Drive (4)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | Back Right Encoder (12)
|-
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" | 11
|-  
| style="text-align: center" |
| style="width: 33.3333%;" | Back Right Encoder (12)
| style="text-align: center" |
| style="width: 33.3333%;" | Worm/Brake (19)
| style="text-align: center; width: 112px" |  
| style="width: 33.3333%;" | On Worm Gearbox
| style="width: 70px; text-align: center" |  
|- style="height: 23px;"
| style="width: 110px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Worm/Brake (19)
| style="width: 224px; text-align: center" |
| style="width: 33.3333%; height: 23px;" | Pidgeon 2.0 (14)
| style="width: 115px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 55px; text-align: center" |  
|- style="height: 23px;"
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | Pidgeon 2.0 (14)
|-
| style="width: 33.3333%; height: 23px;" | Arm Pivot (18)
| style="text-align: center" | 12
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" |  
|- style="height: 23px;"
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Arm Pivot (18)
| style="text-align: center; width: 112px" |
| style="width: 33.3333%; height: 23px;" | Front Left Encoder (11)
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 110px; text-align: center" |  
|- style="height: 23px;"
| style="width: 224px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Front Left Encoder (11)
| style="width: 115px; text-align: center" |
| style="width: 33.3333%; height: 23px;" | Front Left Drive (3)
| style="width: 55px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" |
|- style="height: 23px;"
|-
| style="width: 33.3333%; height: 23px;" | Front Left Drive (3)
| 13
| style="width: 33.3333%; height: 23px;" | Front Left Rotation (7)
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="text-align: center" |
|- style="height: 23px;"
| style="text-align: center; width: 112px" |  
| style="width: 33.3333%; height: 23px;" | Front Left Rotation (7)
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Hang Left (21)
| style="width: 110px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 224px; text-align: center" |
|- style="height: 23px;"
| style="width: 115px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Hang Left (21)
| style="width: 55px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Left Rotation (9)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
|-
|- style="height: 23px;"
| style="text-align: center" | 14
| style="width: 33.3333%; height: 23px;" | Back Left Rotation (9)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | Back Left Drive (5)
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 112px; text-align: center" |  
|- style="height: 23px;"
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Left Drive (5)
| style="width: 110px; text-align: center" |
| style="width: 33.3333%; height: 23px;" | Back Left Encoder (13)
| style="width: 224px; text-align: center" |
| style="width: 33.3333%; height: 23px;" | On DB Bellypan
| style="width: 115px; text-align: center" |  
|- style="height: 23px;"
| style="width: 55px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" | Back Left Encoder (13)
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" | Left Shooter (16)
|-
| style="width: 33.3333%; height: 23px;" |
| style="text-align: center" | 15
<br>
| style="text-align: center" |
|- style="height: 23px;"
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" |
| style="width: 112px; text-align: center" |  
Left Shooter (16)
| style="width: 70px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" |
| style="width: 110px; text-align: center" |
Right Shooter (17)
| style="width: 224px; text-align: center" |
| style="width: 33.3333%; height: 23px;" |
| style="width: 115px; text-align: center" |  
<br>
| style="width: 55px; text-align: center" |
|- style="height: 23px;"
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" |
|-
Right Shooter (17)
| style="text-align: center" | 16
| style="width: 33.3333%; height: 23px;" |
| style="text-align: center" |
Intake (15)
| style="text-align: center" |  
| style="width: 33.3333%; height: 23px;" |
| style="width: 112px; text-align: center" |  
<br>
| style="width: 70px; text-align: center" |  
|- style="height: 23px;"
| style="width: 110px; text-align: center" |
| style="width: 33.3333%; height: 23px;" |
| style="width: 224px; text-align: center" |
Intake (15)
| style="width: 115px; text-align: center" |  
| style="width: 33.3333%; height: 23px;" |
| style="width: 55px; text-align: center" |
TERMINATION: 120 ohm resistor&nbsp;
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" |
|-
<br>
| style="text-align: center" |17
|- style="height: 23px;"
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" |
| style="text-align: center" |
<br>
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" |
| style="text-align: center" |
<br>
| style="text-align: center" |
| style="width: 33.3333%; height: 23px;" |
|
<br>
|
|
|
|-
| style="text-align: center" |18
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
|
|
|
|
|-
| style="text-align: center" |19
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
|
|
|
|
|-
| style="text-align: center" |20
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |
|
|
|
|
|}
|}
  <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div>
</div>
{| class="wikitable"
 
|+PDB Assignments
{| class="wikitable" style="height: 700px;"
!Port #
|+ PDB Assignments
!Device (Subteam)
! style="height: 28px; width: 99px;" | Port #
!Breaker Value
! style="height: 28px; width: 133px;" | Device (Subteam)
!Max Current
! style="height: 28px; width: 82px;" | Breaker Value
!Note
! style="height: 28px; width: 144px;" | Max Channel Current
|-
! style="height: 28px; width: 32px;" | Note
|0
|- style="height: 28px;"
|Neo (Drive)
| style="height: 28px; width: 99px; text-align: center;" | 0
|40A
| style="height: 28px; width: 133px; text-align: center;" |
|40A
Front Right Drive (Drive)
|
| style="height: 28px; width: 82px; text-align: center;" |
|-
40A
|1
| style="height: 28px; width: 144px; text-align: center;" |
|Neo 550 (Drive)
40A
|30A
| style="height: 28px; width: 32px; text-align: center;" |
|30A
<br>
|
|- style="height: 28px;"
|-
| style="height: 28px; width: 99px; text-align: center;" | 1
|2
| style="height: 28px; width: 133px; text-align: center;" |
|Neo (Drive)
Front Right Rotation (Drive)
|40A
| style="height: 28px; width: 82px; text-align: center;" |
|40A
40A
|
| style="height: 28px; width: 144px; text-align: center;" |
|-
40A
|3
| style="height: 28px; width: 32px; text-align: center;" |
|Neo 550 (Drive)
<br>
|30A
|- style="height: 28px;"
|30A
| style="height: 28px; width: 99px; text-align: center;" | 2
|
| style="height: 28px; width: 133px; text-align: center;" |
|-
Solenoid Relay
|4
| style="height: 28px; width: 82px; text-align: center;" |
|Leadscrew Left (Lift)
20A
|40A
| style="height: 28px; width: 144px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 32px; text-align: center;" |
|-
<br>
|5
|- style="height: 28px;"
|
| style="height: 28px; width: 99px; text-align: center;" | 3
|
| style="height: 28px; width: 133px; text-align: center;" |
|
<br>
|
| style="height: 28px; width: 82px; text-align: center;" |
|-
<br>
|6
| style="height: 28px; width: 144px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 32px; text-align: center;" |
|
<br>
|
|- style="height: 28px;"
|-
| style="height: 28px; width: 99px; text-align: center;" | 4
|7
| style="height: 28px; width: 133px; text-align: center;" |
|
Left Hang Arm
|
| style="height: 28px; width: 82px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 144px; text-align: center;" |
|-
40A
|8
| style="height: 28px; width: 32px; text-align: center;" |
|
<br>
|
|- style="height: 28px;"
|
| style="height: 28px; width: 99px; text-align: center;" | 5
|
| style="height: 28px; width: 133px; text-align: center;" |
|-
Intake
|9
| style="height: 28px; width: 82px; text-align: center;" |
|
30A
|
| style="height: 28px; width: 144px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 32px; text-align: center;" |
|-
<br>
|10
|- style="height: 28px;"
|Grabber Right
| style="height: 28px; width: 99px; text-align: center;" | 6
|30A
| style="height: 28px; width: 133px; text-align: center;" |
|
Right Shooter
|
| style="height: 28px; width: 82px; text-align: center;" |
|-
40A
|11
| style="height: 28px; width: 144px; text-align: center;" |
|Grabber Left
40A
|30A
| style="height: 28px; width: 32px; text-align: center;" |
|
<br>
|
|- style="height: 28px;"
|-
| style="height: 28px; width: 99px; text-align: center;" | 7
|12
| style="height: 28px; width: 133px; text-align: center;" |
|
Left Shooter
|
| style="height: 28px; width: 82px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 144px; text-align: center;" |
|-
40A
|13
| style="height: 28px; width: 32px; text-align: center;" |
|
<br>
|
|- style="height: 28px;"
|
| style="height: 28px; width: 99px; text-align: center;" | 8
|
| style="height: 28px; width: 133px; text-align: center;" |
|-
Front Left Drive (Drive)
|14
| style="height: 28px; width: 82px; text-align: center;" |
|Telescoping (Lift)
40A
|40A
| style="height: 28px; width: 144px; text-align: center;" |
|
40A
|
| style="height: 28px; width: 32px; text-align: center;" |
|-
<br>
|15
|- style="height: 28px;"
|Leadscrew Right (Lift)
| style="height: 28px; width: 99px; text-align: center;" | 9
|30A
| style="height: 28px; width: 133px; text-align: center;" |
|
Front Left Rotation
|
| style="height: 28px; width: 82px; text-align: center;" |
|-
40A
|16
| style="height: 28px; width: 144px; text-align: center;" |
|Neo (Drive)
40A
|40A
| style="height: 28px; width: 32px; text-align: center;" |
|40A
<br>
|
|- style="height: 28px;"
|-
| style="height: 28px; width: 99px; text-align: center;" | 10
|17
| style="height: 28px; width: 133px; text-align: center;" |
|Neo 550 (Drive)
<br>
|30A
| style="height: 28px; width: 82px; text-align: center;" |
|30A
40
|
| style="height: 28px; width: 144px; text-align: center;" |
|-
40A
|18
| style="height: 28px; width: 32px; text-align: center;" |
|Neo (Drive)
<br>
|40A
|- style="height: 28px;"
|40A
| style="height: 28px; width: 99px; text-align: center;" | 11
|
| style="height: 28px; width: 133px; text-align: center;" |
|-
Back Left Rotation (Drive)
|19
| style="height: 28px; width: 82px; text-align: center;" |
|Neo 550 (Drive)
40A
|30A
| style="height: 28px; width: 144px; text-align: center;" |
|30A
40A
|
| style="height: 28px; width: 32px; text-align: center;" |
|-
<br>
|20
|- style="height: 28px;"
|RIO(?)
| style="height: 28px; width: 99px; text-align: center;" | 12
|10A
| style="height: 28px; width: 133px; text-align: center;" |
|
Back Left Drive (Drive)
|Fused Port
| style="height: 28px; width: 82px; text-align: center;" |
|-
40A
|21
| style="height: 28px; width: 144px; text-align: center;" |
|VRM(?)
40A
|20A
| style="height: 28px; width: 32px; text-align: center;" |
|
<br>
|Fused Port
|- style="height: 28px;"
|-
| style="height: 28px; width: 99px; text-align: center;" | 13
|22
| style="height: 28px; width: 133px; text-align: center;" |
|PCM
<br>
|10A
| style="height: 28px; width: 82px; text-align: center;" |
|
<br>
|Fused Port
| style="height: 28px; width: 144px; text-align: center;" |
|-
40A
|23 (Switchable)
| style="height: 28px; width: 32px; text-align: center;" |
|Ethernet Switch
<br>
|5A
|- style="height: 28px;"
|
| style="height: 28px; width: 99px; text-align: center;" | 14
|Fused Port
| style="height: 28px; width: 133px; text-align: center;" |
Game Piece Arm Pivot
| style="height: 28px; width: 82px; text-align: center;" |
40A
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 15
| style="height: 28px; width: 133px; text-align: center;" |
Back Right Drive (Drive)
| style="height: 28px; width: 82px; text-align: center;" |
40A
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 16
| style="height: 28px; width: 133px; text-align: center;" |
Back Right Rotation (Drive)
| style="height: 28px; width: 82px; text-align: center;" |
40A
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 17
| style="height: 28px; width: 133px; text-align: center;" |
Hang Right&nbsp;
| style="height: 28px; width: 82px; text-align: center;" |
40A
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 18
| style="height: 28px; width: 133px; text-align: center;" |
Brake/Worm Gear
| style="height: 28px; width: 82px; text-align: center;" |
30A
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 19
| style="height: 28px; width: 133px; text-align: center;" |
<br>
| style="height: 28px; width: 82px; text-align: center;" |
<br>
| style="height: 28px; width: 144px; text-align: center;" |
40A
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 20
| style="height: 28px; width: 133px; text-align: center;" |
RoboRIO (RCS)
| style="height: 28px; width: 82px; text-align: center;" |
10A
| style="height: 28px; width: 144px; text-align: center;" |
10A Fused
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 21
| style="height: 28px; width: 133px; text-align: center;" |
VRM (RCS)
| style="height: 28px; width: 82px; text-align: center;" |
10A
| style="height: 28px; width: 144px; text-align: center;" |
10A Fused
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 22
| style="height: 28px; width: 133px; text-align: center;" |
3X Allen Bradley Sensors (Ganged)
| style="height: 28px; width: 82px; text-align: center;" |
10A
| style="height: 28px; width: 144px; text-align: center;" |
10A Fused
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|- style="height: 28px;"
| style="height: 28px; width: 99px; text-align: center;" | 23 (Switchable)
| style="height: 28px; width: 133px; text-align: center;" |
<br>
| style="height: 28px; width: 82px; text-align: center;" |
<br>
| style="height: 28px; width: 144px; text-align: center;" |
5A Fused
| style="height: 28px; width: 32px; text-align: center;" |
<br>
|}
|}
</div><div class="mw-parser-output">


<div class="mw-parser-output">
<div class="mw-parser-output">
{| class="wikitable"
<div class="mw-parser-output">
|+VRM Assignments
 
!Port #
{| class="wikitable" style="height: 252px;"
!Device (Subteam)
|+ VRM Assignments
|-
! style="height: 28px; width: 75.25px;" | Port #
|5V/2A
! style="height: 28px; width: 120.85px;" | Device (Subteam)
|Blinky Blinky
|- style="height: 28px;"
|-
| style="height: 28px; width: 75.25px;" | 5V/2A
|5V/2A
| style="height: 28px; width: 120.85px;" |
|Blinky Blinky
LED
|-
|- style="height: 28px;"
|5V/500mA
| style="height: 28px; width: 75.25px;" | 5V/2A
|Blinky Blinky
| style="height: 28px; width: 120.85px;" |
|-
LED
|5V/500mA
|- style="height: 28px;"
|Blinky Blinky
| style="height: 28px; width: 75.25px;" | 5V/500mA
|-
| style="height: 28px; width: 120.85px;" |
|12V/2A
<br>
|Banner Sensor - GamePiece
|- style="height: 28px;"
|-
| style="height: 28px; width: 75.25px;" | 5V/500mA
| 12V/2A
| style="height: 28px; width: 120.85px;" |
|
<br>
|-
|- style="height: 28px;"
|12V/500mA
| style="height: 28px; width: 75.25px;" | 12V/2A
|4x CanCoders tied together - Drive
| style="height: 28px; width: 120.85px;" |
|-
Radio (RCS)
|12V/500mA
|- style="height: 28px;"
| style="height: 28px; width: 75.25px;" | 12V/2A
| style="height: 28px; width: 120.85px;" |
Do Not Use&nbsp;
|- style="height: 28px;"
| style="height: 28px; width: 75.25px;" | 12V/500mA
| style="height: 28px; width: 120.85px;" |
CanCoders 4x Ganged - Drive
|- style="height: 28px;"
| style="height: 28px; width: 75.25px;" | 12V/500mA
| Pigeon2
|}
|}
</div> <div class="mw-parser-output"></div><div class="mw-parser-output">
</div>
<div class="mw-parser-output"></div>
<div class="mw-parser-output"></div></div>


==PWM Outputs==
== PWM Outputs ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 902px"
{| style="width: 902px; height: 416px;" border="1" cellspacing="1" cellpadding="2"
|-
|- style="height: 80px;"
| style="width: 15px" |'''ID'''
| style="width: 16.025px; height: 80px;" | '''ID'''
| style="width: 70px; text-align: center" |'''Subsystem'''
| style="width: 76.8375px; text-align: center; height: 80px;" | '''Subsystem'''
| style="width: 76px" |<p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>
| style="width: 79.9875px; height: 80px;" | <p style="text-align: center">'''Component'''</p>
| style="text-align: center; width: 94px" |'''Model #'''
<p style="text-align: center">'''Type'''</p>
| style="text-align: center; width: 167px" |'''Description<br /> (brief)'''
| style="text-align: center; width: 75.675px; height: 80px;" | '''Model #'''
| style="text-align: center; width: 148px" |
| style="text-align: center; width: 136.3px; height: 80px;" | '''Description<br>(brief)'''
| style="text-align: center; width: 120.025px; height: 80px;" |
'''Operation'''
'''Operation'''


&nbsp;
&nbsp;


| style="text-align: center; width: 280px" |'''Brake/Coast'''
| style="text-align: center; width: 211.488px; height: 80px;" | '''Brake/Coast'''
| colspan="2" rowspan="1" style="width: 198px; text-align: center" |
| style="width: 146.462px; text-align: center; height: 80px;" colspan="2" rowspan="1" |
'''Notes'''
'''Notes'''


'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PDB # &nbsp;&nbsp;'''
'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PDB # &nbsp;&nbsp;'''


|-
|- style="height: 28px;"
| style="width: 15px" |0
| style="width: 16.025px; height: 28px;" | 0
| style="width: 70px" |Blinky Blinky
| style="width: 76.8375px; height: 28px;" |
| style="width: 76px" |LED Strip
LEDs
| style="width: 94px" |
| style="width: 79.9875px; height: 28px;" |
| style="width: 167px; text-align: center" |
<br>
| style="width: 148px" |Illumination & Communication w/ HP
| style="width: 75.675px; height: 28px;" |
| style="width: 280px" |Yes
<br>
| style="width: 125px" |5V 2A on VRM
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 72px" |&nbsp;
<br>
|-
| style="width: 120.025px; height: 28px;" |
| style="width: 15px" |1
<br>
| style="width: 70px" |
| style="width: 211.488px; height: 28px;" |
| style="width: 76px" |
<br>
| style="width: 94px" |
| style="width: 88.725px; height: 28px;" |
| style="width: 167px; text-align: center" |
<br>
| style="width: 148px" |&nbsp;
| style="width: 52.9375px; height: 28px;" | &nbsp;
| style="width: 280px" |
|- style="height: 28px;"
| style="width: 125px" |&nbsp;
| style="width: 16.025px; height: 28px;" | 1
| style="width: 72px" |&nbsp;
| style="width: 76.8375px; height: 28px;" |
|-
<br>
| style="width: 15px" |2
| style="width: 79.9875px; height: 28px;" |
| style="width: 70px" |
<br>
| style="width: 76px" |
| style="width: 75.675px; height: 28px;" |
| style="width: 94px" |
<br>
| style="width: 167px; text-align: center" |
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 148px" |&nbsp;
<br>
| style="width: 280px" |&nbsp;
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 211.488px; height: 28px;" |
| style="width: 72px" |&nbsp;
<br>
|-
| style="width: 88.725px; height: 28px;" | &nbsp;
| style="width: 15px" |3
| style="width: 52.9375px; height: 28px;" | &nbsp;
| style="width: 70px" |
|- style="height: 28px;"
| style="width: 76px" |
| style="width: 16.025px; height: 28px;" | 2
| style="width: 94px" |
| style="width: 76.8375px; height: 28px;" |
| style="width: 167px; text-align: center" |
<br>
| style="width: 148px" |&nbsp;
| style="width: 79.9875px; height: 28px;" |
| style="width: 280px" |&nbsp;
<br>
| style="width: 125px" |&nbsp;
| style="width: 75.675px; height: 28px;" |
| style="width: 72px" |&nbsp;
<br>
|-
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 15px" |4
<br>
| style="width: 70px" |
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 76px" |
| style="width: 211.488px; height: 28px;" | &nbsp;
| style="width: 94px" |
| style="width: 88.725px; height: 28px;" | &nbsp;
| style="width: 167px; text-align: center" |
| style="width: 52.9375px; height: 28px;" | &nbsp;
| style="width: 148px" |
|- style="height: 28px;"
| style="width: 280px" |
| style="width: 16.025px; height: 28px;" | 3
| style="width: 125px" |
| style="width: 76.8375px; height: 28px;" |
| style="width: 72px" |
<br>
|-
| style="width: 79.9875px; height: 28px;" |
| style="width: 15px" |5
<br>
| style="width: 70px" |
| style="width: 75.675px; height: 28px;" |
| style="width: 76px" |
<br>
| style="width: 94px" |&nbsp;
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 167px" |
<br>
| style="width: 148px" |&nbsp;
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 211.488px; height: 28px;" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 88.725px; height: 28px;" | &nbsp;
| style="width: 72px" |&nbsp;
| style="width: 52.9375px; height: 28px;" | &nbsp;
|-
|- style="height: 28px;"
| rowspan="1" style="width: 15px" |6
| style="width: 16.025px; height: 28px;" | 4
| style="width: 70px" |  
| style="width: 76.8375px; height: 28px;" |
| style="width: 76px" |
<br>
| style="width: 94px" |
| style="width: 79.9875px; height: 28px;" |
| style="width: 167px; text-align: center" |
<br>
| style="width: 148px" |
| style="width: 75.675px; height: 28px;" |
| style="width: 280px" |
<br>
| style="width: 125px; text-align: center" |
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 72px; text-align: center" |
<br>
|-
| style="width: 120.025px; height: 28px;" |
| rowspan="1" style="width: 15px" |7
<br>
| style="width: 70px" |
| style="width: 211.488px; height: 28px;" |
| style="width: 76px" |
<br>
| style="width: 94px" |
| style="width: 88.725px; height: 28px;" |
| style="width: 167px; text-align: center" |
<br>
| style="width: 148px" |&nbsp;
| style="width: 52.9375px; height: 28px;" |
| style="width: 280px" |
<br>
| style="width: 125px; text-align: center" |
|- style="height: 28px;"
| style="width: 72px; text-align: center" |
| style="width: 16.025px; height: 28px;" | 5
|-
| style="width: 76.8375px; height: 28px;" |
| rowspan="1" style="width: 15px" |8
<br>
| style="width: 70px" |
| style="width: 79.9875px; height: 28px;" |
| style="width: 76px" |
<br>
| style="width: 94px" |
| style="width: 75.675px; height: 28px;" | &nbsp;
| style="width: 167px; text-align: center" |
| style="width: 136.3px; height: 28px;" |
| style="width: 148px" |
<br>
| style="width: 280px" |
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 125px; text-align: center" |
| style="width: 211.488px; height: 28px;" | &nbsp;
| style="width: 72px; text-align: center" |
| style="width: 88.725px; height: 28px;" | &nbsp;
|-
| style="width: 52.9375px; height: 28px;" | &nbsp;
| rowspan="1" style="width: 15px" |9
|- style="height: 28px;"
| style="width: 70px" |  
| style="width: 16.025px; height: 28px;" rowspan="1" | 6
| style="width: 76px" |
| style="width: 76.8375px; height: 28px;" |
| style="width: 94px" |
<br>
| style="width: 167px; text-align: center" |
| style="width: 79.9875px; height: 28px;" |
| style="width: 148px" |&nbsp;
<br>
| style="width: 280px" |
| style="width: 75.675px; height: 28px;" |
| style="width: 125px; text-align: center" |
<br>
| style="width: 72px; text-align: center" |
| style="width: 136.3px; text-align: center; height: 28px;" |
|-
<br>
| style="width: 15px" |10
| style="width: 120.025px; height: 28px;" |
| style="width: 70px" |&nbsp;
<br>
| style="width: 76px" |&nbsp;
| style="width: 211.488px; height: 28px;" |
| style="width: 94px" |&nbsp;
<br>
| style="width: 167px" |&nbsp;
| style="width: 88.725px; text-align: center; height: 28px;" |
| style="width: 148px" |&nbsp;
<br>
| style="width: 280px" |&nbsp;
| style="width: 52.9375px; text-align: center; height: 28px;" |
| style="width: 125px" |&nbsp;
<br>
| style="width: 72px" |&nbsp;
|- style="height: 28px;"
|-
| style="width: 16.025px; height: 28px;" rowspan="1" | 7
| style="width: 15px" |11
| style="width: 76.8375px; height: 28px;" |
| style="width: 70px" |&nbsp;
<br>
| style="width: 76px" |&nbsp;
| style="width: 79.9875px; height: 28px;" |
| style="width: 94px" |&nbsp;
<br>
| style="width: 167px" |&nbsp;
| style="width: 75.675px; height: 28px;" |
| style="width: 148px" |&nbsp;
<br>
| style="width: 280px" |&nbsp;
| style="width: 136.3px; text-align: center; height: 28px;" |
| style="width: 125px" |&nbsp;
<br>
| style="width: 72px" |&nbsp;
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 211.488px; height: 28px;" |
<br>
| style="width: 88.725px; text-align: center; height: 28px;" |
<br>
| style="width: 52.9375px; text-align: center; height: 28px;" |
<br>
|- style="height: 28px;"
| style="width: 16.025px; height: 28px;" rowspan="1" | 8
| style="width: 76.8375px; height: 28px;" |
<br>
| style="width: 79.9875px; height: 28px;" |
<br>
| style="width: 75.675px; height: 28px;" |
<br>
| style="width: 136.3px; text-align: center; height: 28px;" |
<br>
| style="width: 120.025px; height: 28px;" |
<br>
| style="width: 211.488px; height: 28px;" |
<br>
| style="width: 88.725px; text-align: center; height: 28px;" |
<br>
| style="width: 52.9375px; text-align: center; height: 28px;" |
<br>
|- style="height: 28px;"
| style="width: 16.025px; height: 28px;" rowspan="1" | 9
| style="width: 76.8375px; height: 28px;" |
<br>
| style="width: 79.9875px; height: 28px;" |
<br>
| style="width: 75.675px; height: 28px;" |
<br>
| style="width: 136.3px; text-align: center; height: 28px;" |
<br>
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 211.488px; height: 28px;" |
<br>
| style="width: 88.725px; text-align: center; height: 28px;" |
<br>
| style="width: 52.9375px; text-align: center; height: 28px;" |
<br>
|- style="height: 28px;"
| style="width: 16.025px; height: 28px;" | 10
| style="width: 76.8375px; height: 28px;" | &nbsp;
| style="width: 79.9875px; height: 28px;" | &nbsp;
| style="width: 75.675px; height: 28px;" | &nbsp;
| style="width: 136.3px; height: 28px;" | &nbsp;
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 211.488px; height: 28px;" | &nbsp;
| style="width: 88.725px; height: 28px;" | &nbsp;
| style="width: 52.9375px; height: 28px;" | &nbsp;
|- style="height: 28px;"
| style="width: 16.025px; height: 28px;" | 11
| style="width: 76.8375px; height: 28px;" | &nbsp;
| style="width: 79.9875px; height: 28px;" | &nbsp;
| style="width: 75.675px; height: 28px;" | &nbsp;
| style="width: 136.3px; height: 28px;" | &nbsp;
| style="width: 120.025px; height: 28px;" | &nbsp;
| style="width: 211.488px; height: 28px;" | &nbsp;
| style="width: 88.725px; height: 28px;" | &nbsp;
| style="width: 52.9375px; height: 28px;" | &nbsp;
|}
|}


<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> <div class="mw-parser-output">&nbsp;</div>      
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div></div>
<div class="mw-parser-output">&nbsp;</div>
 
== Relay Outputs ==
 
{| style="width: 902px; height: 169px;" border="1" cellspacing="1" cellpadding="2"
|- style="height: 57px;"
| style="height: 57px; width: 27.8906px;" | '''ID'''
| style="text-align: center; height: 57px; width: 139.875px;" | '''Subsystem'''
| style="width: 80px; height: 57px;" | <p style="text-align: center">'''Component'''</p>
<p style="text-align: center">'''Type'''</p>
| style="width: 51.2188px; text-align: center; height: 57px;" | '''Model #'''
| style="width: 166.875px; text-align: center; height: 57px;" | '''Description<br>(brief)'''
| style="width: 217.828px; text-align: center; height: 57px;" | '''Operation'''
| style="width: 182.312px; text-align: center; height: 57px;" | '''Notes'''
|- style="height: 28px;"
| style="height: 28px; width: 27.8906px;" | 0
| style="height: 28px; width: 139.875px;" | &nbsp;Hang
| style="width: 80px; height: 28px;" | SPIKE relay
| style="width: 51.2188px; height: 28px;" | &nbsp;
| style="width: 166.875px; height: 28px;" | Actuates braking pawl against ratchet wheel.


== Relay Outputs==
Energizing lifts the pawl off the ratchet wheel. Integrated spring pushes pawl into ratchet wheel.
| style="width: 217.828px; height: 28px;" | &nbsp;
| style="width: 182.312px; height: 28px;" | Two solenoids controlled via one SPIKE relay (one on M+ and one on M- with common ground)


{| border="1" cellpadding="2" cellspacing="1" style="width: 927px"
Left Solenoid is Reverse, Right is Forward.
|-
 
|'''ID'''
[https://content.vexrobotics.com/docs/spike-blue-guide-sep05.pdf See Spike Users Guide]
| style="text-align: center" |'''Subsystem'''
|- style="height: 28px;"
| style="width: 69px" |<p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>
| style="height: 28px; width: 27.8906px;" | 1
| style="width: 54px; text-align: center" |'''Model #'''
| style="height: 28px; width: 139.875px;" | &nbsp;
| style="width: 192px; text-align: center" |'''Description<br /> (brief)'''
| style="width: 80px; height: 28px;" | &nbsp;
| style="width: 259px; text-align: center" |'''Operation'''
| style="width: 51.2188px; height: 28px;" | &nbsp;
| style="width: 115px; text-align: center" |'''Notes'''
| style="width: 166.875px; height: 28px;" | &nbsp;
|-
| style="width: 217.828px; height: 28px;" | &nbsp;
| 0
| style="width: 182.312px; height: 28px;" | &nbsp;
|&nbsp;
|- style="height: 28px;"
| style="width: 69px" |&nbsp;
| style="height: 28px; width: 27.8906px;" | 2
| style="width: 54px" |&nbsp;
| style="height: 28px; width: 139.875px;" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 80px; height: 28px;" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 51.2188px; height: 28px;" | &nbsp;
| style="width: 115px" |&nbsp;
| style="width: 166.875px; height: 28px;" | &nbsp;
|-
| style="width: 217.828px; height: 28px;" | &nbsp;
|1
| style="width: 182.312px; height: 28px;" | &nbsp;
|&nbsp;
|- style="height: 28px;"
| style="width: 69px" |&nbsp;
| style="height: 28px; width: 27.8906px;" | 3
| style="width: 54px" |&nbsp;
| style="height: 28px; width: 139.875px;" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 80px; height: 28px;" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 51.2188px; height: 28px;" | &nbsp;
| style="width: 115px" |&nbsp;
| style="width: 166.875px; height: 28px;" | &nbsp;
|-
| style="width: 217.828px; height: 28px;" | &nbsp;
|2
| style="width: 182.312px; height: 28px;" | &nbsp;
|&nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" |&nbsp;
|-
| 3
|&nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" |&nbsp;
|}
|}
&nbsp;


&nbsp;
<div class="mw-parser-output"></div>
<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">
<div class="mw-parser-output">
<div class="mw-parser-output">
===<u>RoboRIO Analog Inputs</u>===


{| style="width: 1030px" cellspacing="1" cellpadding="2" border="1"
=== <u>RoboRIO Analog Inputs</u> ===
|-
 
|ID
{| style="width: 1030px" border="1" cellspacing="1" cellpadding="2"
| style="text-align: center" |Subsystem
|-  
| style="width: 70px" |<p style="text-align: center">Component</p> <p style="text-align: center">Type</p>
| ID
| style="width: 54px;  text-align: center" |Model #
| style="text-align: center" | Subsystem
| style="width: 227px;  text-align: center" |Description<br /> (brief)
| style="width: 70px" | <p style="text-align: center">Component</p>
| style="width: 262px;  text-align: center" |Operation
<p style="text-align: center">Type</p>
| style="width: 132px;  text-align: center" |  
| style="width: 54px;  text-align: center" | Model #
| style="width: 227px;  text-align: center" | Description<br>(brief)
| style="width: 262px;  text-align: center" | Operation
| 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
|
|
<br>
| style="width: 70px" |
| style="width: 70px" |
<br>
| style="width: 54px" |
| style="width: 54px" |
<br>
| style="width: 227px" |
| style="width: 227px" |
<br>
| style="width: 262px" |
| style="width: 262px" |
<br>
| style="width: 132px" |
| style="width: 132px" |
<br>
| style="width: 91px;  text-align: center" |
| style="width: 91px;  text-align: center" |
|-
<br>
| style="text-align: center" |1
|-  
| style="text-align: center" | 1
| style="text-align: center" |
| style="text-align: center" |
<br>
| style="width: 69px;  text-align: center" |
| style="width: 69px;  text-align: center" |
<br>
| style="width: 122px;  text-align: center" |
| style="width: 122px;  text-align: center" |
<br>
| style="width: 139px;  text-align: center" |
| style="width: 139px;  text-align: center" |
<br>
| style="width: 193px;  text-align: center" |
| style="width: 193px;  text-align: center" |
| style="width: 223px;  text-align: center" |&nbsp;
<br>
|&nbsp;
| style="width: 223px;  text-align: center" | &nbsp;
|-
| &nbsp;
|-  
| style="text-align: center" | 2
| style="text-align: center" | 2
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px;  text-align: center" |&nbsp;
| style="width: 69px;  text-align: center" | &nbsp;
| style="width: 122px;  text-align: center" |&nbsp;
| style="width: 122px;  text-align: center" | &nbsp;
| style="width: 139px;  text-align: center" |&nbsp;
| style="width: 139px;  text-align: center" | &nbsp;
| style="width: 193px;  text-align: center" |&nbsp;
| style="width: 193px;  text-align: center" | &nbsp;
| style="width: 223px;  text-align: center" |&nbsp;
| style="width: 223px;  text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|-
|-  
| style="text-align: center" |3
| style="text-align: center" | 3
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px;  text-align: center" |&nbsp;
| style="width: 69px;  text-align: center" | &nbsp;
| style="width: 122px;  text-align: center" |&nbsp;
| style="width: 122px;  text-align: center" | &nbsp;
| style="width: 139px;  text-align: center" |&nbsp;
| style="width: 139px;  text-align: center" | &nbsp;
| style="width: 193px;  text-align: center" |&nbsp;
| style="width: 193px;  text-align: center" | &nbsp;
| style="width: 223px;  text-align: center" |&nbsp;
| style="width: 223px;  text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|}
|}
</div> <div class="mw-parser-output">&nbsp;</div> </div>
</div>
<div class="mw-parser-output">&nbsp;</div></div>


===<u>More Board Analog Inputs</u>===
=== <u>More Board Analog Inputs</u> ===


{| border="1" cellpadding="2" cellspacing="1" style="width: 1030px"
{| style="width: 1030px" border="1" cellspacing="1" cellpadding="2"
|-
|-  
| 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>
| style="width: 54px; text-align: center" |Model #
<p style="text-align: center">Type</p>
| style="width: 227px; text-align: center" |Description<br /> (brief)
| style="width: 54px; text-align: center" | Model #
| style="width: 262px; text-align: center" |Operation
| style="width: 227px; text-align: center" | Description<br>(brief)
| style="width: 262px; text-align: center" | Operation
| style="width: 132px; text-align: center" |
| style="width: 132px; text-align: center" |
Voltage
Voltage
Line 699: Line 1,201:
Range
Range


| style="width: 91px; text-align: center" |Notes
| style="width: 91px; text-align: center" | Notes
|-
|-  
| style="text-align: center" |0
| style="text-align: center" | 0
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" |&nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" |&nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" |&nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" |&nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |&nbsp;
| style="width: 223px; text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|-
|-  
| style="text-align: center" |1
| style="text-align: center" | 1
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" |&nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" |&nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" |&nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" |&nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |&nbsp;
| style="width: 223px; text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|-
|-  
| style="text-align: center" |2
| style="text-align: center" | 2
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" |&nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" |&nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" |&nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" |&nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |&nbsp;
| style="width: 223px; text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|-
|-  
| style="text-align: center" |3
| style="text-align: center" | 3
| style="text-align: center" |&nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" |&nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" |&nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" |&nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" |&nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |&nbsp;
| style="width: 223px; text-align: center" | &nbsp;
|&nbsp;
| &nbsp;
|}
|}
&nbsp;</div></div>
<div class="mw-parser-output"><div class="mw-parser-output">


&nbsp;
</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">
==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>===


{| border="1" cellpadding="2" cellspacing="1" style="width: 1229px"
=== <u>RoboRio IO</u> ===
|-
| style="text-align: center" |'''ID'''
| style="text-align: center" |'''Direction'''<br /> (IN/OUT)
| style="width: 69px; text-align: center" |'''Subsystem'''
| style="width: 122px" |<p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>
| style="width: 139px; text-align: center" |'''Model #'''
| style="width: 193px; text-align: center" |'''Description<br /> (brief)'''
| style="width: 223px; text-align: center" |'''Operation'''
| style="width: 231px; text-align: center" |'''Notes'''
|-
| style="text-align: center" |0
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |Grabber
| style="width: 122px; text-align: center" |Beam Break
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |Grabber intake sensor
| style="width: 223px; text-align: center" |Detect acquired game pieces
| style="width: 231px; text-align: center" |
|-
| style="text-align: center" |1
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |Lift
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |Lift home sensor
| style="width: 223px; text-align: center" |Detect when telescoping arm is fully retracted
| style="width: 231px; text-align: center" |
|-
| style="text-align: center" |2
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Lift
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |Lift extension sensor
| style="width: 223px; text-align: center" |Detect when telescoping arm is fully extended


| style="width: 231px; text-align: center" |
{| style="width: 1187px; height: 417px;" border="1" cellspacing="1" cellpadding="2"
|-
|- style="height: 57px;"
| style="text-align: center" |3
| style="text-align: center; height: 57px; width: 44px;" | '''ID'''
| style="text-align: center" |IN
| style="text-align: center; height: 57px; width: 159px;" | '''Direction'''<br>(IN/OUT)
| style="width: 69px; text-align: center" |Lift
| style="width: 76px; text-align: center; height: 57px;" | '''Subsystem'''
| style="width: 122px; text-align: center" |
| style="width: 122px; height: 57px;" | <p style="text-align: center;">'''Component'''</p>
| style="width: 139px; text-align: center" |
<p style="text-align: center;">'''Type'''</p>
| style="width: 193px; text-align: center" |
| style="width: 139px; text-align: center; height: 57px;" | '''Model #'''
| style="width: 223px; text-align: center" |Lift home sensor (ish) & hard stop
| style="width: 193px; text-align: center; height: 57px;" | '''Description<br>(brief)'''
| style="width: 231px; text-align: center" |Detect when lift needs to stop
| style="width: 223px; text-align: center; height: 57px;" | '''Operation'''
|-
| style="width: 231px; text-align: center; height: 57px;" | '''Notes'''
| style="text-align: center" |4
|- style="height: 28px;"
| style="text-align: center" |IN
| style="text-align: center; height: 28px; width: 44px;" | 0
| style="width: 69px; text-align: center" |
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 122px; text-align: center" |
| style="width: 76px; text-align: center; height: 28px;" |
| style="width: 139px; text-align: center" |
Game Piece - Intake
| style="width: 193px; text-align: center" |
| style="width: 122px; text-align: center; height: 28px;" |
| style="width: 223px; text-align: center" |
Diffuse retro-reflective sensor
| style="width: 231px; text-align: center" |
| style="width: 139px; text-align: center; height: 28px;" |
|-
Allen Bradley 42EF-D2MPAK-F4
| style="text-align: center" |5
| style="width: 193px; height: 28px; text-align: left;" |
| style="text-align: center" |
Senses GP<br>Positioned such that sensor is tripped when game piece has entered intake and sensor just clears when game piece is positioned for storage until time to shoot or eject.
| style="width: 69px; text-align: center" |
| style="width: 223px; text-align: center; height: 28px;" |
| style="width: 122px; text-align: center" |
<br>
| style="width: 139px; text-align: center" |
| style="width: 231px; height: 28px; text-align: left;" |
| style="width: 193px; text-align: center" |
<p>Wire for Dark operating</p>Signal connects to roborio DIO<p>12V powered</p>
| style="width: 223px; text-align: center" |
<p>Voltage divider added to cable pigtail</p>
| style="width: 231px; text-align: center" |
<p>[https://wiki.penfieldrobotics.com/wiki/index.php?title=File:Allen_Bradley_Diffuse_Circuit.jpg See circuit diagram]&nbsp;</p>
|-
|- style="height: 51px;"
| style="text-align: center" | 6
| style="text-align: center; height: 51px; width: 44px;" | 1
| style="text-align: center" |
| style="text-align: center; height: 51px; width: 159px;" | IN
| style="width: 69px; text-align: center" |
| style="width: 76px; text-align: center; height: 51px;" |
| style="width: 122px; text-align: center" |
Game Piece - Arm
| style="width: 139px; text-align: center" |
| style="width: 122px; text-align: center; height: 51px;" |
| style="width: 193px; text-align: center" |
Encoder
| style="width: 223px; text-align: center" |
| style="width: 139px; text-align: center; height: 51px;" |
| style="width: 231px; text-align: center" |
[https://www.revrobotics.com/rev-11-1271/ https://www.revrobotics.com/rev-11-1271/]
|-
| style="width: 193px; height: 51px; text-align: left;" |
| style="text-align: center" |7
Used in absolute position mode to indicate arm pivot angle.
| style="text-align: center" |IN
| style="width: 223px; text-align: center; height: 51px;" |
| style="width: 69px; text-align: center" |
<br>
| style="width: 122px; text-align: center" |
| style="width: 231px; height: 51px; text-align: left;" |
| style="width: 139px; text-align: center" |
Wire White/Red/Black To roborio DIO
| style="width: 193px; text-align: center" |
|- style="height: 57px;"
| style="width: 223px; text-align: center" |
| style="text-align: center; height: 57px; width: 44px;" | 2
| style="width: 231px; text-align: center" |&nbsp;
| style="text-align: center; height: 57px; width: 159px;" | IN
|-
| style="width: 76px; text-align: center; height: 28px;" |
| style="text-align: center" |8
Hang Brake
| style="text-align: center" |IN
| style="width: 122px; text-align: center; height: 28px;" |
| style="width: 69px; text-align: center" |
Leaf Lever Limit Switch Right
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center; height: 28px;" |
| style="width: 139px; text-align: center" |
V7-2B17D8-048
| style="width: 193px; text-align: center" |
| style="width: 193px; height: 28px; text-align: left;" |
| style="width: 223px; text-align: center" |
Triggers when pawl on brake is fully lifted and clear of ratchet wheel
| style="width: 231px; text-align: center" |&nbsp;
| style="width: 223px; text-align: center; height: 28px;" |
|-
<br>
| style="text-align: center" |9
| style="width: 231px; height: 28px; text-align: left;" |
| style="text-align: center" |IN
roborio DIO<br>Wire for normally open
| style="width: 69px; text-align: center" |
|- style="height: 28px;"
| style="width: 122px; text-align: center" |
| style="text-align: center; height: 28px; width: 44px;" | 3
| style="width: 139px; text-align: center" |
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 193px; text-align: center" |
| style="width: 76px; text-align: center; height: 28px;" |
| style="width: 223px; text-align: center" |
Hang Brake
| style="width: 231px; text-align: center" |&nbsp;
| style="width: 122px; text-align: center; height: 28px;" |
|-
Leaf Lever Limit Switch Left
| style="text-align: center" |10
| style="width: 139px; text-align: center; height: 28px;" |
| style="text-align: center" |IN
V7-2B17D8-048
| style="width: 69px; text-align: center" |
| style="width: 193px; height: 28px; text-align: left;" |
| style="width: 122px; text-align: center" |
Triggers when pawl on brake is fully lifted and clear of ratchet wheel<br><br>
| style="width: 139px; text-align: center" |
| style="width: 223px; text-align: center; height: 28px;" |
| style="width: 193px; text-align: center" |
<br>
| style="width: 223px; text-align: center" |
| style="width: 231px; height: 28px; text-align: left;" |
| style="width: 231px; text-align: center" |&nbsp;
roborio DIO<br>Wire for normally open
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 4
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 76px; text-align: center; height: 28px;" |
Hang
| style="width: 122px; text-align: center; height: 28px;" |
Diffuse retro-reflective sensor
| style="width: 139px; text-align: center; height: 28px;" |
Allen Bradley 42EF-D2MPAK-F4
| style="width: 193px; text-align: center; height: 28px;" |
Detects when left hook is present (down)
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" |
<p>Wire for Dark operating</p>Signal connects to roborio DIO<p>12V powered</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>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 5
| style="text-align: center; height: 28px; width: 159px;" |
IN
| style="width: 76px; text-align: center; height: 28px;" |
Hang
| style="width: 122px; text-align: center; height: 28px;" |
Diffuse retro-reflective sensor
| style="width: 139px; text-align: center; height: 28px;" |
Allen Bradley 42EF-D2MPAK-F4
| style="width: 193px; text-align: center; height: 28px;" |
Detects when right hook is present (down)
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" |
<p>Wire for Dark operating</p>Signal connects to roborio DIO<p>12V powered</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>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 6
| style="text-align: center; height: 28px; width: 159px;" |
IN
| style="width: 76px; text-align: center; height: 28px;" |
<br>
| style="width: 122px; text-align: center; height: 28px;" |
<br>
| style="width: 139px; text-align: center; height: 28px;" |
<br>
| style="width: 193px; text-align: center; height: 28px;" |
<br>
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" |
<br>
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 7
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 76px; text-align: center; height: 28px;" |
<br>
| style="width: 122px; text-align: center; height: 28px;" |
<br>
| style="width: 139px; text-align: center; height: 28px;" |
<br>
| style="width: 193px; text-align: center; height: 28px;" |
<br>
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" | &nbsp;
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 8
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 76px; text-align: center; height: 28px;" |
<br>
| style="width: 122px; text-align: center; height: 28px;" |
<br>
| style="width: 139px; text-align: center; height: 28px;" |
<br>
| style="width: 193px; text-align: center; height: 28px;" |
<br>
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" | &nbsp;
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 9
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 76px; text-align: center; height: 28px;" |
<br>
| style="width: 122px; text-align: center; height: 28px;" |
<br>
| style="width: 139px; text-align: center; height: 28px;" |
<br>
| style="width: 193px; text-align: center; height: 28px;" |
<br>
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" | &nbsp;
|- style="height: 28px;"
| style="text-align: center; height: 28px; width: 44px;" | 10
| style="text-align: center; height: 28px; width: 159px;" | IN
| style="width: 76px; text-align: center; height: 28px;" |
<br>
| style="width: 122px; text-align: center; height: 28px;" |
<br>
| style="width: 139px; text-align: center; height: 28px;" |
<br>
| style="width: 193px; text-align: center; height: 28px;" |
<br>
| style="width: 223px; text-align: center; height: 28px;" |
<br>
| style="width: 231px; text-align: center; height: 28px;" | &nbsp;
|}
|}
&nbsp; <div class="mw-parser-output">&nbsp;</div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div></div>
&nbsp;<div class="mw-parser-output">&nbsp;</div>
<div class="mw-parser-output">&nbsp;</div>


===<u>Rev Robotics More Board IO</u>===
=== <u>Rev Robotics More Board IO</u> ===


{| border="1" cellpadding="1" cellspacing="1" style="width: 1022px"
{| style="width: 1022px" border="1" cellspacing="1" cellpadding="1"
|-
|-  
| style="width: 16px; text-align: center" |'''ID'''
| style="width: 16px; text-align: center" | '''ID'''
| style="width: 56px; text-align: center" |'''Direction (IN/OUT)'''
| style="width: 56px; text-align: center" | '''Direction (IN/OUT)'''
| style="width: 74px; text-align: center" |'''Subsystem'''
| style="width: 74px; text-align: center" | '''Subsystem'''
| style="width: 74px; text-align: center" |'''Component Type'''
| style="width: 74px; text-align: center" | '''Component Type'''
| style="width: 56px; text-align: center" |'''Model #'''
| style="width: 56px; text-align: center" | '''Model #'''
| style="width: 197px; text-align: center" |'''Description (brief)'''
| style="width: 197px; text-align: center" | '''Description (brief)'''
| style="width: 254px; text-align: center" |'''Operation'''
| style="width: 254px; text-align: center" | '''Operation'''
| style="width: 141px; text-align: center" |'''Notes'''
| style="width: 141px; text-align: center" | '''Notes'''
|-
|-  
| style="width: 16px" | 0
| style="width: 16px" | 0
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |1
| style="width: 16px; text-align: center" | 1
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |2
| style="width: 16px; text-align: center" | 2
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |3
| style="width: 16px; text-align: center" | 3
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |4
| style="width: 16px; text-align: center" | 4
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |5
| style="width: 16px; text-align: center" | 5
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |6
| style="width: 16px; text-align: center" | 6
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |7
| style="width: 16px; text-align: center" | 7
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |8
| style="width: 16px; text-align: center" | 8
| style="width: 56px; text-align: center" |IN
| style="width: 56px; text-align: center" | IN
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |9
| style="width: 16px; text-align: center" | 9
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |10
| style="width: 16px; text-align: center" | 10
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" | 11
| style="width: 16px; text-align: center" | 11
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |12
| style="width: 16px; text-align: center" | 12
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |13
| style="width: 16px; text-align: center" | 13
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |14
| style="width: 16px; text-align: center" | 14
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px; text-align: center" |&nbsp;
| style="width: 141px; text-align: center" | &nbsp;
|-
|-  
| style="width: 16px; text-align: center" |15
| style="width: 16px; text-align: center" | 15
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" |&nbsp;
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" |&nbsp;
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" |&nbsp;
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |&nbsp;
| style="width: 254px; text-align: center" | &nbsp;
| style="width: 141px" |&nbsp;
| style="width: 141px" | &nbsp;
|}
|}
</div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</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">&nbsp;</div></div></div></div></div></div></div></div></div></div></div></div></div></div>


== I2C Registers==
== I2C Registers ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
{| style="width: 1007px" border="1" cellspacing="1" cellpadding="2"
|-
|-  
| style="text-align: center" |'''Address'''<br /> (e.g. 0100111X)
| style="text-align: center" | '''Address'''<br>(e.g. 0100111X)
| style="width: 37px; text-align: center" |'''Pin'''<br /> (e.g. GP0)
| style="width: 37px; text-align: center" | '''Pin'''<br>(e.g. GP0)
| style="width: 76px; text-align: center" |'''Subsystem'''
| style="width: 76px; text-align: center" | '''Subsystem'''
| style="width: 75px" |<p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>
| style="width: 75px" | <p style="text-align: center">'''Component'''</p>
| style="width: 53px; text-align: center" |'''Model #'''
<p style="text-align: center">'''Type'''</p>
| style="width: 205px; text-align: center" |'''Description<br /> (brief)'''
| style="width: 53px; text-align: center" | '''Model #'''
| style="width: 241px; text-align: center" |'''Operation'''
| style="width: 205px; text-align: center" | '''Description<br>(brief)'''
| style="width: 112px; text-align: center" |'''Notes'''
| style="width: 241px; text-align: center" | '''Operation'''
|-
| style="width: 112px; text-align: center" | '''Notes'''
| style="text-align: center" |0x52
|-  
| style="width: 37px; text-align: center" |&nbsp;
| style="text-align: center" |
<br>
| style="width: 37px; text-align: center" | &nbsp;
| style="width: 76px; text-align: center" |
| style="width: 76px; text-align: center" |
<br>
| style="width: 75px; text-align: center" |
| style="width: 75px; text-align: center" |
<br>
| style="width: 53px; text-align: center" |
| style="width: 53px; text-align: center" |
<br>
| style="width: 205px; text-align: center" |
| style="width: 205px; text-align: center" |
<br>
| style="width: 241px; text-align: center" |
| style="width: 241px; text-align: center" |
| style="width: 112px" |&nbsp;
<br>
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|-
| style="width: 112px" | &nbsp;
|&nbsp;
|-  
| style="width: 37px" |&nbsp;
| &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 37px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
|}  
| style="width: 112px" | &nbsp;
|}


==SPI Devices==
== SPI Devices ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
{| style="width: 1007px" border="1" cellspacing="1" cellpadding="2"
|-
|-  
| style="text-align: center" |'''#'''
| style="text-align: center" | '''#'''
| style="width: 76px; text-align: center" |'''Subsystem'''
| style="width: 76px; text-align: center" | '''Subsystem'''
| style="width: 75px" |<p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 75px" | <p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 53px; text-align: center" |'''Model #'''
| style="width: 53px; text-align: center" | '''Model #'''
| style="width: 205px; text-align: center" |'''Description&nbsp;(brief)'''
| style="width: 205px; text-align: center" | '''Description&nbsp;(brief)'''
| style="width: 241px; text-align: center" |'''Operation'''
| style="width: 241px; text-align: center" | '''Operation'''
| style="width: 112px; text-align: center" |'''Notes'''
| style="width: 112px; text-align: center" | '''Notes'''
|-
|-  
| style="text-align: center" |0
| style="text-align: center" | 0
| style="width: 76px; text-align: center" |Drive
| style="width: 76px; text-align: center" |
| style="width: 75px; text-align: center" |IMU
<br>
| style="width: 53px; text-align: center" |ADIS16470
| style="width: 75px; text-align: center" |
| style="width: 205px; text-align: center" |3-Axis gyro and accelerometer
<br>
| style="width: 241px; text-align: center" | Sense rotation of robot
| style="width: 53px; text-align: center" |
| style="width: 112px; text-align: center" |&nbsp;
<br>
| style="width: 205px; text-align: center" |
<br>
| style="width: 241px; text-align: center" |
<br>
| style="width: 112px; text-align: center" | &nbsp;
|}
|}


==USB Host Ports==
== USB Host Ports ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
{| style="width: 1007px" border="1" cellspacing="1" cellpadding="2"
|-
|-  
| style="text-align: center" |'''Address'''
| style="text-align: center" | '''Address'''
| style="width: 76px; text-align: center" |'''Subsystem'''
| style="width: 76px; text-align: center" | '''Subsystem'''
| style="width: 75px" |<p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 75px" | <p style="text-align: center">'''Component&nbsp;Type'''</p>
| style="width: 53px; text-align: center" |'''Model #'''
| style="width: 53px; text-align: center" | '''Model #'''
| style="width: 205px; text-align: center" |'''Description&nbsp;(brief)'''
| style="width: 205px; text-align: center" | '''Description&nbsp;(brief)'''
| style="width: 241px; text-align: center" |'''Operation'''
| style="width: 241px; text-align: center" | '''Operation'''
| style="width: 112px; text-align: center" |'''Notes'''
| style="width: 112px; text-align: center" | '''Notes'''
|-
|-  
|0
| 0
| style="width: 76px" |
| style="width: 76px" |
<br>
| style="width: 75px" |
| style="width: 75px" |
<br>
| style="width: 53px" |
| style="width: 53px" |
<br>
| style="width: 205px" |
| style="width: 205px" |
<br>
| style="width: 241px" |
| style="width: 241px" |
| style="width: 112px" |&nbsp;
<br>
|-
| style="width: 112px" | &nbsp;
|1
|-  
| style="width: 76px" |&nbsp;
| 1
| style="width: 75px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 112px" |&nbsp;
| style="width: 241px" | &nbsp;
| style="width: 112px" | &nbsp;
|}
|}
<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==


{| class="wikitable" border="1" cellpadding="2" cellspacing="1" style="width: 931px"
== Pneumatics Control Modules ==
|-
 
{| class="wikitable" style="width: 931px" border="1" cellspacing="1" cellpadding="2"
|-  
| style="width: 8px" |
| style="width: 8px" |
'''PCM'''
'''PCM'''
Line 1,155: Line 1,752:
'''ID'''
'''ID'''


| style="width: 1px" |'''#'''
| style="width: 1px" | '''#'''
| style="text-align: center" |'''Subsystem'''
| style="text-align: center" | '''Subsystem'''
| style="width: 75px" |<p style="text-align: center">'''Solenoid is Double or Single?'''</p>
| style="width: 75px" | <p style="text-align: center">'''Solenoid is Double or Single?'''</p>
| style="width: 64px" |<p style="text-align: center">'''Solenoid'''</p> <p style="text-align: center">'''Model #'''</p>
| style="width: 64px" | <p style="text-align: center">'''Solenoid'''</p>
| style="width: 183px" |<p style="text-align: center">'''Description'''</p> <p style="text-align: center">'''(brief)'''</p>
<p style="text-align: center">'''Model #'''</p>
| style="width: 290px; text-align: center" |'''Operation'''
| style="width: 183px" | <p style="text-align: center">'''Description'''</p>
| style="width: 118px; text-align: center" |'''Circuit Pressure'''
<p style="text-align: center">'''(brief)'''</p>
| style="width: 118px; text-align: center" |'''PDB #'''
| style="width: 290px; text-align: center" | '''Operation'''
|-
| style="width: 118px; text-align: center" | '''Circuit Pressure'''
| rowspan="8" style="width: 8px; text-align: center" |1
| style="width: 118px; text-align: center" | '''PDB #'''
| style="width: 1px" |0
|-  
| colspan="1" rowspan="2" |Grabber
| style="width: 8px; text-align: center" rowspan="8" | 1
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |Double
| style="width: 1px" | 0
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |
| colspan="1" rowspan="2" |
| style="width: 183px; text-align: center" |Extend
<br>
| style="width: 290px; text-align: center" |Difference between cone intake and cube intake
| style="width: 75px; text-align: center" colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="width: 118px; text-align: center" |
<br>
| rowspan="8" style="width: 118px; text-align: center" |
| style="width: 64px; text-align: center" colspan="1" rowspan="2" |
|-
<br>
| style="width: 1px; text-align: center" |1
| style="width: 183px; text-align: center" |
| style="width: 183px; text-align: center" |Retract
<br>
| style="width: 290px; text-align: center" |
<br>
| style="width: 118px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 118px; text-align: center" rowspan="8" |
<br>
|-
| style="width: 1px; text-align: center" | 1
| style="width: 183px; text-align: center" |
<br>
| style="width: 290px; text-align: center" |
<br>
|-  
| style="width: 1px; text-align: center" | 2
| style="text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 75px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 64px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 183px; text-align: center" |
<br>
| style="width: 290px; text-align: center" |
| style="width: 290px; text-align: center" |
|-
<br>
| style="width: 1px; text-align: center" |2
| style="width: 118px; text-align: center" colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="text-align: center" |Grabber
<br>
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |Double
|-  
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |
| style="width: 1px; text-align: center" | 3
| style="width: 183px; text-align: center" |Extend
| style="width: 183px; text-align: center" |
| style="width: 290px; text-align: center" |Difference between cone intake and cone transport
<br>
| colspan="1" rowspan="2" style="width: 118px; text-align: center" |
|-
| style="width: 1px; text-align: center" |3
| style="width: 183px; text-align: center" |Retract
| style="width: 290px; text-align: center" |
| style="width: 290px; text-align: center" |
|-
<br>
| style="width: 1px; text-align: center" |4
|-  
| colspan="1" rowspan="2" style="text-align: center" |Grabber
| style="width: 1px; text-align: center" | 4
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |Double
| style="text-align: center" colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |
<br>
| style="width: 183px; text-align: center" |Extend
| style="width: 75px; text-align: center" colspan="1" rowspan="2" |
| style="width: 290px; text-align: center" |Grabber Position for intaking tipped cone
<br>
| colspan="1" rowspan="2" style="width: 118px; text-align: center" |
| style="width: 64px; text-align: center" colspan="1" rowspan="2" |
|-
<br>
| style="width: 1px; text-align: center" |5
| style="width: 183px; text-align: center" |
| style="width: 183px; text-align: center" |Retract
<br>
| style="width: 290px; text-align: center" |Grabber Position for intaking upright cone
| style="width: 290px; text-align: center" |
|-
<br>
| style="width: 1px; text-align: center" |6
| style="width: 118px; text-align: center" colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="text-align: center" |Drive Base
<br>
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |Double
|-  
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |
| style="width: 1px; text-align: center" | 5
| style="width: 183px; text-align: center" |Retract
| style="width: 183px; text-align: center" |
| style="width: 290px; text-align: center" |Parking Break
<br>
| colspan="1" rowspan="2" style="width: 118px; text-align: center" |
| style="width: 290px; text-align: center" |
|-
<br>
| style="width: 1px; text-align: center" |7
|-  
| style="width: 183px; text-align: center" |Extend
| style="width: 1px; text-align: center" | 6
| style="width: 290px; text-align: center" |Parking Break
| style="text-align: center" colspan="1" rowspan="2" |
|-
<br>
| colspan="1" rowspan="6" style="width: 8px; text-align: center" |2
| style="width: 75px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 64px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 183px; text-align: center" |
<br>
| style="width: 290px; text-align: center" |
<br>
| style="width: 118px; text-align: center" colspan="1" rowspan="2" |
<br>
|-  
| style="width: 1px; text-align: center" | 7
| style="width: 183px; text-align: center" |
<br>
| style="width: 290px; text-align: center" |
<br>
|-  
| style="width: 8px; text-align: center" colspan="1" rowspan="6" | 2
| style="width: 1px; text-align: center" | 0
| style="width: 1px; text-align: center" | 0
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |
<br>
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |
| style="width: 75px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 64px; text-align: center" colspan="1" rowspan="2" |
<br>
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
| colspan="1" rowspan="2" style="width: 118px" |
<br>
| colspan="1" rowspan="6" style="width: 118px" |
| style="width: 118px" colspan="1" rowspan="2" |
|-
<br>
| style="width: 1px" |1
| style="width: 118px" colspan="1" rowspan="6" |
<br>
|-  
| style="width: 1px" | 1
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
|-
<br>
| style="width: 1px" |2
|-  
| style="width: 1px" | 2
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="width: 75px" |
<br>
| colspan="1" rowspan="2" style="width: 64px" |
| style="width: 75px" colspan="1" rowspan="2" |
<br>
| style="width: 64px" colspan="1" rowspan="2" |
<br>
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
| colspan="1" rowspan="2" style="width: 118px" |
<br>
|-
| style="width: 118px" colspan="1" rowspan="2" |
| style="width: 1px" |3
<br>
|-  
| style="width: 1px" | 3
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
|-
<br>
| style="width: 1px" |4
|-  
| style="width: 1px" | 4
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" |
| colspan="1" rowspan="2" style="width: 75px" |
<br>
| colspan="1" rowspan="2" style="width: 64px" |
| style="width: 75px" colspan="1" rowspan="2" |
<br>
| style="width: 64px" colspan="1" rowspan="2" |
<br>
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
| colspan="1" rowspan="2" style="width: 118px" |
<br>
|-
| style="width: 118px" colspan="1" rowspan="2" |
| style="width: 1px" |5
<br>
|-  
| style="width: 1px" | 5
| style="width: 183px" |
| style="width: 183px" |
<br>
| style="width: 290px" |
| style="width: 290px" |
<br>
|}
|}


=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">
===Disable Xbox Controller===


[[index.php?title=Media:DisableXbox.docx|DisableXbox.docx]]
<div class="mw-parser-output">


<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
===Controller 1 - Primary Driver===


{| style="width: 908px" cellspacing="1" cellpadding="2" border="1"
=== Controller 1 - Primary Driver ===
|-
 
| style="width: 92px" |'''&nbsp;Button/Axis #'''
{| style="width: 908px" border="1" cellspacing="1" cellpadding="2"
| style="width: 414px" |'''Action/Button'''
|-  
|'''Description'''
| style="width: 92px" | '''&nbsp;Button/Axis #'''
|'''Details'''
| style="width: 414px" | '''Action/Button'''
|-
| '''Description'''
| style="width: 92px;  text-align: center" |A-1
| '''Details'''
| style="width: 414px" |Left Joystick Y
|-  
|Drive translation Y
| style="width: 92px;  text-align: center" | A-1
|&nbsp;
| style="width: 414px" | Left Joystick Y
|-
|
<br>
| &nbsp;
|-  
| 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
| Drive translation X
|&nbsp;
|-
|
|
|Left Joystick Press
<br>
|Drive lock X translation toggle
| &nbsp;
|-
|
|
|-
<br>
| Left Joystick Press
|
<br>
|
<br>
|-  
| 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
|
|
|&nbsp;
<br>
|-
| &nbsp;
| 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
|Drive rotation
|&nbsp;
|-
| style="width: 92px;  text-align: center" |B-6
| style="width: 414px" |Right Bumper
|Slow drive rotation (hold)
|&nbsp;
|-
| style="width: 92px;  text-align: center" |B-5
| style="width: 414px" |Left Bumper
| Slow drive translation (hold)
|&nbsp;
|-
| style="width: 92px;  text-align: center" |A-3
| style="width: 414px" |Right Trigger
|
|
|&nbsp;
<br>
|-
| &nbsp;
| style="width: 92px;  text-align: center" |A-2
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 414px" | Right Bumper
|
<br>
| &nbsp;
|-
| style="width: 92px;  text-align: center" | B-5
| style="width: 414px" | Left Bumper
|
<br>
| &nbsp;
|-
| style="width: 92px;  text-align: center" | A-3
| style="width: 414px" | Right Trigger
|
<br>
| &nbsp;
|-  
| style="width: 92px;  text-align: center" | A-2
| style="width: 414px" | Left Trigger
| style="width: 414px" | Left Trigger
|
|
|&nbsp;
<br>
|-
| &nbsp;
| style="width: 92px;  text-align: center" |B-1
|-  
| style="width: 414px" |Square / A Button
| style="width: 92px;  text-align: center" | B-1
| style="width: 414px" | Square / A Button
|
|
|&nbsp;
<br>
|-
| &nbsp;
|-  
| style="width: 92px;  text-align: center" | B-3
| style="width: 92px;  text-align: center" | B-3
| style="width: 414px" | Cross / X Button
| style="width: 414px" | Cross / X Button
|Brick drive
|
|&nbsp;
<br>
|-
| &nbsp;
| style="width: 92px;  text-align: center" |B-4
|-  
| style="width: 414px" |Triangle / Y Button
| style="width: 92px;  text-align: center" | B-4
|Toggle Absolute Rotation
| style="width: 414px" | Triangle / Y Button
|&nbsp;
|
|-
<br>
| style="width: 92px;  text-align: center" |B-2
| &nbsp;
|-  
| style="width: 92px;  text-align: center" | B-2
| style="width: 414px" | Circle / B Button
| style="width: 414px" | Circle / B Button
|&nbsp;
| &nbsp;
|&nbsp;
| &nbsp;
|}
|}
</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">&nbsp;</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>
<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">&nbsp;</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===


{| style="width: 908px" cellspacing="1" cellpadding="2" border="1"
=== Controller 2 - Aux Driver ===
|-
 
| style="text-align: center;  width: 91px" |'''Button/Axis #'''
{| style="width: 908px" border="1" cellspacing="1" cellpadding="2"
| style="width: 286px" |'''Action/Button'''
|-  
| style="width: 361px" |'''Description'''
| style="text-align: center;  width: 91px" | '''Button/Axis #'''
| style="width: 141px" |'''Details'''
| style="width: 286px" | '''Action/Button'''
|-
| style="width: 361px" | '''Description'''
| style="text-align: center;  width: 91px" |A-0
| style="width: 141px" | '''Details'''
| style="width: 286px" |Left Joystick X-Axis
|-  
| style="width: 361px" |&nbsp;
| style="text-align: center;  width: 91px" | A-0
| style="width: 141px" |&nbsp;
| style="width: 286px" | Left Joystick X-Axis
|-
| style="width: 361px" | &nbsp;
| style="text-align: center;  width: 91px" |A-1
| style="width: 141px" | &nbsp;
| style="width: 286px" |Left Joystick Y-Axis
|-  
| style="text-align: center;  width: 91px" | A-1
| style="width: 286px" | Left Joystick Y-Axis
| style="width: 361px" |
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |A-2
|-  
| style="width: 286px" |Left Trigger
| style="width: 91px;  text-align: center" | A-2
| style="width: 361px" |Score GamePiece
| style="width: 286px" | Left Trigger
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |A-3
|-  
| style="width: 286px" |Right Trigger
| style="width: 91px;  text-align: center" | A-3
| style="width: 361px" |Intake
| style="width: 286px" | Right Trigger
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |A-4
|-  
| style="width: 286px" |Right Joystick X-Axis
| style="width: 91px;  text-align: center" | A-4
| style="width: 286px" | Right Joystick X-Axis
| style="width: 361px" |
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
&nbsp;
&nbsp;
Line 1,376: Line 2,055:
&nbsp;
&nbsp;


|-
|-  
| style="width: 91px;  text-align: center" |A-5
| style="width: 91px;  text-align: center" | A-5
| style="width: 286px" |Right Joystick Y-Axis
| style="width: 286px" | Right Joystick Y-Axis
| style="width: 361px" |&nbsp;
| style="width: 361px" |
| style="width: 141px" |&nbsp;
<br>
|-
| style="width: 141px" | &nbsp;
|-  
| style="width: 91px;  text-align: center" | B-1
| style="width: 91px;  text-align: center" | B-1
| style="width: 286px" |Square / A Button
| style="width: 286px" | Square / A Button
| style="width: 361px" |Prepare intake for cube aquisition
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-2
|-  
| style="width: 286px" |Circle / B button
| style="width: 91px;  text-align: center" | B-2
| style="width: 361px" |Prepare intake / wrist for tipped cone acquisition
| style="width: 286px" | Circle / B button
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-3
|-  
| style="width: 286px" |Cross / X Button
| style="width: 91px;  text-align: center" | B-3
| style="width: 286px" | Cross / X Button
| style="width: 361px" |
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-4
|-  
| style="width: 286px" |Triangle / Y button
| style="width: 91px;  text-align: center" | B-4
| style="width: 361px" |Prepare intake for upright cone acquisition
| style="width: 286px" | Triangle / Y button
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-5
|-  
| style="width: 286px" |Left bumper
| style="width: 91px;  text-align: center" | B-5
| style="width: 286px" | Left bumper
| style="width: 361px" |
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-6
|-  
| style="width: 286px" |Right bumper
| style="width: 91px;  text-align: center" | B-6
| style="width: 361px" |Outake
| style="width: 286px" | Right bumper
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-7
|-  
| style="width: 286px" |Back Button
| style="width: 91px;  text-align: center" | B-7
| style="width: 361px" |Reset GamePiece
| style="width: 286px" | Back Button
| style="width: 141px" |&nbsp;
|-
| style="width: 91px;  text-align: center" |B-8
| style="width: 286px" |Start Button
| style="width: 361px" |
| style="width: 361px" |
<br>
| style="width: 141px" | &nbsp;
|-
| style="width: 91px;  text-align: center" | B-8
| style="width: 286px" | Start Button
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-9
|-  
| style="width: 286px" |Left Stick Pressed
| style="width: 91px;  text-align: center" | B-9
| style="width: 361px" |&nbsp;
| style="width: 286px" | Left Stick Pressed
| style="width: 141px" |&nbsp;
| style="width: 361px" |
|-
<br>
| style="width: 91px;  text-align: center" |B-10
| style="width: 141px" | &nbsp;
| style="width: 286px" |Right Stick Pressed
|-  
| style="width: 361px" |&nbsp;
| style="width: 91px;  text-align: center" | B-10
| style="width: 141px" |&nbsp;
| style="width: 286px" | Right Stick Pressed
|-
| style="width: 361px" |
| style="width: 91px;  text-align: center" |POV-0
<br>
| style="width: 286px" |D-pad up
| style="width: 141px" | &nbsp;
| style="width: 361px" |If has GamePiece, then lift goes to high scoring location
|-  
If doesn't have GamePiece, then lift goes to balcony acquisition position
| style="width: 91px;  text-align: center" | POV-0
| style="width: 286px" | D-pad up
| style="width: 361px" |
<br>
| style="width: 141px" |
| style="width: 141px" |
|-
<br>
|POV-90
|-  
| POV-90
| D-pad right
| D-pad right
|Lift goes to Mid scoring location
|
|
|-
<br>
|POV-180
|
|D-pad down
<br>
|If has GamePiece, then goes to hybrid scoring location
|-  
If doesn't have GamePiece, then goes to ground intake acquisition position
| POV-180
| D-pad down
|
<br>
|
|
|-
<br>
|POV-270
|-  
|D-pad left
| POV-270
| D-pad left
|
|
<br>
|
|
<br>
|}
|}


<div class="mw-parser-output">
<div class="mw-parser-output">
===Controller 3&nbsp;- Switches on console===


{| style="width: 907px" cellspacing="1" cellpadding="1" border="1"
=== Controller 3&nbsp;- Switches on console ===
|-
 
| style="width: 92px" |'''&nbsp;Button/Axis #'''
{| style="width: 907px" border="1" cellspacing="1" cellpadding="1"
| style="width: 112px" |'''&nbsp;Action/Button'''
|-  
| style="width: 521px" |&nbsp;'''Description'''
| style="width: 92px" | '''&nbsp;Button/Axis #'''
| style="width: 158px" |'''Details'''
| style="width: 112px" | '''&nbsp;Action/Button'''
|-
| style="width: 521px" | &nbsp;'''Description'''
| style="width: 92px;  text-align: center" |B-1
| style="width: 158px" | '''Details'''
| style="width: 112px" |Blinky Blinky Off
|-  
| style="width: 521px" |Turns off Blinky Blinky
| style="width: 92px;  text-align: center" | B-1
| style="width: 158px" |&nbsp;
|-
| style="width: 92px;  text-align: center" |B-2
| style="width: 112px" |Robot-Centric
| style="width: 521px" |Switches from field-centric to Robot-Centric
| style="width: 158px" |&nbsp;
|-
| style="width: 92px;  text-align: center" |B-3
| style="width: 112px" |
| style="width: 112px" |
<br>
| style="width: 521px" |
| style="width: 521px" |
| style="width: 158px" |&nbsp;
<br>
|-
| style="width: 158px" | &nbsp;
| style="width: 92px;  text-align: center" |B-4
|-  
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" |
| style="width: 112px" |
<br>
| style="width: 521px" |
| style="width: 521px" |
| style="width: 158px" |&nbsp;
<br>
|-
| style="width: 158px" | &nbsp;
| style="width: 92px;  text-align: center" |B-5
|-
| style="width: 112px" |GamePiece Manual
| style="width: 92px;  text-align: center" | B-3
| style="width: 521px" |GamePiece Manual - MAY BREAK THINGS!!!!
| style="width: 112px" |
| style="width: 158px" |&nbsp;
<br>
|-
| style="width: 521px" |
<br>
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 112px" |
<br>
| style="width: 521px" |
<br>
| style="width: 158px" | &nbsp;
|-  
| style="width: 92px;  text-align: center" | B-5
| style="width: 112px" |
<br>
| style="width: 521px" |
<br>
| style="width: 158px" | &nbsp;
|-  
| style="width: 92px;  text-align: center" | B-6
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" |Crater mode
| style="width: 521px" |Pit (crater) mode
| style="width: 158px" |&nbsp;
|-
| style="width: 92px;  text-align: center" |B-7
| style="width: 112px" |
| style="width: 112px" |
<br>
| style="width: 521px" |
<br>
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-7
| style="width: 112px" |
<br>
| style="width: 521px" |
| style="width: 521px" |
| style="width: 158px" |&nbsp;
<br>
|-
| style="width: 158px" | &nbsp;
| style="width: 92px;  text-align: center" |B-8
|-  
| style="width: 92px;  text-align: center" | B-8
| style="width: 112px" |
| style="width: 112px" |
<br>
| style="width: 521px" |
| style="width: 521px" |
| style="width: 158px" |&nbsp;
<br>
|-
| style="width: 158px" | &nbsp;
| 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" |  
<br>
| style="width: 158px" |&nbsp;
| style="width: 521px" |
<br>
| style="width: 158px" | &nbsp;
|}
|}
</div></div>


</div>
=== Dashboard ===
</div>


===Dashboard===
{| style="width: 0px" border="1" cellspacing="1" cellpadding="2"
 
|-  
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
| '''Key'''
|-
| '''Data Type'''
|'''Key'''
| '''Value'''
|'''Data Type'''
| style="width: 1000px" | '''Description'''
|'''Value'''
|-  
| style="width: 1000px" |'''Description'''
|-
| thunderdashboard_gyro
| thunderdashboard_gyro
|number
| number
|
|
0 - dashboard background not based on this
0 - dashboard background not based on this
Line 1,530: Line 2,250:
1 - dashboard background goes red
1 - dashboard background goes red


|used when: gyro is calibrating
| used when: gyro is calibrating
|-
|-  
|thunderdashboard_yellow
| thunderdashboard_yellow
|number
| number
|
|
0 - dashboard background not based on this
0 - dashboard background not based on this
Line 1,544: Line 2,264:
NOTE: thunderdashboard_gyro takes precedence
NOTE: thunderdashboard_gyro takes precedence


|-
|-  
|thunderdashboard_green
| thunderdashboard_green
|number
| number
|
|
0 - dashboard background not based on this
0 - dashboard background not based on this
Line 1,557: Line 2,277:
NOTE: thunderdashboard_gyro takes precendence
NOTE: thunderdashboard_gyro takes precendence


|-
|-  
|thunderdashboard_inpitmode
| thunderdashboard_inpitmode
|number
| number
|
|
0 - dashboard background not based on this
0 - dashboard background not based on this
Line 1,569: Line 2,289:


NOTE: thunderdashboard_gyro takes precendence
NOTE: thunderdashboard_gyro takes precendence
|-
|-  
| thunderdashboard_auto_list
| thunderdashboard_auto_list
|string
| string
|a comma seperated list
| a comma seperated list
|the list of auto modes (e.g. "0,1,2,3,4,5")
| the list of auto modes (e.g. "0,1,2,3,4,5")
|-
|-  
|thunderdashboard_auto_#
| thunderdashboard_auto_#
|string
| string
|any text
| any text
|one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
| one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
|-
|-  
| Auto_Mode
| Auto_Mode
|number
| number
|a number from thunderdashboard_auto_list
| a number from thunderdashboard_auto_list
|the auto mode selected on the UI
| the auto mode selected on the UI
|-
|-  
|thunderdashboard_auto_start_delay
| thunderdashboard_auto_start_delay
| number
| number
|
|
|user selected number of seconds, 0 to 15, to delay start of auto mode
<br>
|-
| user selected number of seconds, 0 to 15, to delay start of auto mode
|-  
| thunderdashboard_auto_doing_auto
| thunderdashboard_auto_doing_auto
|boolean
| boolean
|true - should do autonomous
| true - should do autonomous
false - should not do autonomous
false - should not do autonomous
|Dashboard checkbox in auto selector page. When false, the robot should not do anything in autonomous
| Dashboard checkbox in auto selector page. When false, the robot should not do anything in autonomous
|-
|-  
|thunderdashboard_auto_starting_location
| thunderdashboard_auto_starting_location
|number
| number
|0 - barrier side
| 0 - barrier side
1 - center
1 - center


2 - edge side
2 - edge side
|Dashboard selection of which community zone the robot should start in
| Dashboard selection of which community zone the robot should start in
|-
|-  
|thunderdashboard_auto_starting_gamepiece
| thunderdashboard_auto_starting_gamepiece
|number
| number
|0 - cube
| 0 - cube
1 - cone
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'
| 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
| thunderdashboard_auto_starting_action
|number
| number
|Depending on the starting location, this value means different things.
| Depending on the starting location, this value means different things.'''If starting in the center,'''
'''If starting in the center,'''


0 - Score preloaded GamePiece and balance on Charge Station
0 - Score preloaded GamePiece and balance on Charge Station
Line 1,622: Line 2,342:


Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4
Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4
|Dashboard selection of what action the robot should do first in autonomous
| Dashboard selection of what action the robot should do first in autonomous
|-
|-  
|thunderdashboard_auto_field_gamepiece
| thunderdashboard_auto_field_gamepiece
|number
| number
|0 - cube
| 0 - cube
1 - cone
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)
| 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
| thunderdashboard_auto_final_action
|number
| number
|Depending on the starting location, this value means different things,
| Depending on the starting location, this value means different things,'''If starting in the center,'''
'''If starting in the center,'''


0 - Do nothing
0 - Do nothing
Line 1,646: Line 2,365:


2 - Balance on Charge Station
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).
| 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
| thunderdashboard_drive_x_pos
|number
| number
|
|
|Robot current X position on the field (m)
<br>
|-
| Robot current X position on the field (m)
|thunderdashboard_drive_y_pos
|-  
|number
| thunderdashboard_drive_y_pos
| number
|
|
|Robot current Y position on the field (m)
<br>
|-
| Robot current Y position on the field (m)
|thunderdashboard_drive_target_x_pos
|-  
|number
| thunderdashboard_drive_target_x_pos
| number
|
|
|Robot target X position on the field (m)
<br>
|-
| Robot target X position on the field (m)
|thunderdashboard_drive_target_y_pos
|-  
|number
| thunderdashboard_drive_target_y_pos
| number
|
|
|Robot target Y position on the field (m)
<br>
|-
| Robot target Y position on the field (m)
|thunderdashboard_drive_x_vel
|-  
|number
| thunderdashboard_drive_x_vel
| number
|
|
|Robot current X velocity (m/s)
<br>
|-
| Robot current X velocity (m/s)
|thunderdashboard_drive_y_vel
|-  
|number
| thunderdashboard_drive_y_vel
| number
|
|
|Robot current Y velocity (m/s)
<br>
|-
| Robot current Y velocity (m/s)
|thunderdashboard_drive_ang_vel
|-  
|number
| thunderdashboard_drive_ang_vel
| number
|
|
|Robot current angular velocity (rad/s)
<br>
|-
| Robot current angular velocity (rad/s)
|thunderdashboard_drive_ang
|-  
|number
| thunderdashboard_drive_ang
| number
|
|
|Robot current angle (radians)
<br>
|-
| Robot current angle (radians)
|thunderdashboard_drive_target_ang
|-  
|number
| thunderdashboard_drive_target_ang
| number
|
|
|Robot target angle (radians)
<br>
|-
| Robot target angle (radians)
|thunderdashboard_lift_pivot_percent
|-  
|number
| thunderdashboard_lift_pivot_percent
|0 to 1
| number
|Percent of lift pivot
| 0 to 1
|-
| Percent of lift pivot
|thunderdashboard_lift_extension_percent
|-  
|number
| thunderdashboard_lift_extension_percent
|0 to 1
| number
|Percent of lift extension
| 0 to 1
|-
| Percent of lift extension
|thunderdashboard_lift_pivot_target_percent
|-  
|number
| thunderdashboard_lift_pivot_target_percent
|0 to 1, -1 if no target
| number
|Target percent of lift pivot
| 0 to 1, -1 if no target
|-
| Target percent of lift pivot
|thunderdashboard_lift_extension_target_percent
|-  
|number
| thunderdashboard_lift_extension_target_percent
|0 to 1, -1 if no target
| number
|Target percent of lift extension
| 0 to 1, -1 if no target
|-
| Target percent of lift extension
|thunderdashboard_grabber_position
|-  
|number
| thunderdashboard_grabber_position
|0 - open
| number
| 0 - open
1 - agape
1 - agape


2 - ajar
2 - ajar
|State of grabber mechanism
| State of grabber mechanism
|-
|-  
|thunderdashboard_gamepiece
| thunderdashboard_gamepiece
|number
| number
| -1 - no gamepiece
| -1 - no gamepiece
0 - cube
0 - cube
1 - cone
1 - cone
|Which GamePiece the robot is currently in possession of
| Which GamePiece the robot is currently in possession of
|-
|-  
|thunderdashboard_match_remaining
| thunderdashboard_match_remaining
|number
| number
|
|
|The time remaining in the current match period
<br>
|-
| The time remaining in the current match period
|thunderdashboard_airpressure_low
|-  
|number
| thunderdashboard_airpressure_low
| number
|
|
|Low air pressure on gauge
<br>
|-
| Low air pressure on gauge
|thunderdashboard_airpressure_high
|-  
|number
| thunderdashboard_airpressure_high
| number
|
|
|High air pressure on gauge
<br>
|-
| High air pressure on gauge
|thunderdashboard_airpressure
|-  
|number
| thunderdashboard_airpressure
| number
|
|
|Current air pressure
<br>
|-
| Current air pressure
|thunderdashboard_airpressure_iters
|-  
|number
| thunderdashboard_airpressure_iters
| number
|
|
|Number of ticks on air pressure gauge
<br>
|-
| Number of ticks on air pressure gauge
|thunderdashboard_led_mode
|-  
|number
| thunderdashboard_led_mode
|0 - Robot State
| number
| 0 - Robot State
1 - Alliance Color
1 - Alliance Color


Line 1,761: Line 2,494:


3 - Off
3 - Off
|The mode of the robot LEDs
| The mode of the robot LEDs
|-
|-  
|thunderdashboard_led_custom_r
| thunderdashboard_led_custom_r
|number
| number
|0-1
| 0-1
|Custom LED red value
| Custom LED red value
|-
|-  
|thunderdashboard_led_custom_g
| thunderdashboard_led_custom_g
|number
| number
|0-1
| 0-1
|Custom LED green value
| Custom LED green value
|-
|-  
|thunderdashboard_led_custom_b
| thunderdashboard_led_custom_b
|number
| number
|0-1
| 0-1
|Custom LED blue value
| Custom LED blue value
|-
|-  
|thunderdashboard_score_grid
| thunderdashboard_score_grid
|number
| number
| -1 - No grid aligned
| -1 - No grid aligned
0 - Left grid
0 - Left grid
Line 1,786: Line 2,519:


2 - Right grid
2 - Right grid
|Which grid the robot is currently in front of (relative to driver, NOT field or robot)
| Which grid the robot is currently in front of (relative to driver, NOT field or robot)
|-
|-  
|thunderdashboard_score_grid_column
| thunderdashboard_score_grid_column
|number
| number
| -1 - No Column selected
| -1 - No Column selected
0 - Left column
0 - Left column
Line 1,796: Line 2,529:


2 - Right column
2 - Right column
|Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot)
| Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot)
|}
 
 
===Network Ports===
 
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|'''Server'''
|'''Port'''
|'''Client'''
|'''Protocol'''
| style="width: 1000px" |'''Description'''
|-
|roboRIO
|5809
|Dashboard
|TCP
|PS5 Controller Input/Output
|-
|roboRIO
|5802
|Raspberry Pis
|TCP
|Vision Processing communication
|-
|Raspberry Pi 1
|1181
|Dashboard
|UDP
|Left Front Camera
|-
|Raspberry Pi 2
|1182
|Dashboard
|UDP
|Right Front Camera
|-
|Raspberry Pi 1
|1182
|Dashboard
|UDP
|Back Camera
|}
|}


=IO Maps for Old Robots=
= IO Maps for Old Robots =


*[[2023:Robot_IO_Map|2023 IO Map]]
*[[2023:Robot_IO_Map|2023 IO Map]]
*[[2022:Robot_IO_Map|2022 IO Map]]
*[[2022:Robot_IO_Map|2022 IO Map]]
*[[2020:Robot_IO_Map|2020&nbsp;IO Map]] (applies to 2021 as well!)
*[[2020:Robot_IO_Map|2020 IO Map]] (applies to 2021 as well!)
*[[2019:Robot_IO_Map|2019&nbsp;IO Map]]
*[[2019:Robot_IO_Map|2019 IO Map]]
*[[2018:Robot_IO_Map|2018&nbsp;IO Map]]
*[[2018:Robot_IO_Map|2018 IO Map]]
*[[2017:Robot_IO_Map|2017&nbsp;IO Map]]
*[[2017:Robot_IO_Map|2017 IO Map]]
*[[2016:Robot_IO_Map|2016&nbsp;IO Map]]
*[[2016:Robot_IO_Map|2016 IO Map]]
*[[2015:Robot_IO_Map|2015&nbsp;IO Map]]
*[[2015:Robot_IO_Map|2015 IO Map]]
*[[2014:Robot_IO_Map|2014 IO Map]]
*[[2014:Robot_IO_Map|2014 IO Map]]
*[[2013:Robot_IO_Map|2013 IO Map]]
*[[2013:Robot_IO_Map|2013 IO Map]]
Line 1,858: Line 2,549:
*[[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>

Latest revision as of 13:30, 19 February 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 Left Wheels

Runs shooter wheels

40A

9


17 Game Piece

SparkMax

Neo


Shooter Right 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

Input lower extreme limit switch

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









 CAN Chain Pathway

Current Device (ID): Next Device (ID): Notes:
RIO PDH(0) On DB Bellypan
PDH(0)  Front Right Encoder (10) On DB Bellypan
Front Right Encoder (10) Front Right Drive (2) On DB Bellypan
Front Right Drive (2) Front Right Rotation (6) On DB Bellypan
Front Right Rotation (6) Hang Right (20) On DB Bellypan
Hang Right (20) Back Right Rotation (8) On DB Bellypan
Back Right Rotation (8) Back Right Drive (4) On DB Bellypan
Back Right Drive (4) Back Right Encoder (12) On DB Bellypan
Back Right Encoder (12) Worm/Brake (19) On Worm Gearbox
Worm/Brake (19) Pidgeon 2.0 (14) On DB Bellypan
Pidgeon 2.0 (14) Arm Pivot (18) On DB Bellypan
Arm Pivot (18) Front Left Encoder (11) On DB Bellypan
Front Left Encoder (11) Front Left Drive (3) On DB Bellypan
Front Left Drive (3) Front Left Rotation (7) On DB Bellypan
Front Left Rotation (7) Hang Left (21) On DB Bellypan
Hang Left (21) Back Left Rotation (9) On DB Bellypan
Back Left Rotation (9) Back Left Drive (5) On DB Bellypan
Back Left Drive (5) Back Left Encoder (13) On DB Bellypan
Back Left Encoder (13) Left Shooter (16)


Left Shooter (16)

Right Shooter (17)


Right Shooter (17)

Intake (15)


Intake (15)

TERMINATION: 120 ohm resistor 





PDB Assignments
Port # Device (Subteam) Breaker Value Max Channel Current Note
0

Front Right Drive (Drive)

40A

40A


1

Front Right Rotation (Drive)

40A

40A


2

Solenoid Relay

20A

40A


3



40A


4

Left Hang Arm

40A

40A


5

Intake

30A

40A


6

Right Shooter

40A

40A


7

Left Shooter

40A

40A


8

Front Left Drive (Drive)

40A

40A


9

Front Left Rotation

40A

40A


10


40

40A


11

Back Left Rotation (Drive)

40A

40A


12

Back Left Drive (Drive)

40A

40A


13



40A


14

Game Piece Arm Pivot

40A

40A


15

Back Right Drive (Drive)

40A

40A


16

Back Right Rotation (Drive)

40A

40A


17

Hang Right 

40A

40A


18

Brake/Worm Gear

30A

40A


19



40A


20

RoboRIO (RCS)

10A

10A Fused


21

VRM (RCS)

10A

10A Fused


22

3X Allen Bradley Sensors (Ganged)

10A

10A Fused


23 (Switchable)



5A Fused


VRM Assignments
Port # Device (Subteam)
5V/2A

LED

5V/2A

LED

5V/500mA


5V/500mA


12V/2A

Radio (RCS)

12V/2A

Do Not Use 

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

LEDs







 
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)

Left Solenoid is Reverse, Right is Forward.

See Spike Users Guide

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
Positioned such that sensor is tripped when game piece has entered intake and sensor just clears when game piece is positioned for storage until time to shoot or eject.


Wire for Dark operating

Signal connects to roborio DIO

12V powered

Voltage divider added to cable pigtail

See circuit diagram 

1 IN

Game Piece - Arm

Encoder

https://www.revrobotics.com/rev-11-1271/

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
Wire for normally open

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
Wire for normally open

4 IN

Hang

Diffuse retro-reflective sensor

Allen Bradley 42EF-D2MPAK-F4

Detects when left hook is present (down)


Wire for Dark operating

Signal connects to roborio DIO

12V powered

Voltage divider added to cable pigtail

See circuit diagram

5

IN

Hang

Diffuse retro-reflective sensor

Allen Bradley 42EF-D2MPAK-F4

Detects when right hook is present (down)


Wire for Dark operating

Signal connects to roborio DIO

12V powered

Voltage divider added to cable pigtail

See circuit diagram

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)

IO Maps for Old Robots