2023:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(pdb assignment edits)
Tag: visualeditor
(Fixed Switches D:)
Tag: visualeditor
 
(12 intermediate revisions by 3 users not shown)
Line 46: Line 46:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 11
|
|Not set yet, depends on wire route
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
Line 58: Line 58:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |20A
| style="width: 115px; text-align: center" |20A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 10
|
|Not set yet, depends on wire route
|-
|-
| style="text-align: center" |4
| style="text-align: center" |4
Line 69: Line 69:
|
|
| style="text-align: center" |40A
| style="text-align: center" |40A
|
|14
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 80: Line 80:
|
|
| style="text-align: center" |40A
| style="text-align: center" |40A
|
|4
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 91: Line 91:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 15
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" |  
| style="text-align: center" | RCS
| style="text-align: center" |  
| style="text-align: center" | PCM
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Pneumatics Control Module


| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" | 5A
| style="width: 55px; text-align: center" |
| style="width: 55px; text-align: center" |22
|
|
|-
|-
Line 136: Line 136:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 1
| style="width: 55px; text-align: center" | 2
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 147: Line 147:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 14
| style="width: 55px; text-align: center" | 18
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 158: Line 158:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 15
| style="width: 55px; text-align: center" | 16
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 169: Line 169:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 4
| style="width: 55px; text-align: center" | 1
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 180: Line 180:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 5
| style="width: 55px; text-align: center" | 3
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 191: Line 191:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 10
| style="width: 55px; text-align: center" | 19
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 202: Line 202:
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" | 
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" |11
| style="width: 55px; text-align: center" |17
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |Using Integrated Encoder
|-
|-
Line 283: Line 283:
|-
|-
|4
|4
|
|Leadscrew Left (Lift)
|
|40A
|
|
|
|
Line 301: Line 301:
|-
|-
|7
|7
|Grabber Left
|
|20A
|
|
|
|
|
|-
|-
|8
|8
|Leadscrew Left (Lift)
|
|20A
|
|
|
|
|
|-
|-
|9
|9
|Telescoping (Lift)
|
|40A
|
|
|
|
|
|-
|-
|10
|10
|Network Switch
|Grabber Right
|20A
|30A
|Who Knows?
|
|
|
|-
|-
|11
|11
|Leadscrew Right (Lift)
|Grabber Left
|20A
|30A
|
|
|
|
|-
|-
|12
|12
|Grabber Right
|
|20A
|
|
|
|
|
Line 343: Line 343:
|-
|-
|14
|14
|
|Telescoping (Lift)
|
|40A
|
|
|
|
|-
|-
|15
|15
|
|Leadscrew Right (Lift)
|
|30A
|
|
|
|
Line 379: Line 379:
|-
|-
|20
|20
|RoboRio
|RIO(?)
|
|10A
|
|
|Fused Port
|Fused Port
|-
|-
|21
|21
|Radio
|VRM(?)
|
|20A
|
|
|Fused Port
|Fused Port
|-
|-
|22
|22
|Raspberry Pi VRM
|PCM
|10A
|10A
|5A
|
|Fused Port
|Fused Port
|-
|-
|23 (Switchable)
|23 (Switchable)
|
|Ethernet Switch
|
|5A
|
|
|Fused Port
|Fused Port
|}
|}
</div> <div class="mw-parser-output">&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">&nbsp;</div> </div> </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"><div class="mw-parser-output">&nbsp;</div> </div>  
</div><div class="mw-parser-output">


<div class="mw-parser-output">
<div class="mw-parser-output">
{| class="wikitable"
|+VRM Assignments
!Port #
!Device (Subteam)
|-
|5V/2A
|Blinky Blinky
|-
|5V/2A
|Blinky Blinky
|-
|5V/500mA
|Blinky Blinky
|-
|5V/500mA
|Blinky Blinky
|-
|12V/2A
|Banner Sensor - GamePiece
|-
| 12V/2A
|
|-
|12V/500mA
|4x CanCoders tied together - Drive
|-
|12V/500mA
|}
</div>  <div class="mw-parser-output"></div><div class="mw-parser-output">


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


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


&nbsp;
&nbsp;


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


Line 427: Line 456:


|-
|-
| style="width: 15px" | 0
| style="width: 15px" |0
| style="width: 70px" | Blinky Blinky
| style="width: 70px" |Blinky Blinky
| style="width: 76px" | LED Strip
| style="width: 76px" |LED Strip
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | Illumination & Communication w/ HP
| style="width: 148px" |Illumination & Communication w/ HP
| style="width: 280px" | Yes
| style="width: 280px" |Yes
| style="width: 125px" | 5V 2A on VRM  
| style="width: 125px" |5V 2A on VRM
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| style="width: 15px" | 1
| style="width: 15px" |1
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| style="width: 15px" | 2
| style="width: 15px" |2
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| style="width: 15px" | 3
| style="width: 15px" |3
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| style="width: 15px" | 4
| style="width: 15px" |4
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" |  
| style="width: 148px" |
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px" |  
| style="width: 125px" |
| style="width: 72px" |  
| style="width: 72px" |
|-
|-
| style="width: 15px" | 5
| style="width: 15px" |5
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" | &nbsp;
| style="width: 94px" |&nbsp;
| style="width: 167px" |  
| style="width: 167px" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| rowspan="1" style="width: 15px" | 6
| rowspan="1" style="width: 15px" |6
| style="width: 70px" |  
| style="width: 70px" |  
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" |  
| style="width: 148px" |
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px; text-align: center" |  
| style="width: 125px; text-align: center" |
| style="width: 72px; text-align: center" |  
| style="width: 72px; text-align: center" |
|-
|-
| rowspan="1" style="width: 15px" | 7
| rowspan="1" style="width: 15px" |7
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px; text-align: center" |  
| style="width: 125px; text-align: center" |
| style="width: 72px; text-align: center" |  
| style="width: 72px; text-align: center" |
|-
|-
| rowspan="1" style="width: 15px" | 8
| rowspan="1" style="width: 15px" |8
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" |  
| style="width: 148px" |
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px; text-align: center" |  
| style="width: 125px; text-align: center" |
| style="width: 72px; text-align: center" |  
| style="width: 72px; text-align: center" |
|-
|-
| rowspan="1" style="width: 15px" | 9
| rowspan="1" style="width: 15px" |9
| style="width: 70px" |  
| style="width: 70px" |  
| style="width: 76px" |  
| style="width: 76px" |
| style="width: 94px" |  
| style="width: 94px" |
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" |  
| style="width: 280px" |
| style="width: 125px; text-align: center" |  
| style="width: 125px; text-align: center" |
| style="width: 72px; text-align: center" |  
| style="width: 72px; text-align: center" |
|-
|-
| style="width: 15px" | 10
| style="width: 15px" |10
| style="width: 70px" | &nbsp;
| style="width: 70px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 94px" | &nbsp;
| style="width: 94px" |&nbsp;
| style="width: 167px" | &nbsp;
| style="width: 167px" |&nbsp;
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&nbsp;
|-
|-
| style="width: 15px" | 11
| style="width: 15px" |11
| style="width: 70px" | &nbsp;
| style="width: 70px" |&nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 94px" | &nbsp;
| style="width: 94px" |&nbsp;
| style="width: 167px" | &nbsp;
| style="width: 167px" |&nbsp;
| style="width: 148px" | &nbsp;
| style="width: 148px" |&nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" |&nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" |&nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" |&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> <div class="mw-parser-output">&nbsp;</div>       


== Relay Outputs ==
== Relay Outputs==


{| border="1" cellpadding="2" cellspacing="1" style="width: 927px"
{| border="1" cellpadding="2" cellspacing="1" style="width: 927px"
|-
|-
| '''ID'''
|'''ID'''
| style="text-align: center" | '''Subsystem'''
| style="text-align: center" |'''Subsystem'''
| style="width: 69px" | <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>  
| style="width: 69px" |<p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>
| style="width: 54px; text-align: center" | '''Model #'''
| style="width: 54px; text-align: center" |'''Model #'''
| style="width: 192px; text-align: center" | '''Description<br/> (brief)'''
| style="width: 192px; text-align: center" |'''Description<br /> (brief)'''
| style="width: 259px; text-align: center" | '''Operation'''
| style="width: 259px; text-align: center" |'''Operation'''
| style="width: 115px; text-align: center" | '''Notes'''
| style="width: 115px; text-align: center" |'''Notes'''
|-
|-
| 0
| 0
| &nbsp;
|&nbsp;
| style="width: 69px" | &nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" | &nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" | &nbsp;
| style="width: 115px" |&nbsp;
|-
|-
| 1
|1
| &nbsp;
|&nbsp;
| style="width: 69px" | &nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" | &nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" | &nbsp;
| style="width: 115px" |&nbsp;
|-
|-
| 2
|2
| &nbsp;
|&nbsp;
| style="width: 69px" | &nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" | &nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" | &nbsp;
| style="width: 115px" |&nbsp;
|-
|-
| 3
| 3
| &nbsp;
|&nbsp;
| style="width: 69px" | &nbsp;
| style="width: 69px" |&nbsp;
| style="width: 54px" | &nbsp;
| style="width: 54px" |&nbsp;
| style="width: 192px" | &nbsp;
| style="width: 192px" |&nbsp;
| style="width: 259px" | &nbsp;
| style="width: 259px" |&nbsp;
| style="width: 115px" | &nbsp;
| style="width: 115px" |&nbsp;
|}
|}


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


{| style="width: 1030px" cellspacing="1" cellpadding="2" border="1"
{| style="width: 1030px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| ID
|ID
| style="text-align: center" | Subsystem
| style="text-align: center" |Subsystem
| style="width: 70px" | <p style="text-align: center">Component</p> <p style="text-align: center">Type</p>  
| style="width: 70px" |<p style="text-align: center">Component</p> <p style="text-align: center">Type</p>
| style="width: 54px;  text-align: center" | Model #
| style="width: 54px;  text-align: center" |Model #
| style="width: 227px;  text-align: center" | Description<br/> (brief)
| style="width: 227px;  text-align: center" |Description<br /> (brief)
| style="width: 262px;  text-align: center" | Operation
| style="width: 262px;  text-align: center" |Operation
| style="width: 132px;  text-align: center" |  
| style="width: 132px;  text-align: center" |  
Voltage
Voltage
Line 615: Line 644:
Range
Range


| style="width: 91px;  text-align: center" | Notes
| style="width: 91px;  text-align: center" |Notes
|-
|-
| 0
|0
|  
|
| style="width: 70px" |  
| style="width: 70px" |
| style="width: 54px" |  
| style="width: 54px" |
| style="width: 227px" |  
| style="width: 227px" |
| style="width: 262px" |  
| style="width: 262px" |
| style="width: 132px" |  
| style="width: 132px" |
| style="width: 91px;  text-align: center" |  
| style="width: 91px;  text-align: center" |
|-
|-
| style="text-align: center" | 1
| style="text-align: center" |1
| style="text-align: center" |  
| style="text-align: center" |
| style="width: 69px;  text-align: center" |  
| style="width: 69px;  text-align: center" |
| style="width: 122px;  text-align: center" |  
| style="width: 122px;  text-align: center" |
| style="width: 139px;  text-align: center" |  
| style="width: 139px;  text-align: center" |
| style="width: 193px;  text-align: center" |  
| style="width: 193px;  text-align: center" |
| style="width: 223px;  text-align: center" | &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;
|}
|}
</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"
{| border="1" cellpadding="2" cellspacing="1" style="width: 1030px"
|-
|-
| ID
| ID
| style="text-align: center" | Subsystem
| style="text-align: center" |Subsystem
| style="width: 70px" | <p style="text-align: center">Component</p> <p style="text-align: center">Type</p>  
| style="width: 70px" |<p style="text-align: center">Component</p> <p style="text-align: center">Type</p>
| style="width: 54px; text-align: center" | Model #
| style="width: 54px; text-align: center" |Model #
| style="width: 227px; text-align: center" | Description<br/> (brief)
| style="width: 227px; text-align: center" |Description<br /> (brief)
| style="width: 262px; text-align: center" | Operation
| style="width: 262px; text-align: center" |Operation
| style="width: 132px; text-align: center" |  
| style="width: 132px; text-align: center" |
Voltage
Voltage


Range
Range


| style="width: 91px; text-align: center" | Notes
| style="width: 91px; text-align: center" |Notes
|-
|-
| 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;
|}
|}


Line 713: Line 742:
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
== Digital IO (GPIO) ==
==Digital IO (GPIO)==
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
=== <u>RoboRio IO</u> ===
===<u>RoboRio IO</u>===


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


| style="width: 231px; text-align: center" |  
| style="width: 231px; text-align: center" |
|-
| style="text-align: center" |3
| 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" |
| style="width: 223px; text-align: center" |Lift home sensor (ish) & hard stop
| style="width: 231px; text-align: center" |Detect when lift needs to stop
|-
|-
| style="text-align: center" | 3
| style="text-align: center" |4
| style="text-align: center" | IN
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |
| style="width: 231px; text-align: center" |
|-
|-
| style="text-align: center" | 4
| style="text-align: center" |5
| style="text-align: center" | IN
| style="text-align: center" |
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |
|-
| style="text-align: center" | 5
| style="text-align: center" |
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" |
| style="width: 231px; text-align: center" |
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" |  
| style="text-align: center" |
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |  
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |  
| style="width: 231px; text-align: center" |
|-
|-
| style="text-align: center" | 7
| style="text-align: center" |7
| style="text-align: center" | IN
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |  
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |&nbsp;
| style="width: 231px; text-align: center" |&nbsp;
|-
|-
| style="text-align: center" | 8
| style="text-align: center" |8
| style="text-align: center" | IN
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |  
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |&nbsp;
|-
|-
| style="text-align: center" | 9
| style="text-align: center" |9
| style="text-align: center" | IN
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |  
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |&nbsp;
|-
|-
| style="text-align: center" | 10
| style="text-align: center" |10
| style="text-align: center" | IN
| style="text-align: center" |IN
| style="width: 69px; text-align: center" |  
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |  
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |  
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |  
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |&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> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div></div>


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


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


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


{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
|-
|-
| 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" |Drive
| style="width: 75px; text-align: center" | IMU
| style="width: 75px; text-align: center" |IMU
| style="width: 53px; text-align: center" | ADIS16470
| style="width: 53px; text-align: center" |ADIS16470
| style="width: 205px; text-align: center" | 3-Axis gyro and accelerometer
| style="width: 205px; text-align: center" |3-Axis gyro and accelerometer
| style="width: 241px; text-align: center" | Sense rotation of robot
| style="width: 241px; text-align: center" | Sense rotation of robot
| style="width: 112px; text-align: center" | &nbsp;
| style="width: 112px; text-align: center" |&nbsp;
|}
|}


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


{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
{| border="1" cellpadding="2" cellspacing="1" style="width: 1007px"
|-
|-
| 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" |
| style="width: 75px" |  
| style="width: 75px" |
| style="width: 53px" |  
| style="width: 53px" |
| style="width: 205px" |  
| style="width: 205px" |
| style="width: 241px" |  
| style="width: 241px" |
| style="width: 112px" | &nbsp;
| style="width: 112px" |&nbsp;
|-
|-
| 1
|1
| style="width: 76px" | &nbsp;
| style="width: 76px" |&nbsp;
| style="width: 75px" | &nbsp;
| style="width: 75px" |&nbsp;
| style="width: 53px" | &nbsp;
| style="width: 53px" |&nbsp;
| style="width: 205px" | &nbsp;
| style="width: 205px" |&nbsp;
| style="width: 241px" | &nbsp;
| style="width: 241px" |&nbsp;
| style="width: 112px" | &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 ==
==Pneumatics Control Modules==


{| class="wikitable" border="1" cellpadding="2" cellspacing="1" style="width: 931px"
{| class="wikitable" border="1" cellpadding="2" cellspacing="1" style="width: 931px"
|-
|-
| style="width: 8px" |  
| style="width: 8px" |
'''PCM'''
'''PCM'''


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


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


[[index.php?title=Media:DisableXbox.docx|DisableXbox.docx]]
[[index.php?title=Media:DisableXbox.docx|DisableXbox.docx]]
Line 1,232: Line 1,261:
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
=== Controller 1 - Primary Driver ===
===Controller 1 - Primary Driver===


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


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


Line 1,343: Line 1,377:


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


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


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


Line 1,463: Line 1,514:
</div>
</div>


=== Dashboard ===
===Dashboard===


{| border="1" cellpadding="2" cellspacing="1" style="width: 0px"
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| '''Key'''
|'''Key'''
| '''Data Type'''
|'''Data Type'''
| '''Value'''
|'''Value'''
| style="width: 1000px" | '''Description'''
| style="width: 1000px" |'''Description'''
|-
|-
| thunderdashboard_alliance
| thunderdashboard_gyro
| number
|number
|  
|
0 - Red
0 - dashboard background not based on this


1 - Blue
1 - dashboard background goes red


| Alliance we are one
|used when: gyro is calibrating
|-
| thunderdashboard_stage1
| number
| 0 - not blocked
1 - blocked
| Stage 1 sensor blocked?
|-
| thunderdashboard_stage2
| number
| 0 - not blocked
1 - blocked
| Stage 2 sensor blocked?
|-
|-
|thunderdashboard_ballcount
|thunderdashboard_yellow
|number
|number
| -1 - don't know
|
0 to 9 - number of balls
0 - dashboard background not based on this
|how many balls are in the robot
|-
| thunderdashboard_shooter_hood
| number
| 0 - 100
| the position of the hood: 0 is down, 100 is completely up
|-
| thunderdashboard_hang_bar
| number
|  
0 - unknown


1 - mid
1 - dashboard background goes yellow


2 - high
|
used when: TBD


3 - traversal
NOTE: thunderdashboard_gyro takes precedence


| the bar the robot is on
|-
|-
| thunderdashboard_hang_status
|thunderdashboard_green
| number
|number
|  
|
0 - unknown
0 - dashboard background not based on this


1 - red
1 - dashboard background goes green


2 - green
|
used when: TBD


3 - yellow
NOTE: thunderdashboard_gyro takes precendence


| hang status color to show
|-
|-
| thunderdashboard_match_length
|thunderdashboard_inpitmode
| number
|number
|  
|
0 - no bar
0 - dashboard background not based on this
 
1 - dashboard background is power blue


1 to 599 - show bar, max seconds for the match period
|
used when: robot is operating in 'pit mode' (for safer operatin in the pits)


| Displays countdown progress bar at bottom of dashboard.
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)
|-
|-
| thunderdashboard_match_remaining
| Auto_Mode
|number
|a number from thunderdashboard_auto_list
|the auto mode selected on the UI
|-
|thunderdashboard_auto_start_delay
| number
| number
| 0 to 599
|
|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


| Number of seconds left in the match period
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_gyro
|thunderdashboard_auto_starting_action
| number
|number
|  
|Depending on the starting location, this value means different things.
0 - dashboard background not based on this
'''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


1 - dashboard background goes red
'''If starting on either side,'''


| used when: gyro is calibrating
Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4
|Dashboard selection of what action the robot should do first in autonomous
|-
|-
| thunderdashboard_yellow
|thunderdashboard_auto_field_gamepiece
| number
|number
|  
|0 - cube
0 - dashboard background not based on this
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,'''


1 - dashboard background goes yellow
0 - Do nothing


|
1 - Score acquired field GamePiece
used when: TBD


NOTE: thunderdashboard_gyro takes precedence
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_green
|thunderdashboard_airpressure_iters
| number
|number
|  
|
0 - dashboard background not based on this
|Number of ticks on air pressure gauge
|-
|thunderdashboard_led_mode
|number
|0 - Robot State
1 - Alliance Color


1 - dashboard background goes green
2 - Custom Color


|  
3 - Off
used when: TBD
|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


NOTE: thunderdashboard_gyro takes precendence
1 - Center grid


2 - Right grid
|Which grid the robot is currently in front of (relative to driver, NOT field or robot)
|-
|-
| thunderdashboard_inpitmode
|thunderdashboard_score_grid_column
| number
|number
|  
| -1 - No Column selected
0 - dashboard background not based on this
0 - Left column
 
1 - Center column


1 - dashboard background is power blue
2 - Right column
|Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot)
|}


|
used when: robot is operating in 'pit mode' (for safer operatin in the pits)


NOTE: thunderdashboard_gyro takes precendence
===Network Ports===


{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| thunderdashboard_max
|'''Server'''
| number
|'''Port'''
|  
|'''Client'''
0 - show normal
|'''Protocol'''
 
| style="width: 1000px" |'''Description'''
1 - fills screen
 
| whether to fill the laptop screen with the dashboard or not
|-
|-
| thunderdashboard_frontcamera
|roboRIO
| number
|5809
| 0 - LimeLight (mjpeg,  roboRIO-1511-FRC.local:5800)
|Dashboard
1 - USB camera (mjpeg, 10.15.11.11:1181)
|TCP
| which camera the dashboard should connect to
|PS5 Controller Input/Output
|-
|-
| thunderdashboard_auto_list
|roboRIO
| string
|5802
| a comma seperated list
|Raspberry Pis
| the list of auto modes (e.g. "0,1,2,3,4,5")
|TCP
|Vision Processing communication
|-
|-
| thunderdashboard_auto_#
|Raspberry Pi 1
| string
|1181
| any text
|Dashboard
| one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
|UDP
|Left Front Camera
|-
|-
| Auto_Mode
|Raspberry Pi 2
| number
|1182
| a number from thunderdashboard_auto_list
|Dashboard
| the auto mode selected on the UI
|UDP
|Right Front Camera
|-
|-
| thunderdashboard_auto_start_delay
|Raspberry Pi 1
| number
|1182
| &nbsp;
|Dashboard
| user selected number of seconds, 0 to 15, to delay start of auto mode
|UDP
|Back Camera
|}
|}


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


*[[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&nbsp;IO Map]] (applies to 2021 as well!)
*[[2019:Robot_IO_Map|2019&nbsp;IO Map]]  
*[[2019:Robot_IO_Map|2019&nbsp;IO Map]]
*[[2018:Robot_IO_Map|2018&nbsp;IO Map]]  
*[[2018:Robot_IO_Map|2018&nbsp;IO Map]]
*[[2017:Robot_IO_Map|2017&nbsp;IO Map]]  
*[[2017:Robot_IO_Map|2017&nbsp;IO Map]]
*[[2016:Robot_IO_Map|2016&nbsp;IO Map]]  
*[[2016:Robot_IO_Map|2016&nbsp;IO Map]]
*[[2015:Robot_IO_Map|2015&nbsp;IO Map]]  
*[[2015:Robot_IO_Map|2015&nbsp;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]]
*[[2012:Robot_IO_Map|2012 IO Map]]  
*[[2012:Robot_IO_Map|2012 IO Map]]
*[[2011:Robot_IO_Map|2011 Thunderous Prime IO Map]]  
*[[2011:Robot_IO_Map|2011 Thunderous Prime IO Map]]
*[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]]  
*[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]]
*[[2009:IO_Map|2009 Thunderplucker]]  
*[[2009:IO_Map|2009 Thunderplucker]]
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]]
*[[IO Pin Maps for Pre-2009 Robots]]

Latest revision as of 06:06, 13 March 2023

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 Grabber Spark Max Neo 550 Brake Left intake motor   20A 11 Not set yet, depends on wire route
3 Grabber Spark Max Neo 550 Brake Right intake motor   20A 10 Not set yet, depends on wire route
4 Lift Spark Max Neo Brake Telescoping arm extension 40A 14 Using Integrated Encoder
5 Lift Spark Max Neo 550 Brake Left lift lead screw 40A 4 Using Integrated Encoder
6 Lift Spark Max Neo 550 Brake Right lift lead screw   40A 15 Using Integrated Encoder
7 RCS PCM Pneumatics Control Module 5A 22
8
9 Drive Spark Max Neo Brake Front left drive motor 40A 0 Using Integrated Encoder
10 Drive Spark Max Neo Brake Back left drive motor 40A 2 Using Integrated Encoder
11 Drive Spark Max Neo Brake Back right drive motor   40A 18 Using Integrated Encoder
12 Drive Spark Max Neo Brake Front right drive motor 40A 16 Using Integrated Encoder
13 Drive Spark Max Neo 550 Brake Front left rotation motor   20A 1 Using Integrated Encoder
14 Drive Spark Max Neo 550 Brake Back left rotation motor   20A 3 Using Integrated Encoder
15 Drive Spark Max Neo 550 Brake Back right rotation motor   20A 19 Using Integrated Encoder
16 Drive Spark Max Neo 550 Brake Front right rotation motor   20A 17 Using Integrated Encoder
17 Drive Encoder CANCoder N/A Front left absolute encoder N/A
18 Drive Encoder CANCoder N/A Back left absolute encoder N/A
19 Drive Encoder CANCoder N/A Back right absolute encoder N/A
20 Drive Encoder CANCoder N/A Front right absolute encoder N/A
 
PDB Assignments
Port # Device (Subteam) Breaker Value Max Current Note
0 Neo (Drive) 40A 40A
1 Neo 550 (Drive) 30A 30A
2 Neo (Drive) 40A 40A
3 Neo 550 (Drive) 30A 30A
4 Leadscrew Left (Lift) 40A
5
6
7
8
9
10 Grabber Right 30A
11 Grabber Left 30A
12
13
14 Telescoping (Lift) 40A
15 Leadscrew Right (Lift) 30A
16 Neo (Drive) 40A 40A
17 Neo 550 (Drive) 30A 30A
18 Neo (Drive) 40A 40A
19 Neo 550 (Drive) 30A 30A
20 RIO(?) 10A Fused Port
21 VRM(?) 20A Fused Port
22 PCM 10A Fused Port
23 (Switchable) Ethernet Switch 5A Fused Port
VRM Assignments
Port # Device (Subteam)
5V/2A Blinky Blinky
5V/2A Blinky Blinky
5V/500mA Blinky Blinky
5V/500mA Blinky Blinky
12V/2A Banner Sensor - GamePiece
12V/2A
12V/500mA 4x CanCoders tied together - Drive
12V/500mA

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0 Blinky Blinky LED Strip Illumination & Communication w/ HP Yes 5V 2A on VRM  
1      
2        
3        
4
5          
6
7  
8
9  
10                
11                
 
 

Relay Outputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0            
1            
2            
3            

 

Analog IO

RoboRIO Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0
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 Grabber Beam Break Grabber intake sensor Detect acquired game pieces
1 IN Lift Lift home sensor Detect when telescoping arm is fully retracted
2 IN Lift Lift extension sensor Detect when telescoping arm is fully extended
3 IN Lift Lift home sensor (ish) & hard stop Detect when lift needs to stop
4 IN
5
6
7 IN  
8 IN  
9 IN  
10 IN  
 
 
 

Rev Robotics More Board IO

ID Direction (IN/OUT) Subsystem Component Type Model # Description (brief) Operation Notes
0 IN            
1 IN            
2 IN            
3 IN            
4 IN            
5 IN            
6 IN            
7 IN            
8 IN            
9              
10              
11              
12              
13              
14              
15              
 

I2C Registers

Address
(e.g. 0100111X)
Pin
(e.g. GP0)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0x52    
               
               
               
               
               
               

SPI Devices

# Subsystem

Component Type

Model # Description (brief) Operation Notes
0 Drive IMU ADIS16470 3-Axis gyro and accelerometer Sense rotation of robot  

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 Grabber Double Extend Difference between cone intake and cube intake
1 Retract
2 Grabber Double Extend Difference between cone intake and cone transport
3 Retract
4 Grabber Double Extend Grabber Position for intaking tipped cone
5 Retract Grabber Position for intaking upright cone
6 Drive Base Double Retract Parking Break
7 Extend Parking Break
2 0
1
2
3
4
5

Operator Controls

Disable Xbox Controller

DisableXbox.docx

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y Drive translation Y  
A-1 Left Joystick X Drive translation X  
Left Joystick Press Drive lock X translation toggle
A-4 Right Joystick Y  
A-4 Right Joystick X Drive rotation  
B-6 Right Bumper Slow drive rotation (hold)  
B-5 Left Bumper Slow drive translation (hold)  
A-3 Right Trigger  
A-2 Left Trigger  
B-1 Square / A Button  
B-3 Cross / X Button Brick drive  
B-4 Triangle / Y Button Toggle Absolute Rotation  
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 Score GamePiece
A-3 Right Trigger Intake
A-4 Right Joystick X-Axis

 

 

A-5 Right Joystick Y-Axis    
B-1 Square / A Button Prepare intake for cube aquisition
B-2 Circle / B button Prepare intake / wrist for tipped cone acquisition
B-3 Cross / X Button
B-4 Triangle / Y button Prepare intake for upright cone acquisition
B-5 Left bumper
B-6 Right bumper Outake
B-7 Back Button Reset GamePiece  
B-8 Start Button
B-9 Left Stick Pressed    
B-10 Right Stick Pressed    
POV-0 D-pad up If has GamePiece, then lift goes to high scoring location

If doesn't have GamePiece, then lift goes to balcony acquisition position

POV-90 D-pad right Lift goes to Mid scoring location
POV-180 D-pad down If has GamePiece, then goes to hybrid scoring location

If doesn't have GamePiece, then goes to ground intake acquisition position

POV-270 D-pad left

Controller 3 - Switches on console

 Button/Axis #  Action/Button  Description Details
B-1 Blinky Blinky Off Turns off Blinky Blinky  
B-2 Robot-Centric Switches from field-centric to Robot-Centric  
B-3  
B-4  
B-5 GamePiece Manual GamePiece Manual - MAY BREAK THINGS!!!!  
B-6 Crater mode Pit (crater) mode  
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)


Network Ports

Server Port Client Protocol 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