2020:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
(wires are really short on helix sensor - moved them down.)
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 2: Line 2:
= 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"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div 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 10: Line 11:
== 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: 112px" | '''Model #'''
| style="text-align: center; width: 112px" | '''Model #'''
| style="width: 70px; text-align: center" | '''Brake or Coast?'''
| style="width: 70px; text-align: center" | '''Brake or Coast?'''
| style="width: 110px; 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 28: 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: 112px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 110px; 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 38: 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: 112px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 110px; 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" | Intake
| style="text-align: center" | Intake
| style="text-align: center" | Spark Max
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" |  
Pivots intake in/out of robot
Pivots intake in/out of robot


| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" |  
30A
30A


Using integrated encoder
Using integrated encoder


| style="width: 55px; text-align: center" | 4
| style="width: 55px; text-align: center" | 4
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" | Intake
| style="text-align: center" | Intake
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Coast
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" |  
Spins "beater bars"
Spins "beater bars"


| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | 5
| style="width: 55px; text-align: center" | 5
|-
|-
| style="text-align: center" | 4
| style="text-align: center" | 4
| style="text-align: center" | Storage
| style="text-align: center" | Storage
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" | Agitates balls up the corkscrew
| 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" | 30A
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | 6
| style="width: 55px; text-align: center" | 6
|-
|-
| style="text-align: center" | 5
| style="text-align: center" | 5
| style="text-align: center" | Storage
| style="text-align: center" | Storage
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" | Feeds balls into shooter
| 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" | 30A
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | 7
| style="width: 55px; text-align: center" | 7
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" | Shooter
| style="text-align: center" | Shooter
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" | Coast
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Spins left shooting motor
| 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" |  
| style="width: 115px; text-align: center" |  
40A
40A


Line 107: Line 108:
-: in
-: in


| style="width: 55px; text-align: center" | 12
| style="width: 55px; text-align: center" | 12
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" | Shooter
| style="text-align: center" | Shooter
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" | Coast
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Spins right shooting motor
| 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" |  
| style="width: 115px; text-align: center" |  
40A
40A


Line 127: Line 128:
-: out
-: out


| style="width: 55px; text-align: center" | 2
| style="width: 55px; text-align: center" | 2
|-
|-
| style="text-align: center" | 8
| style="text-align: center" | 8
| style="text-align: center" | Turret
| style="text-align: center" | Turret
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" | Rotates turret
| 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" | 30A
| style="width: 115px; text-align: center" | 30A
| style="width: 55px; text-align: center" | 9
| style="width: 55px; text-align: center" | 9
|-
|-
| style="text-align: center" | 9
| style="text-align: center" | 9
| style="text-align: center" | WoF
| style="text-align: center" | WoF
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" | Rotates Wheel of Fortune
| 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" | 20A
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 11
| style="width: 55px; text-align: center" | 11
|-
|-
| style="text-align: center" | 10
| style="text-align: center" | 10
| style="text-align: center" | Hang
| style="text-align: center" | Hang
| style="text-align: center" | Spark max
| style="text-align: center" | Spark max
| style="text-align: center; width: 112px" | Neo&nbsp;
| style="text-align: center; width: 112px" | Neo&nbsp;
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" | Winches robot up
| 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" |  
| style="width: 115px; text-align: center" |  
40A
40A


Using integrated encoder
Using integrated encoder


| style="width: 55px; text-align: center" | 13
| style="width: 55px; text-align: center" | 13
|-
|-
| style="text-align: center" | 11
| style="text-align: center" | 11
| style="text-align: center" | Shooter
| style="text-align: center" | Shooter
| style="text-align: center" | Spark Max
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" | &nbsp;?
| style="width: 70px; text-align: center" | &nbsp;?
| style="width: 110px; text-align: center" | Primer wheel
| style="width: 110px; text-align: center" | Primer wheel
| style="width: 224px; text-align: center" | Feeds into the shooter
| style="width: 224px; text-align: center" | Feeds into the shooter
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" |  
+: in
+: in


-: out
-: out


| style="width: 55px; text-align: center" | 8
| 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: 112px" | &nbsp;
| style="text-align: center; width: 112px" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 110px; 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
Line 193: Line 194:
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 110px; 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
Line 206: Line 207:
| style="width: 110px" | &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
Line 216: Line 217:
| style="width: 110px" | &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> </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>


<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
== PWM Outputs ==
== PWM Outputs ==
Line 293: Line 293:
|-
|-
| style="width: 15px" | 4
| style="width: 15px" | 4
| style="width: 70px" | Rear LEDs
| style="width: 70px" | Driver LEDs
| style="width: 76px" | LED
| style="width: 76px" | LED
| style="width: 94px" | LED
| style="width: 94px" | LED
| style="width: 167px; text-align: center" | Gives connection to Rear Driver LEDs
| style="width: 167px; text-align: center" | Gives connection to Driver Interface LEDs
| style="width: 148px" | Allows drivers to see power cell count from back of robot
| style="width: 148px" | Allows drivers to see power cell count from the front/back of robot
| style="width: 280px" | N/A
| style="width: 280px" | N/A
| style="width: 125px" | 20A (via voltage regulator)
| style="width: 125px" | 20A (via voltage regulator)
Line 390: Line 390:


&nbsp;
&nbsp;
<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 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>


== Relay Outputs ==
== Relay Outputs ==
Line 441: Line 441:
== 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> ===


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


Range
Range


| style="width: 91px; text-align: center" | Notes
| style="width: 91px; text-align: center" | Notes
|-
|-
| 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;
|-
|-
| style="text-align: center" | 2
| style="text-align: center" | 2
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" | &nbsp;
| style="text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 69px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | &nbsp;
| style="width: 223px; text-align: center" | &nbsp;
| &nbsp;
| &nbsp;
|}
|}
</div> <div class="mw-parser-output">
</div> <div class="mw-parser-output">&nbsp;</div> </div>
 
=== <u>More Board Analog Inputs</u> ===
=== <u>More Board Analog Inputs</u> ===


Line 1,090: Line 1,092:
<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">&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">
<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">
Line 1,096: Line 1,111:
[[Media:DisableXbox.docx|DisableXbox.docx]]
[[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,105: 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
| &nbsp;
|  
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
| &nbsp;
| 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
| &nbsp;
| 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
| &nbsp;
| 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
| &nbsp;
| 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
| &nbsp;
| 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
| &nbsp;
| 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
| &nbsp;
| &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
| &nbsp;
| 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
| &nbsp;
| &nbsp;
| &nbsp;
| &nbsp;
|}
|}
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div 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">
=== Controller 2 - Aux Driver ===
=== Controller 2 - Aux Driver ===
Line 1,175: Line 1,198:
| style="width: 361px" | '''Description'''
| style="width: 361px" | '''Description'''
| style="width: 141px" | '''Details'''
| style="width: 141px" | '''Details'''
|-
| style="text-align: center;  width: 91px" | A-0
| style="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" | Left Joystick Y-Axis
| style="width: 361px" | Shooter manual speed
| 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: 286px" | Left Trigger
| style="width: 361px" | Outtake-Just intake mechanism (not helix)
| style="width: 361px" | Lower and run intake
| style="width: 141px" | Press hold, release to stop
| style="width: 141px" | Press and hold, release to stop.
|-
|-
| style="width: 91px;  text-align: center" | A-2
| style="width: 91px;  text-align: center" | A-3
| style="width: 286px" | Right Trigger
| style="width: 286px" | Right Trigger
| style="width: 361px" | Runs shooter/helix (warm up)
| style="width: 361px" | Shoot
| style="width: 141px" | binary action, press hold
| 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-3?
| style="width: 91px;  text-align: center" | A-4
| style="width: 286px" | Left Dial
| style="width: 286px" | Right Joystick X-Axis
| style="width: 361px" | Rotates turret
| style="width: 361px" | &nbsp;
| style="width: 141px" | Positional rotation
|-
| style="width: 91px;  text-align: center" | A-4?
| style="width: 286px" | Right Dial
| style="width: 361px" | Controls shooter speed
| style="width: 141px" |  
| style="width: 141px" |  
Positional rotation
&nbsp;


&nbsp;
&nbsp;


|-
| style="width: 91px;  text-align: center" | A-5
| style="width: 286px" | Right Joystick Y-Axis
| style="width: 361px" | &nbsp;
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-1
| style="width: 91px;  text-align: center" | B-1
| style="width: 286px" | A Button
| style="width: 286px" | A Button
| style="width: 361px" | Moves hang in retract direction&nbsp;
| style="width: 361px" | Retract the hanger
| style="width: 141px" | press hold, release to stop
| 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" | B button
| style="width: 286px" | B button
| style="width: 361px" | Adjusts hood to wall
| style="width: 361px" | Auto-shoot setting: Wall
| style="width: 141px" | 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" | X Button
| style="width: 286px" | X Button
| style="width: 361px" | Adjusts hood to initiation line
| style="width: 361px" | Auto-shoot setting: Initiation Line
| style="width: 141px" | 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" | Y button
| style="width: 286px" | Y button
| style="width: 361px" | Moves hang in extend direction&nbsp;
| style="width: 361px" | Extend the hanger
| style="width: 141px" | press hold, release to stop
| 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" | Left bumper
| style="width: 286px" | Left bumper
| style="width: 361px" | Run control panel
| style="width: 361px" | Outtake game pieces
| style="width: 141px" | press
| 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" | Right bumper
| style="width: 286px" | Right bumper
| style="width: 361px" | Preheat Shooter
| style="width: 361px" | Pre-heat shooter
| style="width: 141px" | press hold, release to stop
| 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" | Back Button
| style="width: 286px" | Back Button
| style="width: 361px" | Shoots the ball
| style="width: 361px" | &nbsp;
| style="width: 141px" | press only
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-8
| style="width: 91px;  text-align: center" | B-8
| style="width: 286px" | Start Button
| style="width: 286px" | Start Button
| style="width: 361px" | Adjusts hood control panel
| style="width: 361px" | Auto-shoot setting: Panel
| style="width: 141px" | press only
| style="width: 141px" | Single press
|-
|-
| style="width: 91px;  text-align: center" | B-9
| style="width: 91px;  text-align: center" | B-9
| style="width: 286px" | &nbsp;
| style="width: 286px" | Left Stick Pressed
| style="width: 361px" | &nbsp;
| style="width: 361px" | &nbsp;
| style="width: 141px" | &nbsp;
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | POV-90
| style="width: 91px;  text-align: center" | B-10
| style="width: 286px" | D-pad up
| style="width: 286px" | Right Stick Pressed
| style="width: 361px" | &nbsp;
| style="width: 361px" | &nbsp;
| style="width: 141px" | &nbsp;
| style="width: 141px" | &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | POV-270
| style="width: 91px;  text-align: center" | POV-0
| style="width: 286px" | D-pad down
| style="width: 286px" | D-pad up
| style="width: 361px" | &nbsp;
| style="width: 361px" | Run Control Panel
| style="width: 141px" | &nbsp;
| style="width: 141px" | Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches
|}
|}


'''Controller 3&nbsp;- Switches on console'''
<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,266: Line 1,300:
|-
|-
| style="width: 92px;  text-align: center" | B-1
| style="width: 92px;  text-align: center" | B-1
| style="width: 112px" | Control Panel Mode
| style="width: 521px" |
Determines which control panel operation to run
On = rotation
Off = position
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" | Control Panel Sensor Broken
| style="width: 112px" | Control Panel Sensor Broken
| style="width: 521px" |  
| style="width: 521px" |  
Line 1,285: Line 1,308:
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-3
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" | Intake Pivot Sensor Broken
| style="width: 112px" | Intake Pivot Sensor Broken
| style="width: 521px" |  
| style="width: 521px" |  
Line 1,292: Line 1,315:
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 92px;  text-align: center" | B-3
| style="width: 112px" | Intake ball counter Broken
| style="width: 112px" | Intake ball counter Broken
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-5
| style="width: 92px;  text-align: center" | B-4
| style="width: 112px" | Storage-shooter transition counter broken
| style="width: 112px" | Storage-shooter transition counter broken
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 92px;  text-align: center" | B-5
| style="width: 112px" | Shooter ball counter broken
| style="width: 112px" | Shooter ball counter broken
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 158px" | &nbsp;
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" | Control Panel Mode
| style="width: 521px" |
Determines which control panel operation to run
On = rotation
Off = position
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-7
| style="width: 92px;  text-align: center" | B-7
| style="width: 112px" | Hanger zero sensor broken
| style="width: 112px" | Shoot Manual Speed
| style="width: 521px" | On = broken, don't use the sensor to zero encoder, just use startup position
| style="width: 521px" | On = Manual speed control, off = use presets
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-8
| style="width: 92px;  text-align: center" | B-8
| style="width: 112px" | &nbsp;
| style="width: 112px" | Disable drive "backdrive"
| style="width: 521px" | &nbsp;
| style="width: 521px" | On = Disable backdrive code, off = enable backdrive code
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-9
| style="width: 92px;  text-align: center" | B-9
| style="width: 112px" | &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: 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> </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>


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


{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
{| border="1" cellpadding="2" cellspacing="1" style="width: 0px"
|-
|-
| '''Key'''
| '''Key'''
Line 1,459: Line 1,495:
| thunderdashboard_starting_count
| thunderdashboard_starting_count
| number
| number
| 0-5
| 0-3
| editable, set initial count of power cells in robot before auto
| 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
| &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>



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