2020:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
 
(72 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
= Robot I/O =
= Robot I/O =
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
Line 9: Line 9:
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output">
== CAN ID Assignments ==
== CAN ID Assignments ==


{| style="width: 855px" cellspacing="1" cellpadding="2" border="1"
{| border="1" cellpadding="2" cellspacing="1" style="width: 855px"
|-
|-
| style="text-align: center" | '''ID'''
| style="text-align: center" | '''ID'''
| style="text-align: center" | '''Subsystem'''
| style="text-align: center" | '''Subsystem'''
| <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>  
| <p style="text-align: center">'''Component'''</p> <p style="text-align: center">'''Type'''</p>  
| style="text-align: center; width: 75px" | '''Model #'''
| style="text-align: center; width: 112px" | '''Model #'''
| style="width: 81px; text-align: center" | '''Brake or Coast?'''
| style="width: 70px; text-align: center" | '''Brake or Coast?'''
| style="width: 210px; text-align: center" | '''Description'''<br/> (brief)
| style="width: 110px; text-align: center" | '''Description'''<br/> (brief)
| style="width: 224px; text-align: center" | '''Operation'''
| style="width: 224px; text-align: center" | '''Operation'''
| colspan="2" rowspan="1" style="width: 175px; text-align: center" |  
| colspan="2" rowspan="1" style="width: 175px; text-align: center" |  
'''Notes'''
'''Notes'''


Line 30: Line 29:
| style="text-align: center" | Electrica'''l'''
| style="text-align: center" | Electrica'''l'''
| <p style="text-align: center">PD Module</p>  
| <p style="text-align: center">PD Module</p>  
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 210px; text-align: center" | Power Distribution Module feedback
| style="width: 110px; text-align: center" | Power Distribution Module feedback
| style="width: 224px; text-align: center" | monitor PD
| style="width: 224px; text-align: center" | monitor PD
| style="width: 115px" | <p style="text-align: center">must be CAN 0</p>  
| style="width: 115px" | <p style="text-align: center">must be CAN 0</p>  
| style="width: 55px" | &nbsp;
| style="width: 55px" | &nbsp;
Line 40: Line 39:
| style="text-align: center" | '''RESERVED'''
| style="text-align: center" | '''RESERVED'''
| style="text-align: center" | n/a
| style="text-align: center" | n/a
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 210px; text-align: center" | Factory-default<br/> allows for adding new device quickly and re-assign its ID
| style="width: 110px; text-align: center" | Factory-default<br/> allows for adding new device quickly and re-assign its ID
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | don't use
| style="width: 115px; text-align: center" | don't use
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 2
| style="text-align: center" | 2
| style="text-align: center" | &nbsp;
| style="text-align: center" | Intake
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark Max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" |  
| style="width: 110px; text-align: center" |
&nbsp;
Pivots intake in/out of robot
 
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
30A
 
Using integrated encoder


| style="width: 224px;  text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 4
| style="width: 115px;  text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" | &nbsp;
| style="text-align: center" | Intake
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Coast
| style="width: 210px; text-align: center" |  
| style="width: 110px; text-align: center" |  
&nbsp;
Spins "beater bars"


| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 5
|-
|-
| style="text-align: center" | 4
| style="text-align: center" | 4
| style="text-align: center" | &nbsp;
| style="text-align: center" | Storage
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Agitates balls up the corkscrew
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 6
|-
|-
| style="text-align: center" | 5
| style="text-align: center" | 5
| style="text-align: center" | &nbsp;
| style="text-align: center" | Storage
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Feeds balls into shooter
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 7
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" | &nbsp;
| style="text-align: center" | Shooter
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Coast
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Spins left shooting motor
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | &nbsp;
40A
 
+: out
 
-: in
 
| style="width: 55px; text-align: center" | 12
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" | &nbsp;
| style="text-align: center" | Shooter
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Coast
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Spins right shooting motor
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | &nbsp;
40A
 
Using integrated encoder.
 
1 might run in follower mode
 
+: in
 
-: out
 
| style="width: 55px; text-align: center" | 2
|-
|-
| style="text-align: center" | 8
| style="text-align: center" | 8
| style="text-align: center" | &nbsp;
| style="text-align: center" | Turret
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Rotates turret
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
&nbsp;
&nbsp;


| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 9
|-
|-
| style="text-align: center" | 9
| style="text-align: center" | 9
| style="text-align: center" | &nbsp;
| style="text-align: center" | WoF
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Rotates Wheel of Fortune
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 11
|-
|-
| style="text-align: center" | 10
| style="text-align: center" | 10
| style="text-align: center" | &nbsp;
| style="text-align: center" | Hang
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo&nbsp;
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Winches robot up
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | &nbsp;
40A
 
Using integrated encoder
 
| style="width: 55px; text-align: center" | 13
|-
|-
| style="text-align: center" | 11
| style="text-align: center" | 11
| style="text-align: center" | &nbsp;
| style="text-align: center" | Shooter
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark Max
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | Neo
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;?
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Primer wheel
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | Feeds into the shooter
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | &nbsp;
+: in
 
-: out
 
| style="width: 55px; text-align: center" | 8
|-
|-
| 12
| 12
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center; width: 75px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| 13
| 13
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 75px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 81px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 210px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| 14
| 14
| &nbsp;
| &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 75px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 81px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 210px" | &nbsp;
| style="width: 110px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| 15
| 15
| &nbsp;
| &nbsp;
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 75px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 81px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 210px" | &nbsp;
| style="width: 110px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|}
|}
 
</div> </div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div></div> <div class="mw-parser-output">&nbsp;</div> </div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div></div></div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div>
&nbsp;
</div> </div>


<div class="mw-parser-output">
<div class="mw-parser-output">
== PWM Outputs ==
== PWM Outputs ==


{| style="width: 902px" cellspacing="1" cellpadding="2" border="1"
{| border="1" cellpadding="2" cellspacing="1" style="width: 902px"
|-
|-
| '''ID'''
| style="width: 15px" | '''ID'''
| style="width: 82px; 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: 54px" | '''Model #'''
| style="text-align: center; width: 94px" | '''Model #'''
| style="text-align: center; width: 170px" | '''Description<br/> (brief)'''
| style="text-align: center; width: 167px" | '''Description<br/> (brief)'''
| style="text-align: center; width: 280px" |  
| 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 219: Line 244:


|-
|-
| rowspan="1" | 0
| style="width: 15px" | 0
| style="width: 82px" | &nbsp;
| style="width: 70px" | Hang
| style="width: 76px" | &nbsp;
| style="width: 76px" | Servo
| style="width: 54px" | &nbsp;
| style="width: 94px" |  
| style="width: 170px" | &nbsp;
&nbsp;
| style="width: 280px" | &nbsp;
 
| style="width: 280px" | &nbsp;
Hs-322HD
| style="width: 125px;  text-align: center" | &nbsp;
 
| style="width: 72px;  text-align: center" | &nbsp;
| style="width: 167px; text-align: center" | Engages/disingages ratchet
|-
| style="width: 148px" |  
| rowspan="1" | 1
&nbsp;
| style="width: 82px" | &nbsp;
 
| style="width: 76px" | &nbsp;
| style="width: 280px" | N/A
| style="width: 54px" | &nbsp;
| style="width: 170px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 125px;  text-align: center" | &nbsp;
| style="width: 72px;  text-align: center" | &nbsp;
|-
| 2
| style="width: 82px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 170px" | &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;
|-
|-
| 3
| style="width: 15px" | 1
| style="width: 82px" | &nbsp;
| style="width: 70px" | Shooter
| style="width: 76px" | &nbsp;
| style="width: 76px" | Servo
| style="width: 54px" | &nbsp;
| style="width: 94px" |  
| style="width: 170px" | &nbsp;
Hs-785HB
| style="width: 280px" | &nbsp;
 
| style="width: 280px" | &nbsp;
| style="width: 167px; text-align: center" | Moves turret hood to increase/decrease shot angle
| style="width: 148px" | &nbsp;
| style="width: 280px" | N/A
| style="width: 125px" | &nbsp;
| style="width: 125px" | &nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" | &nbsp;
|-
|-
| 4
| style="width: 15px" | 2
| style="width: 82px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 94px" | &nbsp;
| style="width: 170px" | &nbsp;
| style="width: 167px; text-align: center" | &nbsp;
| style="width: 280px" | &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;
|-
|-
| 5
| style="width: 15px" | 3
| style="width: 82px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 94px" | &nbsp;
| style="width: 170px" | &nbsp;
| style="width: 167px; text-align: center" | &nbsp;
| style="width: 280px" | &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;
|-
|-
| 6
| style="width: 15px" | 4
| style="width: 82px" | &nbsp;
| style="width: 70px" | Driver LEDs
| style="width: 76px" | &nbsp;
| style="width: 76px" | LED
| style="width: 54px" | &nbsp;
| style="width: 94px" | LED
| style="width: 170px" | &nbsp;
| style="width: 167px; text-align: center" | Gives connection to Driver Interface LEDs
| style="width: 280px" | &nbsp;
| style="width: 148px" | Allows drivers to see power cell count from the front/back of robot
| style="width: 280px" | N/A
| style="width: 125px" | 20A (via voltage regulator)
| style="width: 72px" | 10
|-
| style="width: 15px" | 5
| style="width: 70px" | Wheel of Fortune
| style="width: 76px" | Servo
| style="width: 94px" | &nbsp;
| style="width: 167px" | Swing color sensor outside the frame perimeter
| 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;
|-
|-
| 7
| rowspan="1" style="width: 15px" |
| style="width: 82px" | &nbsp;
6
| style="width: 76px" | &nbsp;
 
| style="width: 54px" | &nbsp;
&nbsp;
| style="width: 170px" | &nbsp;
 
| style="width: 280px" | &nbsp;
| style="width: 70px" |  
| style="width: 280px" | &nbsp;
Drive base
| style="width: 125px" | &nbsp;
 
| style="width: 72px" | &nbsp;
&nbsp;
 
| style="width: 76px" | Spark Max
| style="width: 94px" | Neo
| style="width: 167px; text-align: center" | Left front drive motor
| style="width: 148px" | Moves left side of robot forwards/backwards
| style="width: 280px" | Don't know
| style="width: 125px; text-align: center" | 40A
| style="width: 72px; text-align: center" | 14
|-
| rowspan="1" style="width: 15px" |
7
 
&nbsp;
 
| style="width: 70px" | Drive Base
| style="width: 76px" | Spark Max
| style="width: 94px" | Neo
| style="width: 167px; text-align: center" | &nbsp;Left rear drive motor
| style="width: 148px" | &nbsp;
| style="width: 280px" | Don't know
| style="width: 125px; text-align: center" | 40A
| style="width: 72px; text-align: center" | 15
|-
| rowspan="1" style="width: 15px" | 8
| style="width: 70px" | Drive Base
| style="width: 76px" | Spark Max
| style="width: 94px" | Neo
| style="width: 167px; text-align: center" | Right front drive motor
| style="width: 148px" | Moves right side of robot forwards/backwards
| style="width: 280px" | Don't know
| style="width: 125px; text-align: center" | 40A
| style="width: 72px; text-align: center" | 0
|-
| rowspan="1" style="width: 15px" |
9
 
&nbsp;
 
| style="width: 70px" | Drive Base
| style="width: 76px" | Spark Max
| style="width: 94px" | Neo
| style="width: 167px; text-align: center" | Right Rear drive Motor
| style="width: 148px" | &nbsp;
| style="width: 280px" | Don't know
| style="width: 125px; text-align: center" | 40A
| style="width: 72px; text-align: center" | 1
|-
|-
| 8
| style="width: 15px" | 8
| style="width: 82px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 94px" | &nbsp;
| style="width: 170px" | &nbsp;
| style="width: 167px" | &nbsp;
| style="width: 280px" | &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;
|-
|-
| 9
| style="width: 15px" | 9
| style="width: 82px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 94px" | &nbsp;
| style="width: 170px" | &nbsp;
| style="width: 167px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 148px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 125px" | &nbsp;
| style="width: 125px" | &nbsp;
Line 321: Line 390:


&nbsp;
&nbsp;
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div>
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div></div></div></div></div></div></div>


<div class="mw-parser-output">
== Relay Outputs ==
== Relay Outputs ==


{| style="width: 927px" cellspacing="1" cellpadding="2" border="1"
{| 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
Line 370: Line 438:


&nbsp;
&nbsp;
</div>
</div> <div class="mw-parser-output">
 
== Analog IO ==
== Analog IO ==
<div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
=== <u>RoboRIO Analog Inputs</u> ===
=== <u>RoboRIO Analog Inputs</u> ===
Line 393: Line 460:
|-
|-
| 0
| 0
| &nbsp;
| Drive Base
| style="width: 70px" | &nbsp;
| style="width: 70px" | Gyro
| style="width: 54px" | &nbsp;
| style="width: 54px" | ADW22307
| style="width: 227px" | &nbsp;
| style="width: 227px" | Located on center axis underneath the helix
| style="width: 262px" | &nbsp;
| style="width: 262px" | Tells where the drive base is looking by degrees (for autonomous)
| style="width: 132px" | &nbsp;
| style="width: 132px" | 7mV/degree
| style="width: 91px;  text-align: center" | &nbsp;
| style="width: 91px;  text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 1
| style="text-align: center" | 1
| style="text-align: center" | &nbsp;
| style="text-align: center" | Shooter
| style="width: 69px;  text-align: center" | &nbsp;
| style="width: 69px;  text-align: center" | Potentiometer
| style="width: 122px;  text-align: center" | &nbsp;
| style="width: 122px;  text-align: center" | Bournes 3547S-1AA-103A
| style="width: 139px;  text-align: center" | &nbsp;
| style="width: 139px;  text-align: center" | Located on the output of the hood servo
| style="width: 193px;  text-align: center" | &nbsp;
| style="width: 193px;  text-align: center" | Tells the angle of the hood
| style="width: 223px;  text-align: center" | &nbsp;
| style="width: 223px;  text-align: center" | &nbsp;
| &nbsp;
| &nbsp;
Line 428: Line 495:
| &nbsp;
| &nbsp;
|}
|}
</div>
</div> <div class="mw-parser-output">&nbsp;</div> </div>


<div class="mw-parser-output">
=== <u>More Board Analog Inputs</u> ===
=== <u>More Board Analog Inputs</u> ===


{| style="width: 1030px" cellspacing="1" cellpadding="2" border="1"
{| 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;
|}
|}


&nbsp;
&nbsp;
</div>
</div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output">
 
=== <u>Rev Robotics More Board Analog IO</u> ===
 
{| border="1" cellpadding="2" cellspacing="1" style="width: 1030px"
|-
| '''ID'''
| style="text-align: center" | '''Subsystem'''
| 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: 227px; text-align: center" | '''Description<br/> (brief)'''
| style="width: 262px; text-align: center" | '''Operation'''
| style="width: 132px; text-align: center" |
'''Voltage'''
 
'''Range'''
 
| style="width: 91px; text-align: center" | '''Notes'''
|-
| AIN0
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|-
| AIN1
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|-
| AIN2
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|-
| AIN3
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|-
| AOUT0
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|-
| AOUT1
| &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 54px" | &nbsp;
| style="width: 227px" | &nbsp;
| style="width: 262px" | &nbsp;
| style="width: 132px" | &nbsp;
| style="width: 91px" | &nbsp;
|}
 
== 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">
== 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">
=== <u>RoboRio IO</u> ===
=== <u>RoboRio IO</u> ===


{| style="width: 1229px" cellspacing="1" cellpadding="2" border="1"
{| 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" | Hatch
| style="width: 69px; text-align: center" | Intake
| style="width: 122px; text-align: center" | Limit switch
| style="width: 122px; text-align: center" | Banner Opto
| style="width: 139px; text-align: center" | Honeywell SZL-VL-S-B-N-M
| style="width: 139px; text-align: center" | Q10RN6R
| style="width: 193px; text-align: center" | Hatch against backplate
| style="width: 193px; text-align: center" | Senses Incoming Power Cells
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |  
0 = have hatch
1 = Ball not present&nbsp;
 
0 = Ball Present
 
| style="width: 231px; text-align: center" |
w/Q106E emitter,


&nbsp;1&nbsp;= no hatch
sensor open-collector out


| style="width: 231px;  text-align: center" | &nbsp;
|-
|-
| 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" | &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" |  
| style="width: 231px; text-align: center" | &nbsp;
&nbsp;
 
| style="width: 231px; text-align: center" |  
&nbsp;
 
|-
|-
| 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" | &nbsp;
| style="width: 69px; text-align: center" | Storage
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Allen-Bradley RightSight Prox Sensor
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | 42EF-D2MPAK-F4
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | Senses balls when ready to shoot
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
1 = Ball present
 
0 = Ball not present
 
| style="width: 231px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | Shooter
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Banner Opto
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | Q10RN6R
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | Senses when a ball is exiting the shooter
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
1 = Ball not present&nbsp;
 
0 = Ball Present
 
| style="width: 231px; text-align: center" |  
w/Q106E emitter,
 
sensor open-collector out
 
|-
|-
| style="text-align: center" | 4
| style="text-align: center" | 4
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Elevator
| style="width: 69px; text-align: center" | Drive base&nbsp;
| style="width: 122px; text-align: center" | Upper Limit
| style="width: 122px; text-align: center" | Phase A Left Encoder
| style="width: 139px; text-align: center" | EE-SPY415
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 193px; text-align: center" | senses when the elevator is at the top of its track
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" | 2048 cycles per revolution
0 = no face sensed
| style="width: 231px; text-align: center" | &nbsp;
 
1 = face sensed
 
| style="width: 231px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 5
| style="text-align: center" | 5
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Elevator
| style="width: 69px; text-align: center" | Drive base
| style="width: 122px; text-align: center" | Lower Limit
| style="width: 122px; text-align: center" | Phase B Left Encoder
| style="width: 139px; text-align: center" | Optek OPB815WZ
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 193px; text-align: center" | senses when the elevator inner frame is at the bottom of the track
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" | 2048 cycles per revolution
0 = elevator not at bottom
| style="width: 231px; text-align: center" | &nbsp;
 
1 = elevator is at bottom
 
| style="width: 231px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | Drive base
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Phase A Right Encoder
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" | &nbsp;
|-
|-
| 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" | &nbsp;
| style="width: 69px; text-align: center" | Drive base
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Phase B right encoder
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| 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" | &nbsp;
| style="width: 69px; text-align: center" | Intake
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Omron Reflective
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | EE-SPY415
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | Senses the presence of the intake mechanism to zero the rotation motor encoder
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
1 = not present
 
0 = present<br/> (Need to double check this)
 
| 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" | &nbsp;
| style="width: 69px; text-align: center" | Hang
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | Optical Sensor Through-Beam
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | OPB815WZ
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | Sense when hanger is all the way retracted
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | 1 = hanger sensed (all the way down), 0 = hanger not sensed
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" | &nbsp;
|}
|}
</div> </div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> <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">&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>


<div class="mw-parser-output">
=== <u>Rev Robotics More Board IO</u> ===
=== <u>Rev Robotics More Board IO</u> ===


{| style="width: 1022px" cellspacing="1" cellpadding="1" border="1"
{| 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" | Drive
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Encoder
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | 63R256 Grayhill
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Left drive train encoder
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" | Left encoder phase A
| 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" | Drive
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Encoder
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | 63R256 Grayhill
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Right drive train encoder
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" | Right encoder phase A
| 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" | Hab
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Range Finder
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | Optek OPB720A
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Front robot over a hab level
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |  
| style="width: 254px; text-align: center" | &nbsp;
0 = not
| style="width: 141px; text-align: center" | &nbsp;
 
1 = over level
 
| 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" | Hab
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Range Finder
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | Optek OPB720A
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Back robot over a hab level
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |  
| style="width: 254px; text-align: center" | &nbsp;
0 = not
| style="width: 141px; text-align: center" | &nbsp;
 
1 = over level
 
| 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" | Elevator
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Lower Limit
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | Optek OPB815WZ
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Carriage lower limit
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |  
| style="width: 254px; text-align: center" | &nbsp;
0 = elevator carriage not at bottom
| style="width: 141px; text-align: center" | &nbsp;
 
1 = elevator carriage is at bottom
 
| 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" | Elevator
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Middle? Limit
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 56px; text-align: center" | Optek OPB815WZ
| style="width: 56px; text-align: center" | &nbsp;
| style="width: 197px; text-align: center" | Carriage upper sensor for returning to starting configuration inside starting configuration
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |  
| style="width: 254px; text-align: center" | &nbsp;
0 = elevator not at starting configuration
| style="width: 141px; text-align: center" | &nbsp;
 
1 = elevator is at starting configuration
 
| 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" | Pnuematics
| style="width: 74px; text-align: center" | &nbsp;
| style="width: 74px; text-align: center" | Compressor Switch
| 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" | Sensor which turns off compressor
| style="width: 197px; text-align: center" | &nbsp;
| style="width: 254px; text-align: center" |  
| style="width: 254px; text-align: center" | &nbsp;
0 = compressor on
| style="width: 141px; text-align: center" | &nbsp;
 
1= compressor off
 
| 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">&nbsp;</div> </div> <div class="mw-parser-output">&nbsp;</div> </div> <div class="mw-parser-output">&nbsp;</div> </div></div></div></div></div></div></div>


== I2C Registers ==
== I2C Registers ==
Line 879: Line 863:
| style="width: 112px; text-align: center" | '''Notes'''
| style="width: 112px; text-align: center" | '''Notes'''
|-
|-
| 0x29
| style="text-align: center" | 0x52
| style="width: 37px" | &nbsp;
| style="width: 37px; text-align: center" | &nbsp;
| style="width: 76px" | Habitat
| style="width: 76px; text-align: center" | Wheel of Fortune
| style="width: 75px" | laser range finder
| style="width: 75px; text-align: center" | Color Sensor
| style="width: 53px" | VL53L0X
| style="width: 53px; text-align: center" | REV-31-1557
| style="width: 205px" | detects when we are ready to retract the first set of cylinders
| style="width: 205px; text-align: center" | Reads colors of wheel
| style="width: 241px" |  
| style="width: 241px; text-align: center" | Provides these channels:&nbsp;Red, Green, Blue, Alpha, and Proximity
If climbing to level 3, when distance changes from 21.162 to 2.162 the cylinders will retract .&nbsp;
| style="width: 112px" | &nbsp;
 
If climbing to level 2, when distance changes from 21.162 to 15.162 the cylinders will retract.&nbsp;
 
| style="width: 112px" | PROBABLY NOT USING ANYMORE
|-
|-
| 0x2A
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | Habitat
| style="width: 76px" | &nbsp;
| style="width: 75px" | laser range finder
| style="width: 75px" | &nbsp;
| style="width: 53px" | VL53L0X
| style="width: 53px" | &nbsp;
| style="width: 205px" | detects when we are ready to retract the second set of cylinders
| style="width: 205px" | &nbsp;
| style="width: 241px" |  
| style="width: 241px" | &nbsp;
If climbing to level 3, when distance changes from 21.162 to 2.162 the cylinders will retract .&nbsp;
| style="width: 112px" | &nbsp;
 
If climbing to level 2, when distance changes from 21.162 to 15.162 the cylinders will retract.&nbsp;
 
| style="width: 112px" | NOT USING ANYMORE BUT I DONT WANT TO DELETE THIS
|-
|-
| 2
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 914: Line 890:
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
| 3
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 923: Line 899:
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
| 4
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 932: Line 908:
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
| 5
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 941: Line 917:
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
| 6
| &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 37px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 950: Line 926:
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|}
|}
 
</div> </div>  
</div> </div>
</div>
 
== SPI Devices ==
== SPI Devices ==


Line 1,010: Line 983:
| 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">
== Pneumatics Control Modules ==
== Pneumatics Control Modules ==


{| style="width: 931px" cellspacing="1" cellpadding="2" border="1"
{| border="1" cellpadding="2" cellspacing="1" style="width: 931px"
|-
|-
| style="width: 8px" | '''ID'''
| style="width: 8px" |  
'''PCM'''
 
'''ID'''
 
| style="width: 1px" | '''#'''
| style="width: 1px" | '''#'''
| style="text-align: center" | '''Subsystem'''
| style="text-align: center" | '''Subsystem'''
Line 1,023: Line 998:
| 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" | 1
| rowspan="8" style="width: 8px" | 1
| style="width: 1px" | 0
| style="width: 1px" | 0
| colspan="1" rowspan="2" | Hatch
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Hold hatch
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cylinder to raise hook
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| rowspan="8" style="width: 118px" | N/A (dedicated PCM terminal)
| rowspan="8" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 1
| style="width: 1px" | 1
| style="width: 183px" | Allow hatch to release
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retract cylinder to lower hook
| style="width: 290px" | &nbsp;
|-
|-
| style="width: 1px" | 2
| style="width: 1px" | 2
| colspan="1" rowspan="2" | Cargo
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Enables cargo mechanism
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cargo cylinders (2) to extend cargo mechism to usable position
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 3
| style="width: 1px" | 3
| style="width: 183px" | Store cargo, enable hatch
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retracts cargo cylinders (2) to store cargo mechanism out of way of hatch mechanism
| style="width: 290px" | &nbsp;
|-
|-
| style="width: 1px" | 4
| style="width: 1px" | 4
| colspan="1" rowspan="2" | Elevator
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Lowers elevator to inside robot frame
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cylinder to lower entire elevator
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 5
| style="width: 1px" | 5
| style="width: 183px" | Raises elevator to usable position
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retracts cylinder to raise elevator to usable position for game piece
| style="width: 290px" | &nbsp;
|-
|-
| style="width: 1px" | 6
| style="width: 1px" | 6
| colspan="1" rowspan="2" | Elevator
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Engage brake
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cylinder to engage elevator brake
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 7
| style="width: 1px" | 7
| style="width: 183px" | Release brake
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retracts cylinder to release elevator brake
| style="width: 290px" | &nbsp;
|-
|-
| colspan="1" rowspan="6" style="width: 8px" | 2
| colspan="1" rowspan="6" style="width: 8px" | 2
| style="width: 1px" | 0
| style="width: 1px" | 0
| colspan="1" rowspan="2" | Habitat
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Lift front of robot
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cylinders (2) to lift front end of robot
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="6" style="width: 118px" | 8
| colspan="1" rowspan="6" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 1
| style="width: 1px" | 1
| style="width: 183px" | Lower front of robot
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retracts cylinders (2) to lower front end of robot
| style="width: 290px" | &nbsp;
|-
|-
| style="width: 1px" | 2
| style="width: 1px" | 2
| colspan="1" rowspan="2" | Habitat
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| style="width: 183px" | Lift rear of robot
| style="width: 183px" | &nbsp;
| style="width: 290px" | Extends cylinders (2) to lift back end of robot
| style="width: 290px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | 50
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 3
| style="width: 1px" | 3
| style="width: 183px" | Lower rear of robot
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retracts cylinders (2) to lower back end of robot
| style="width: 290px" | &nbsp;
|-
|-
| style="width: 1px" | 4
| style="width: 1px" | 4
| colspan="1" rowspan="2" | Elevator
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" |  
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
Double-RB1
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
 
| style="width: 183px" | &nbsp;
Single -RB2
| style="width: 290px" | &nbsp;
 
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" | SY3240-6LZ
| style="width: 183px" | Return paracord to its normal length
| style="width: 290px" | Extends cylinder to legthen rope
| colspan="1" rowspan="2" style="width: 118px" | 50
|-
|-
| style="width: 1px" | 5
| style="width: 1px" | 5
| style="width: 183px" | Shorten paracord to lift carriage more
| style="width: 183px" | &nbsp;
| style="width: 290px" | Retract cylinder to lift carriage
| style="width: 290px" | &nbsp;
|}
|}
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div></div>
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> <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 class="mw-parser-output"><div class="mw-parser-output">
= Robot Lights Reference =
 
* When '''Disabled''':
** Front Lights - Shows status of DIGITAL sensors, one sensor per row.  Each row is GREEN for sensor not tripped, RED for when it is tripped.
*** Row 4 (top row): Shooter game piece exit sensor
*** Row 3: Helix-shooter game piece transition sensor
*** Row 2: Intake game piece count sensor
*** Row 1: Intake pivot zeroing sensor
*** Row 0: Hanger zeroing sensor
* When '''Enabled''':
** Red X: Ball count indeterminate
** Otherwise, one row is lit from bottom to top for each game piece in robot


= Operator Controls =
= Operator Controls =
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
=== Disable Xbox Controller ===
[[Media:DisableXbox.docx|DisableXbox.docx]]
<div class="mw-parser-output">
<div class="mw-parser-output">
=== Controller 1 - Primary Driver ===
=== Controller 1 - Primary Driver ===


{| border="1" cellpadding="2" cellspacing="1" style="width: 908px"
{| style="width: 908px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| style="width: 92px" | '''&nbsp;Button/Axis #'''
| style="width: 92px" | '''&nbsp;Button/Axis #'''
Line 1,132: Line 1,122:
| '''Details'''
| '''Details'''
|-
|-
| style="width: 92px; text-align: center" | A-1
| style="width: 92px; text-align: center" | A-1
| style="width: 414px" | Left Joystick Y
| style="width: 414px" | Left Joystick Y
| Forward/backward drive
|  
Tank mode: left side drive motors forward/reverse
 
Arcaded mode: robot moves foward/reverse
 
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | A-1
| style="width: 92px; text-align: center" | A-1
| style="width: 414px" | Left Joystick X
| style="width: 414px" | Left Joystick X
| &nbsp;
| &nbsp;
| &nbsp;
| &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;
| Tank mode: right side drive motors foward/reverse
| &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
| Left/right steering/pivot
| Arcade mode: robot moves left/right
| &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 on right side
| Right side drive motors: Slow
| &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 on left side
| Left side drive motors: Slow
| &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
| Fast on right side (binary)
| Right side drive motors: Turbo
| &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
| Fast on left (binary)
| Left side drive motors: Turbo
| &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" | A Button
| Swap Drive
| Toggles between tank and arcade mode
| &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" | X Button
| Switch camera view
| &nbsp;
| &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" | Y Button
| Calibrate Gyro
| Calibrates Gyro
| &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" | B Button
| Slow Mode Toggle
| &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> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></div>
<div class="mw-parser-output">
 
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
Line 1,206: Line 1,196:
| 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: 343px" | '''Description'''
| style="width: 361px" | '''Description'''
| '''Details'''
| style="width: 141px" | '''Details'''
|-
| style="text-align: center;  width: 91px" | A-0
| style="width: 286px" | Left Joystick X-Axis
| style="width: 361px" | &nbsp;
| style="width: 141px" | &nbsp;
|-
|-
| style="text-align: center;  width: 91px" | A-1
| style="text-align: center;  width: 91px" | A-1
| style="width: 286px" | Elevator Manual Control
| style="width: 286px" | Left Joystick Y-Axis
| style="width: 343px" |  
| style="width: 361px" | Shooter manual speed
If in hab mode:
| style="width: 141px" | Not position-sensative -- accumulates change to speed slowly in whichever direction is held (up slowly increases speed setting, down slowly decreases it)
|-
| style="width: 91px;  text-align: center" | A-2
| style="width: 286px" | Left Trigger
| style="width: 361px" | Lower and run intake
| style="width: 141px" | Press and hold, release to stop.
|-
| style="width: 91px;  text-align: center" | A-3
| style="width: 286px" | Right Trigger
| style="width: 361px" | Shoot
| style="width: 141px" | Press and hold, release to stop.&nbsp; Shoots when shooter has reached desired speed as long as balls remain in robot.
|-
| style="width: 91px;  text-align: center" | A-4
| style="width: 286px" | Right Joystick X-Axis
| style="width: 361px" | &nbsp;
| style="width: 141px" |
&nbsp;


If elevator is pivoted down and we have begun a hab climb, moves the appropriate drive wheels the given speed instead of the elevator.
&nbsp;


If not in carirage mode:
|-
 
| style="width: 91px;  text-align: center" | A-5
Moves the elevator up and down, overrides going to a position, if hit when going somewhere, stop going somewhere and do this instead.
| style="width: 286px" | Right Joystick Y-Axis
 
| style="width: 361px" | &nbsp;
If in carriage mode:
| style="width: 141px" | &nbsp;
 
Moves just the elevator carriage using window motor, stops if it reaches either the lower flag or the elevator upper flag.
 
| Joystick; only up and down
|-
|-
| style="width: 91px;  text-align: center" | B-1
| style="width: 91px;  text-align: center" | B-1
| style="width: 286px" | Elevator High Rocket position
| style="width: 286px" | A Button
| style="width: 343px" | Move elevator to high rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 361px" | Retract the hanger
| Press only
| style="width: 141px" | Press and hold, release to stop
|-
|-
| style="width: 91px;  text-align: center" | B-2
| style="width: 91px;  text-align: center" | B-2
| style="width: 286px" | Elevator Middle Rocket position
| style="width: 286px" | B button
| style="width: 343px" | Move elevator to middle rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 361px" | Auto-shoot setting: Wall
| Press only
| style="width: 141px" | Single press
|-
|-
| style="width: 91px;  text-align: center" | B-3
| style="width: 91px;  text-align: center" | B-3
| style="width: 286px" | Elevator Low Rocket position
| style="width: 286px" | X Button
| style="width: 343px" | Move elevator to low rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 361px" | Auto-shoot setting: Initiation Line
| Press only
| style="width: 141px" | Single press
|-
|-
| style="width: 91px;  text-align: center" | B-4
| style="width: 91px;  text-align: center" | B-4
| style="width: 286px" | Elevator Pivot Toggle
| style="width: 286px" | Y button
| style="width: 343px" | Toggles the elevator pivot and carriage position on each press. Only goes to starting config if the elevator is at the bottom. Only pivots elevator forwards if the carriage is at the upper stop or at the bottom.
| style="width: 361px" | Extend the hanger
| Press only
| style="width: 141px" | Press and hold, release to stop
|-
|-
| style="width: 91px;  text-align: center" | B-5
| style="width: 91px;  text-align: center" | B-5
| style="width: 286px" | Elevator Loading Station and/or Cargo ship position
| style="width: 286px" | Left bumper
| style="width: 343px" | Move elevator to loading station/cargo ship height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 361px" | Outtake game pieces
| Press only
| style="width: 141px" | Press and hold, release to stop
|-
|-
| style="width: 91px;  text-align: center" | B-6
| style="width: 91px;  text-align: center" | B-6
| style="width: 286px" | Elevator Ground&nbsp; Position
| style="width: 286px" | Right bumper
| style="width: 343px" | Move elevator to ground pick up position. Only works in cargo mode.&nbsp;
| style="width: 361px" | Pre-heat shooter
| Press only
| style="width: 141px" | Press and hold, release to stop
|-
|-
| style="width: 91px;  text-align: center" | B-7
| style="width: 91px;  text-align: center" | B-7
| style="width: 286px" | Intake
| style="width: 286px" | Back Button
| style="width: 343px" | Intake game piece.&nbsp;Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo
| style="width: 361px" | &nbsp;
| Press / press & hold
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-8
| style="width: 91px;  text-align: center" | B-8
| style="width: 286px" | Outtake
| style="width: 286px" | Start Button
| style="width: 343px" | Ejects game piece. Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo
| style="width: 361px" | Auto-shoot setting: Panel
| Press / press & hold
| style="width: 141px" | Single press
|-
|-
| style="width: 91px;  text-align: center" | B-9
| style="width: 91px;  text-align: center" | B-9
| style="width: 286px" | Hab Manual climb - step 2
| style="width: 286px" | Left Stick Pressed
| style="width: 343px" | On the first press extend back cylinder, when pressed after that retract back cylinders
| style="width: 361px" | &nbsp;
| Press only
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-10
| style="width: 91px;  text-align: center" | B-10
| style="width: 286px" | Hab Manual climb - step 1
| style="width: 286px" | Right Stick Pressed
| style="width: 343px" | Extends the front 2 cylinders
| style="width: 361px" | &nbsp;
| Press only
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-11
| style="width: 91px;  text-align: center" | POV-0
| style="width: 286px" | Hab Manual climb - step 3
| style="width: 286px" | D-pad up
| style="width: 343px" | Retracts the rear cylinders to complete the climb
| style="width: 361px" | Run Control Panel
| Press only
| style="width: 141px" | Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches
|-
| style="width: 91px;  text-align: center" | B-12
| style="width: 286px" | Hab auto climb
| style="width: 343px" |
Begin and continue automatic Hab climbing. Let go to stop. Press again to continue where you left off.
 
Does nothing if elevator is not pivoted down.
 
| Press and Hold
|}
|}


'''Controller 2 - Aux Driver (Continued)&nbsp;'''
<div class="mw-parser-output">
=== Controller 3&nbsp;- Switches on console ===


{| style="width: 907px" cellspacing="1" cellpadding="1" border="1"
{| style="width: 907px" cellspacing="1" cellpadding="1" border="1"
Line 1,301: Line 1,300:
|-
|-
| style="width: 92px;  text-align: center" | B-1
| style="width: 92px;  text-align: center" | B-1
| style="width: 112px" | Game piece mode - Cargo
| style="width: 112px" | Control Panel Sensor Broken
| style="width: 521px" | &nbsp;Change game piece system to cargo mode
| style="width: 521px" |  
| style="width: 158px" | Press only
On = broken, run CP manually
 
Off = Working, do whatever is in button 1
 
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-2
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" | Game piece mode - Hatch
| style="width: 112px" | Intake Pivot Sensor Broken
| style="width: 521px" | &nbsp;Change game piece system to hatch mode
| style="width: 521px" |  
| style="width: 158px" | Press only
On = broken, zero pivot based solely on startup position
 
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-3
| style="width: 92px;  text-align: center" | B-3
| style="width: 112px" | HAB Sensor Broken
| style="width: 112px" | Intake ball counter Broken
| style="width: 521px" | Makes HAB ignore sensor input
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 92px;  text-align: center" | B-4
| style="width: 112px" | Elevator encoder broken
| style="width: 112px" | Storage-shooter transition counter broken
| style="width: 521px" | Makes elevator ignore encoder input
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-5
| style="width: 92px;  text-align: center" | B-5
| style="width: 112px" | Hatch Sensor Broken
| style="width: 112px" | Shooter ball counter broken
| style="width: 521px" | Makes hatch ignore sensor input
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" | HAB enable
| style="width: 112px" | Control Panel Mode
| style="width: 521px" |  
| style="width: 521px" |  
Only enable HAB when pressed to avoid preemptively deploying
Determines which control panel operation to run


| style="width: 158px" | Toggle
On = rotation
 
Off = position
 
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-7
| style="width: 92px;  text-align: center" | B-7
| style="width: 112px" | Elevator Carriage Broken
| style="width: 112px" | Shoot Manual Speed
| style="width: 521px" | Allows drivers to move carriage independently from the inner frame using window motor, switches the aux joystick input to control the snowblower motor instead of the elevator motors
| style="width: 521px" | On = Manual speed control, off = use presets
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-8
| style="width: 92px;  text-align: center" | B-8
| style="width: 112px" | Broken Switch 6
| style="width: 112px" | Disable drive "backdrive"
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = Disable backdrive code, off = enable backdrive code
| style="width: 158px" | Press only
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-9
| style="width: 92px;  text-align: center" | B-9
| style="width: 112px" | &nbsp;
| style="width: 112px" | Hanger Speed
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = Lift speed, Off = slow speed (test if hooked)
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-10
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-11
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-12
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|}
|}
</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">&nbsp;</div> </div> </div> </div> </div> </div> </div></div> <div class="mw-parser-output">&nbsp;</div> </div></div></div></div> <div class="mw-parser-output">&nbsp;</div> </div>
 
</div>
</div>


=== Dashboard ===
=== Dashboard ===
Line 1,373: Line 1,369:
| style="width: 600px" | '''Description'''
| style="width: 600px" | '''Description'''
|-
|-
| thunderdashboard_elevator
| thunderdashboard_wheel
| number
|
0 - do NOT know
 
1 - Red
 
2 - Green
 
3 - Blue
 
4 - Yellow
 
| The color the robot's sensor is seeing
|-
| thunderdashboard_wheel_end
| number
| see thunderdashboard_wheel
| The color FMS is asking for in the final stage
|-
| thunderdashboard_shooter_speed
| number
| number
| 0-100
| 0 - 100
| elevator's height location/position
| the speed the shooter is running at: 0 is min and 100 is max
|-
|-
| thunderdashboard_elevator_target
| thunderdashboard_shooter_pos
| number
| number
| 0-100
| 0 - 360
| the elevator location it is trying to reach
| the position of the turret, in degrees from home position: 0 is home&nbsp;
|-
|-
| elevator_target_position
| thunderdashboard_shooter_hood
| string
| number
| &nbsp;e.g. Hatch 1, Cargo 2, Loading Station
| 0 - 100
| the 'name' of the location the elevator is trying to reach
| the position of the hood: 0 is down, 100 is completely up
|-
|-
| gamepiece_mode
| thunderdashboard_hang_pos
| string
| number
|  
|  
hatch
0 - 100
 
cargo


| the position of the arm, for hang: 0 is full retracted, 100 is full extended
|-
| thunderdashboard_hang_lock
| number
|  
|  
The game piece "mode" the robot thinks it is in. This impacts the elevator positions.
0 - hang ratched is not locked


Color coded border or text color of gamepiece_target_mode based on if this is the same as or different than gamepiece_target_mode (aka if the robot has achieved the desired mode or not yet). Something like red for "not there yet" and green for "there".
1 - hang ratched is locked


| indicates whether the ratchet, for hang, is engaged or not
|-
|-
| gamepiece_target_mode
| thunderdashboard_intake_pos
| string
| number
|  
|  
hatch
0 - intake is down (deployed)


cargo
1 - intake is up (retracted)


|  
| indicates whether the intake is up or not
The game piece "mode" the robot wants to go to. Display using text. Also consider using an image of a hatch panel or cargo ball?
|-
| thunderdashboard_ballcount
| number
| -1 - do not know
0 - 5


| Number of balls (game pieces) the robot thinks it has
|-
|-
| thunderdashboard_green
| thunderdashboard_gyro
| number
| number
|  
|  
0 - do NOT have a game piece
0 - dashboard background not based on this


1 - have a game piece
1 - dashboard background goes red


| Background of dashboard goes green.
| used when: gyro is calibrating
|-
|-
| robot_airpressure
| thunderdashboard_yellow
| number
| number
| 0 - 125
|  
| Indicates the PSI in the air system. Display in a slider or pressure gauge (this if possible). based on lower and upper, indicate range its in.&nbsp;
0 - dashboard background not based on this
 
1 - dashboard background goes yellow
 
|  
used when: TBD
 
NOTE: thunderdashboard_gyro takes precedence
 
|-
|-
| thunderdashboard_airpressure_lower
| thunderdashboard_green
| number
| number
|  
|  
something 0-125
0 - dashboard background not based on this
 
1 - dashboard background goes green
 
|
used when: TBD
 
NOTE: thunderdashboard_gyro takes precendence


| threshold between red and yellow
|-
|-
| thunderdashboard_airpressure_upper
| thunderdashboard_inpitmode
| number
| something 0-125
| threshold between yellow and green
|-
| robot_match_time_remaining
| number
| 0-135
| number of seconds left in the current match period&nbsp;
|-
| pi_connected
| number
| number
|  
|  
0 - NOT connected
0 = dashboard background not based on this


1 - connected
1 = dashboard background is power blue


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


Only will update with a clean shutdown - will not get unset with a sudden power loss
NOTE: thunderdashboard_gyro takes precendence


|-
|-
Line 1,461: Line 1,489:
0 = show normal
0 = show normal


1 = fill screen
1 = fills screen


| fills screen or not
| whether to fill the laptop screen with the dashboard or not
|-
| thunderdashboard_starting_count
| number
| 0-3
| editable, set initial count of power cells in robot before auto
|-
| thunderdashboard_auto_list
| string
| a comma seperated list
| the list of auto modes (e.g. "0,1,2,3,4,5")
|-
| thunderdashboard_auto_#
| string
| any text
| one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
|-
|-
| thunderdashboard_match_period_length
| Auto_Mode
| number
| number
| 0-135
| a number from thunderdashboard_auto_list
| number of total seconds in the current match period
| the auto mode selected on the UI
|-
| thunderdashboard_auto_start_delay
| number
| &nbsp;
| user selected number of seconds, 0 to 15, to delay start of auto mode
|-
| thunderdashboard_drivearcade
| number
|
0 = tank drive
 
1 = arcade drive
 
| what mode drive is using. dashboard will show 'Tank Drive' when in that mode, otherwise nothing is shown&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>


Line 1,488: Line 1,545:
*[[2009:IO_Map|2009 Thunderplucker]]  
*[[2009:IO_Map|2009 Thunderplucker]]  
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]]  
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]]  
</div> </div> </div>
 
</div> </div> </div> </div> </div> </div>
</div>

Latest revision as of 15:27, 27 February 2021

Robot I/O

CAN ID Assignments

ID Subsystem

Component

Type

Model # Brake or Coast? Description
(brief)
Operation

Notes

(8) max. 40A         PDB #

0 Electrical

PD Module

    Power Distribution Module feedback monitor PD

must be CAN 0

 
1 RESERVED n/a     Factory-default
allows for adding new device quickly and re-assign its ID
  don't use  
2 Intake Spark Max Neo 550 Brake

Pivots intake in/out of robot

 

30A

Using integrated encoder

4
3 Intake Spark max Neo 550 Coast

Spins "beater bars"

  30A 5
4 Storage Spark max Neo 550 Brake Agitates balls up the corkscrew   30A 6
5 Storage Spark max Neo 550 Brake Feeds balls into shooter   30A 7
6 Shooter Spark max Neo Coast Spins left shooting motor  

40A

+: out

-: in

12
7 Shooter Spark max Neo Coast Spins right shooting motor  

40A

Using integrated encoder.

1 might run in follower mode

+: in

-: out

2
8 Turret Spark max Neo 550 Brake Rotates turret

 

30A 9
9 WoF Spark max Neo 550 Brake Rotates Wheel of Fortune   20A 11
10 Hang Spark max Neo  Brake Winches robot up  

40A

Using integrated encoder

13
11 Shooter Spark Max Neo  ? Primer wheel Feeds into the shooter

+: in

-: out

8
12                
13                
14                
15                
 
 
 
 
 
 

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0 Hang Servo

 

Hs-322HD

Engages/disingages ratchet

 

N/A    
1 Shooter Servo

Hs-785HB

Moves turret hood to increase/decrease shot angle   N/A    
2                
3                
4 Driver LEDs LED LED Gives connection to Driver Interface LEDs Allows drivers to see power cell count from the front/back of robot N/A 20A (via voltage regulator) 10
5 Wheel of Fortune Servo   Swing color sensor outside the frame perimeter        

6

 

Drive base

 

Spark Max Neo Left front drive motor Moves left side of robot forwards/backwards Don't know 40A 14

7

 

Drive Base Spark Max Neo  Left rear drive motor   Don't know 40A 15
8 Drive Base Spark Max Neo Right front drive motor Moves right side of robot forwards/backwards Don't know 40A 0

9

 

Drive Base Spark Max Neo Right Rear drive Motor   Don't know 40A 1
8                
9                

 

 
 

Relay Outputs

ID Subsystem

Component

Type

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

 

Analog IO

RoboRIO Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0 Drive Base Gyro ADW22307 Located on center axis underneath the helix Tells where the drive base is looking by degrees (for autonomous) 7mV/degree  
1 Shooter Potentiometer Bournes 3547S-1AA-103A Located on the output of the hood servo Tells the angle of the hood    
2              
3              
 

More Board Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0              
1              
2              
3              

 

Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0 IN Intake Banner Opto Q10RN6R Senses Incoming Power Cells

1 = Ball not present 

0 = Ball Present

w/Q106E emitter,

sensor open-collector out

1 IN        

 

 

2 IN Storage Allen-Bradley RightSight Prox Sensor 42EF-D2MPAK-F4 Senses balls when ready to shoot

1 = Ball present

0 = Ball not present

 
3 IN Shooter Banner Opto Q10RN6R Senses when a ball is exiting the shooter

1 = Ball not present 

0 = Ball Present

w/Q106E emitter,

sensor open-collector out

4 IN Drive base  Phase A Left Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
5 IN Drive base Phase B Left Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
6 IN Drive base Phase A Right Encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
7 IN Drive base Phase B right encoder REV-11-1271 measures rotation of drive wheels 2048 cycles per revolution  
8 IN Intake Omron Reflective EE-SPY415 Senses the presence of the intake mechanism to zero the rotation motor encoder

1 = not present

0 = present
(Need to double check this)

 
9 IN Hang Optical Sensor Through-Beam OPB815WZ Sense when hanger is all the way retracted 1 = hanger sensed (all the way down), 0 = hanger not sensed  
 
 
 

Rev Robotics More Board IO

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

I2C Registers

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

Component

Type

Model # Description
(brief)
Operation Notes
0x52   Wheel of Fortune Color Sensor REV-31-1557 Reads colors of wheel Provides these channels: Red, Green, Blue, Alpha, and Proximity  
               
               
               
               
               
               

SPI Devices

# Subsystem

Component Type

Model # Description (brief) Operation Notes
             
           

USB Host Ports

Address Subsystem

Component Type

Model # Description (brief) Operation Notes
0            
1            

Pneumatics Control Modules

PCM

ID

# Subsystem

Solenoid is Double or Single?

Solenoid

Model #

Description

(brief)

Operation Circuit Pressure PDB #
1 0              
1    
2            
3    
4            
5    
6            
7    
2 0              
1    
2            
3    
4            
5    
 
 

Robot Lights Reference

  • When Disabled:
    • Front Lights - Shows status of DIGITAL sensors, one sensor per row. Each row is GREEN for sensor not tripped, RED for when it is tripped.
      • Row 4 (top row): Shooter game piece exit sensor
      • Row 3: Helix-shooter game piece transition sensor
      • Row 2: Intake game piece count sensor
      • Row 1: Intake pivot zeroing sensor
      • Row 0: Hanger zeroing sensor
  • When Enabled:
    • Red X: Ball count indeterminate
    • Otherwise, one row is lit from bottom to top for each game piece in robot

Operator Controls

Disable Xbox Controller

DisableXbox.docx

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y

Tank mode: left side drive motors forward/reverse

Arcaded mode: robot moves foward/reverse

 
A-1 Left Joystick X    
A-4 Right Joystick Y Tank mode: right side drive motors foward/reverse  
A-4 Right Joystick X Arcade mode: robot moves left/right  
B-6 Right Bumper Right side drive motors: Slow  
B-5 Left Bumper Left side drive motors: Slow  
A-3 Right Trigger Right side drive motors: Turbo  
A-2 Left Trigger Left side drive motors: Turbo  
B-1 A Button Toggles between tank and arcade mode  
B-3 X Button    
B-4 Y Button Calibrates Gyro  
B-2 B Button    
 

Controller 2 - Aux Driver

Button/Axis # Action/Button Description Details
A-0 Left Joystick X-Axis    
A-1 Left Joystick Y-Axis Shooter manual speed Not position-sensative -- accumulates change to speed slowly in whichever direction is held (up slowly increases speed setting, down slowly decreases it)
A-2 Left Trigger Lower and run intake Press and hold, release to stop.
A-3 Right Trigger Shoot Press and hold, release to stop.  Shoots when shooter has reached desired speed as long as balls remain in robot.
A-4 Right Joystick X-Axis  

 

 

A-5 Right Joystick Y-Axis    
B-1 A Button Retract the hanger Press and hold, release to stop
B-2 B button Auto-shoot setting: Wall Single press
B-3 X Button Auto-shoot setting: Initiation Line Single press
B-4 Y button Extend the hanger Press and hold, release to stop
B-5 Left bumper Outtake game pieces Press and hold, release to stop
B-6 Right bumper Pre-heat shooter Press and hold, release to stop
B-7 Back Button    
B-8 Start Button Auto-shoot setting: Panel Single press
B-9 Left Stick Pressed    
B-10 Right Stick Pressed    
POV-0 D-pad up Run Control Panel Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches

Controller 3 - Switches on console

 Button/Axis #  Action/Button  Description Details
B-1 Control Panel Sensor Broken

On = broken, run CP manually

Off = Working, do whatever is in button 1

 
B-2 Intake Pivot Sensor Broken

On = broken, zero pivot based solely on startup position

 
B-3 Intake ball counter Broken On = broken, don't use this sensor  
B-4 Storage-shooter transition counter broken On = broken, don't use this sensor  
B-5 Shooter ball counter broken On = broken, don't use this sensor  
B-6 Control Panel Mode

Determines which control panel operation to run

On = rotation

Off = position

 
B-7 Shoot Manual Speed On = Manual speed control, off = use presets  
B-8 Disable drive "backdrive" On = Disable backdrive code, off = enable backdrive code  
B-9 Hanger Speed On = Lift speed, Off = slow speed (test if hooked)  

Dashboard

Key Data Type Value Description
thunderdashboard_wheel number

0 - do NOT know

1 - Red

2 - Green

3 - Blue

4 - Yellow

The color the robot's sensor is seeing
thunderdashboard_wheel_end number see thunderdashboard_wheel The color FMS is asking for in the final stage
thunderdashboard_shooter_speed number 0 - 100 the speed the shooter is running at: 0 is min and 100 is max
thunderdashboard_shooter_pos number 0 - 360 the position of the turret, in degrees from home position: 0 is home 
thunderdashboard_shooter_hood number 0 - 100 the position of the hood: 0 is down, 100 is completely up
thunderdashboard_hang_pos number

0 - 100

the position of the arm, for hang: 0 is full retracted, 100 is full extended
thunderdashboard_hang_lock number

0 - hang ratched is not locked

1 - hang ratched is locked

indicates whether the ratchet, for hang, is engaged or not
thunderdashboard_intake_pos number

0 - intake is down (deployed)

1 - intake is up (retracted)

indicates whether the intake is up or not
thunderdashboard_ballcount number -1 - do not know

0 - 5

Number of balls (game pieces) the robot thinks it has
thunderdashboard_gyro number

0 - dashboard background not based on this

1 - dashboard background goes red

used when: gyro is calibrating
thunderdashboard_yellow number

0 - dashboard background not based on this

1 - dashboard background goes yellow

used when: TBD

NOTE: thunderdashboard_gyro takes precedence

thunderdashboard_green number

0 - dashboard background not based on this

1 - dashboard background goes green

used when: TBD

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_inpitmode number

0 = dashboard background not based on this

1 = dashboard background is power blue

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

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_max number

0 = show normal

1 = fills screen

whether to fill the laptop screen with the dashboard or not
thunderdashboard_starting_count number 0-3 editable, set initial count of power cells in robot before auto
thunderdashboard_auto_list string a comma seperated list the list of auto modes (e.g. "0,1,2,3,4,5")
thunderdashboard_auto_# string any text one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
Auto_Mode number a number from thunderdashboard_auto_list the auto mode selected on the UI
thunderdashboard_auto_start_delay number   user selected number of seconds, 0 to 15, to delay start of auto mode
thunderdashboard_drivearcade number

0 = tank drive

1 = arcade drive

what mode drive is using. dashboard will show 'Tank Drive' when in that mode, otherwise nothing is shown 

IO Maps for Old Robots