2022:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
Tag: visualeditor
 
(72 intermediate revisions by 4 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">
= 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">
== CAN ID Assignments ==
== CAN ID Assignments ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 855px"
{| border="1" cellpadding="2" cellspacing="1" style="width: 1100px"
|-
|-
| style="text-align: center" | '''ID'''
| style="text-align: center" | '''ID'''
Line 22: Line 11:
| 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'''
'''PD Board Info'''


'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; PDB #'''
'''(8) max. 40A &nbsp; &nbsp; &nbsp; &nbsp; PDB #'''
 
|'''General Notes'''
|-
|-
| style="text-align: center" | 0
| style="text-align: center" | 0
Line 36: Line 25:
| 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;
|
|-
|-
| style="text-align: center" | 1
| style="text-align: center" | 1
Line 46: Line 36:
| 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" |  
| style="text-align: center" | Hang
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Winch 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,
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 13
|[https://www.revrobotics.com/rev-11-1271/ REV Through Bore Encoder] attached directly to SPARK
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" |  
| style="text-align: center" | Intake
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Get ball into robot (Stage 1)
 
 
| 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
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 6
|-
|
| style="text-align: center" | 4
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center; width: 112px" |
| style="width: 70px; text-align: center" |
| style="width: 110px; text-align: center" |
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" |
| style="width: 55px; text-align: center" |
|-
| style="text-align: center" | 5
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center; width: 112px" |
| style="width: 70px; text-align: center" |
| style="width: 110px; text-align: center" |
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" |
| style="width: 55px; text-align: center" |  
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" |  
| style="text-align: center" | Shooter/Storage
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Transition motor to go into fly wheels (Stage 2)
| 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" | 20A/30A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 7
|
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" |  
| style="text-align: center" | Shooter
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Left side fly wheel
 
 
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |
| style="width: 55px; text-align: center" |2
|Using Integrated Encoder
|-
|-
| style="text-align: center" | 8
| style="text-align: center" |8
| style="text-align: center" |  
| style="text-align: center" |Shooter
| style="text-align: center" |  
| style="text-align: center" |Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center" |Neo
| style="width: 70px; text-align: center" |  
| style="text-align: center" |Brake
| style="width: 110px; text-align: center" |  
| style="text-align: center" |Right side fly wheel
| style="width: 224px; text-align: center" |  
| style="text-align: center" |
| style="width: 115px; text-align: center" |  
| style="text-align: center" |40A
| style="width: 55px; text-align: center" |  
| style="text-align: center" |3
|Using Integrated Encoder
|-
|-
| style="text-align: center" | 9
| style="text-align: center" | 9
| style="text-align: center" |  
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Front left drive motor
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 0
|Using Integrated Encoder
|-
|-
| style="text-align: center" | 10
| style="text-align: center" | 10
| style="text-align: center" |  
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Back left drive motor
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 1
|Using Integrated Encoder
|-
|-
| style="text-align: center" | 11
| style="text-align: center" | 11
| style="text-align: center" |  
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" |  
| style="width: 110px; text-align: center" | Back right drive motor
| style="width: 224px; text-align: center" |&nbsp;
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" | 14
|Using Integrated Encoder
|-
| style="text-align: center" | 12
| style="text-align: center" | Drive
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" | Neo
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Front right drive motor
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 15
|Using Integrated Encoder
|-
|-
| 12
| 13
| style="text-align: center" | &nbsp;
| style="text-align: center" | Drive
| style="text-align: center" | &nbsp;
| style="text-align: center" | Spark Max
| style="text-align: center; width: 112px" | &nbsp;
| style="text-align: center; width: 112px" | Neo 550
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | Front left turning motor
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 4
|Using Integrated Encoder
|-
| style="text-align: center" | 14
| style="text-align: center" | Drive
| style="text-align: center" | Spark Max
| style="width: 112px; text-align: center" | Neo 550
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Back left turning motor
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" | 5
|Using Integrated Encoder
|-
| style="text-align: center" | 15
| style="text-align: center" | Drive
| style="text-align: center" | Spark Max
| style="width: 112px; text-align: center" | Neo 550
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Back right turning 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" | 20A
| style="width: 55px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | 10
|Using Integrated Encoder
|-
| style="text-align: center" | 16
| style="text-align: center" | Drive
| style="text-align: center" | Spark Max
| style="width: 112px; text-align: center" | Neo 550
| style="width: 70px; text-align: center" | Coast
| style="width: 110px; text-align: center" | Front right turning motor
| style="width: 224px; text-align: center" |&nbsp;
| style="width: 115px; text-align: center" | 20A
| style="width: 55px; text-align: center" |11
|Using Integrated Encoder
|-
| style="text-align: center" |17
| style="text-align: center" |Drive
| style="text-align: center" |Encoder
| style="text-align: center" |CANCoder
| style="text-align: center" |N/A
| style="text-align: center" |Front left absolute encoder
|
|
|N/A
|
|-
| style="text-align: center" |18
| style="text-align: center" |Drive
| style="text-align: center" |Encoder
| style="text-align: center" |CANCoder
| style="text-align: center" |N/A
| style="text-align: center" |Back left absolute encoder
|
|
|N/A
|
|-
| style="text-align: center" |19
| style="text-align: center" |Drive
| style="text-align: center" |Encoder
| style="text-align: center" |CANCoder
| style="text-align: center" |N/A
| style="text-align: center" |Back right absolute encoder
|
|
|N/A
|
|-
| style="text-align: center" |20
| style="text-align: center" |Drive
| style="text-align: center" |Encoder
| style="text-align: center" |CANCoder
| style="text-align: center" |N/A
| style="text-align: center" |Front right absolute encoder
|
|
|N/A
|
|}
  <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div>
{| class="wikitable"
|+PDB Assignments
!Port #
!Device (Subteam)
!Breaker Value
!Max Current
|-
|0
|Neo (Drive)
|40 A
|40 A
|-
|1
|Neo (Drive)
|40 A
|40 A
|-
|2
|Neo (Shooter)
|40 A
|40 A
|-
|3
|Neo (Shooter)
|40 A
|40 A
|-
|4
|Neo 550 (Drive)
|20A
|30A
|-
|5
|Neo 550 (Drive)
|20A
|30A
|-
|6
|Neo 550 (Intake {Stage 1})
|30A
|30A
|-
|7
|Neo 550 (Shooter/Storage {Stage 2})
|20A/30A
|30A
|-
|8
|Limelight
|20A
|30A
|-
|9
|PCM (#2)?
|20A
|30A
|-
|10
|Neo 550 (Drive)
|20A
|30A
|-
|11
|Neo 550 (Drive)
|20A
|30A
|-
|12
|
|
|40A
|-
|-
| 13
|13
| style="text-align: center" | &nbsp;
|Neo (Hang)
| style="text-align: center" | &nbsp;
|40A
| style="width: 112px" | &nbsp;
|40A
| style="width: 70px; text-align: center" | &nbsp;
| style="width: 110px; text-align: center" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| 14
|14
| &nbsp;
|Neo (Drive)
| style="text-align: center" | &nbsp;
|40A
| style="width: 112px" | &nbsp;
|40A
| style="width: 70px" | &nbsp;
| style="width: 110px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; text-align: center" | &nbsp;
| style="width: 55px; text-align: center" | &nbsp;
|-
|-
| 15
|15
| &nbsp;
|Neo (Drive)
| style="text-align: center" | &nbsp;
|40A
| style="width: 112px" | &nbsp;
|40A
| style="width: 70px" | &nbsp;
| style="width: 110px" | &nbsp;
| style="width: 224px" | &nbsp;
| style="width: 115px; 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>
</div> <div class="mw-parser-output">&nbsp;</div>   <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> <div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div>  


<div class="mw-parser-output">
<div class="mw-parser-output">
Line 213: Line 343:
|-
|-
| style="width: 15px" | 0
| style="width: 15px" | 0
| style="width: 70px" |  
| style="width: 70px" | Hang
| style="width: 76px" |  
| style="width: 76px" | Servo
| style="width: 94px" |  
| style="width: 94px" |  
| style="width: 167px; text-align: center" |
| style="width: 167px; text-align: center" | Ratchet and Pawl
| style="width: 148px" |  
| style="width: 148px" |  
| style="width: 280px" | N/A
| style="width: 280px" |  
| style="width: 125px" | &nbsp;
| style="width: 125px" | &nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" | &nbsp;
|-
|-
| style="width: 15px" | 1
| style="width: 15px" | 1
| style="width: 70px" |  
| style="width: 70px" | Shooter
| style="width: 76px" |  
| style="width: 76px" | Servo
| style="width: 94px" |  
| style="width: 94px" |&nbsp;
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" | hood servo
| style="width: 148px" | &nbsp;
| style="width: 148px" | &nbsp;
| style="width: 280px" | N/A
| style="width: 280px" |  
| style="width: 125px" | &nbsp;
| style="width: 125px" | &nbsp;
| style="width: 72px" | &nbsp;
| style="width: 72px" | &nbsp;
|-
|-
| style="width: 15px" | 2
| style="width: 15px" | 2
| style="width: 70px" | &nbsp;
| style="width: 70px" | Blinky Blinky
| style="width: 76px" | &nbsp;
| style="width: 76px" | LED
| style="width: 94px" | &nbsp;
| style="width: 94px" |  
| style="width: 167px; text-align: center" | &nbsp;
| style="width: 167px; text-align: center" | Illumination
| style="width: 148px" | &nbsp;
| style="width: 148px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" | &nbsp;
Line 243: Line 373:
|-
|-
| style="width: 15px" | 3
| style="width: 15px" | 3
| style="width: 70px" | &nbsp;
| style="width: 70px" | Hang
| style="width: 76px" | &nbsp;
| style="width: 76px" | Servo
| style="width: 94px" | &nbsp;
| style="width: 94px" |  
| style="width: 167px; text-align: center" | &nbsp;
| style="width: 167px; text-align: center" | String Thing (left)
| style="width: 148px" | &nbsp;
| style="width: 148px" | &nbsp;
| style="width: 280px" | &nbsp;
| style="width: 280px" | &nbsp;
Line 253: Line 383:
|-
|-
| style="width: 15px" | 4
| style="width: 15px" | 4
| style="width: 70px" |  
| style="width: 70px" | Hang
| style="width: 76px" |  
| style="width: 76px" | Servo
| style="width: 94px" |  
| style="width: 94px" |  
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" | String Thing (right)
| style="width: 148px" |  
| style="width: 148px" |  
| style="width: 280px" | N/A
| style="width: 280px" |  
| style="width: 125px" |  
| style="width: 125px" |  
| style="width: 72px" |  
| style="width: 72px" |  
Line 308: Line 438:
| style="width: 167px; text-align: center" |  
| style="width: 167px; text-align: center" |  
| style="width: 148px" | &nbsp;
| style="width: 148px" | &nbsp;
| style="width: 280px" | Don't know
| style="width: 280px" |  
| style="width: 125px; text-align: center" |  
| style="width: 125px; text-align: center" |  
| style="width: 72px; text-align: center" |  
| style="width: 72px; text-align: center" |  
|-
|-
| style="width: 15px" | 8
| style="width: 15px" | 10
| style="width: 70px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 322: Line 452:
| style="width: 72px" | &nbsp;
| style="width: 72px" | &nbsp;
|-
|-
| style="width: 15px" | 9
| style="width: 15px" | 11
| style="width: 70px" | &nbsp;
| style="width: 70px" | &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 76px" | &nbsp;
Line 334: Line 464:


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


== Relay Outputs ==
== Relay Outputs ==
Line 382: Line 512:


&nbsp;
&nbsp;
</div> <div class="mw-parser-output">
<div class="mw-parser-output">
== Analog IO ==
== Analog IO ==
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
Line 404: Line 534:
|-
|-
| 0
| 0
| Drive Base
| Shooter
| style="width: 70px" | Gyro
| style="width: 70px" | Potentiometer
| style="width: 54px" | ADW22307
| style="width: 54px" | [https://www.bourns.com/docs/Product-Datasheets/3547.pdf Bourns 3-Turn]
| style="width: 227px" | Located on center axis underneath the helix
[https://www.bourns.com/docs/Product-Datasheets/3548.pdf Bourns 5-Turn]
| style="width: 262px" | Tells where the drive base is looking by degrees (for autonomous)
| style="width: 227px" | Used for hood to show where it is
| style="width: 132px" | 7mV/degree
| style="width: 262px" | Tells the angle for the hood
| style="width: 91px;  text-align: center" | &nbsp;
| style="width: 132px" |  
| style="width: 91px;  text-align: center" | Need to know how many rotations???
|-
|-
| style="text-align: center" | 1
| style="text-align: center" | 1
| style="text-align: center" | Shooter
| style="text-align: center" |  
| style="width: 69px;  text-align: center" | Potentiometer
| style="width: 69px;  text-align: center" |  
| style="width: 122px;  text-align: center" | Bournes 3547S-1AA-103A
| style="width: 122px;  text-align: center" |  
| style="width: 139px;  text-align: center" | Located on the output of the hood servo
| style="width: 139px;  text-align: center" |  
| style="width: 193px;  text-align: center" | Tells the angle of the hood
| style="width: 193px;  text-align: center" |  
| style="width: 223px;  text-align: center" | &nbsp;
| style="width: 223px;  text-align: center" | &nbsp;
| &nbsp;
| &nbsp;
Line 496: Line 627:


&nbsp;
&nbsp;
</div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output">
</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">
Line 517: Line 648:
| 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" | Intake
| style="width: 69px; text-align: center" | Hang
| style="width: 122px; text-align: center" | Banner Opto
| style="width: 122px; text-align: center" | Flag sensor
| style="width: 139px; text-align: center" | Q10RN6R
| style="width: 139px; text-align: center" | [https://www.ttelectronics.com/TTElectronics/media/ProductFiles/Datasheets/OPB815.pdf OPB815WZ]
| style="width: 193px; text-align: center" | Senses Incoming Power Cells
| style="width: 193px; text-align: center" | Tell if hang is all the way in
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" | 0 = out, 1 = in
1 = Ball not present&nbsp;
| style="width: 231px; text-align: center" | Power From RoboRio, Requires Pullup
 
0 = Ball Present
 
| style="width: 231px; text-align: center" |  
w/Q106E emitter,
 
sensor open-collector out
 
|-
|-
| 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" |  
| style="width: 122px; text-align: center" | &nbsp;
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | &nbsp;
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" | &nbsp;
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |
&nbsp;
 
| style="width: 231px; text-align: center" |  
| 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" | Storage
| style="width: 69px; text-align: center" | Storage
| style="width: 122px; text-align: center" | Allen-Bradley RightSight Prox Sensor
| style="width: 122px; text-align: center" | Banner Optical
| style="width: 139px; text-align: center" | 42EF-D2MPAK-F4
| style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E]
| style="width: 193px; text-align: center" | Senses balls when ready to shoot
| style="width: 193px; text-align: center" | Sees when a ball is at stage one
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" | 1 = Ball present
1 = Ball present


0 = Ball not present
0 = Ball not present


| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" | Requires 12V and Pullup
|-
|-
| 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" | Shooter
| style="width: 69px; text-align: center" | Storage
| style="width: 122px; text-align: center" | Banner Opto
| style="width: 122px; text-align: center" | Banner Optical
| style="width: 139px; text-align: center" | Q10RN6R
| style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E]
| style="width: 193px; text-align: center" | Senses when a ball is exiting the shooter
| style="width: 193px; text-align: center" | Sees when a ball is at stage two
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" | 1 = Ball present
1 = Ball not present&nbsp;
 
0 = Ball Present
 
| style="width: 231px; text-align: center" |
w/Q106E emitter,
 
sensor open-collector out


0 = Ball not present
| style="width: 231px; text-align: center" |Requires 12V and Pullup
|-
|-
| 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" | Drive base&nbsp;
| style="width: 69px; text-align: center" | Shooter
| style="width: 122px; text-align: center" | Phase A Left Encoder
| style="width: 122px; text-align: center" | Banner Optical
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 139px; text-align: center" |[https://www.walkerindustrial.com/v/vspfiles/pdf/datasheet/Banner/Banner_Sensors_Mini_Q10_Series.pdf Q10RN6R/Q106E]
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 193px; text-align: center" | Counts balls that leave the robot
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| style="width: 223px; text-align: center" | 1 = Ball present
| style="width: 231px; text-align: center" | &nbsp;
 
0 = Ball not present
| style="width: 231px; text-align: center" | Requires 12V and Pullup
|-
|-
| style="text-align: center" | 5
| style="text-align: center" | 5
| style="text-align: center" | IN
| style="text-align: center" |  
| style="width: 69px; text-align: center" | Drive base
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Phase B Left Encoder
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 139px; text-align: center" |  
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" | IN
| style="text-align: center" |  
| style="width: 69px; text-align: center" | Drive base
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Phase A Right Encoder
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 139px; text-align: center" |  
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |  
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Drive base
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Phase B right encoder
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | REV-11-1271
| style="width: 139px; text-align: center" |  
| style="width: 193px; text-align: center" | measures rotation of drive wheels
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" | 2048 cycles per revolution
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" |&nbsp;
|-
|-
| style="text-align: center" | 8
| style="text-align: center" | 8
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Intake
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Omron Reflective
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | EE-SPY415
| style="width: 139px; text-align: center" |  
| style="width: 193px; text-align: center" | Senses the presence of the intake mechanism to zero the rotation motor encoder
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" |  
| style="width: 223px; text-align: center" |  
1 = not present
0 = present<br/> (Need to double check this)
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" | &nbsp;
|-
|-
| style="text-align: center" | 9
| style="text-align: center" | 9
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Hang
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Optical Sensor Through-Beam
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | OPB815WZ
| style="width: 139px; text-align: center" |  
| style="width: 193px; text-align: center" | Sense when hanger is all the way retracted
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" | 1 = hanger sensed (all the way down), 0 = hanger not sensed
| style="width: 223px; text-align: center" |  
| style="width: 231px; text-align: center" | &nbsp;
|-
| style="text-align: center" | 10
| style="text-align: center" | IN
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" | &nbsp;
| style="width: 231px; text-align: center" | &nbsp;
|}
|}
Line 809: Line 928:
| style="text-align: center" | 0x52
| style="text-align: center" | 0x52
| style="width: 37px; text-align: center" | &nbsp;
| style="width: 37px; text-align: center" | &nbsp;
| style="width: 76px; text-align: center" | Wheel of Fortune
| style="width: 76px; text-align: center" |  
| style="width: 75px; text-align: center" | Color Sensor
| style="width: 75px; text-align: center" |  
| style="width: 53px; text-align: center" | REV-31-1557
| style="width: 53px; text-align: center" |  
| style="width: 205px; text-align: center" | Reads colors of wheel
| style="width: 205px; text-align: center" |  
| style="width: 241px; text-align: center" | Provides these channels:&nbsp;Red, Green, Blue, Alpha, and Proximity
| style="width: 241px; text-align: center" |  
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
Line 869: Line 988:
| style="width: 241px" | &nbsp;
| style="width: 241px" | &nbsp;
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|}
|}  
</div> </div>
 
== SPI Devices ==
== SPI Devices ==


Line 883: Line 1,002:
| style="width: 112px; text-align: center" | '''Notes'''
| style="width: 112px; text-align: center" | '''Notes'''
|-
|-
| &nbsp;
| style="text-align: center" | 0
| style="width: 76px" | &nbsp;
| style="width: 76px; text-align: center" | Drive
| style="width: 75px" | &nbsp;
| style="width: 75px; text-align: center" | IMU
| style="width: 53px" | &nbsp;
| style="width: 53px; text-align: center" | ADIS16470 IMU
| style="width: 205px" | &nbsp;
| style="width: 205px; text-align: center" | A 3d gyro and accelerometer
| style="width: 241px" | &nbsp;
| style="width: 241px; text-align: center" | Tells the rotation for swerve drive
| style="width: 112px" | &nbsp;
| style="width: 112px; text-align: center" | &nbsp;
|-
| &nbsp;
| style="width: 76px" | &nbsp;
| style="width: 75px" | &nbsp;
| style="width: 53px" | &nbsp;
| style="width: 205px" | &nbsp;
| style="width: 241px" | &nbsp;
|}
|}


Line 912: Line 1,024:
|-
|-
| 0
| 0
| style="width: 76px" | &nbsp;
| style="width: 76px" | Vision
| style="width: 75px" | &nbsp;
| style="width: 75px" | USB Camera
| style="width: 53px" | &nbsp;
| style="width: 53px" | Microsoft LifeCam HD-3000
| style="width: 205px" | &nbsp;
| style="width: 205px" | The intake camera
| style="width: 241px" | &nbsp;
| style="width: 241px" | Shows the drivers a view of the intake and is used for vision processing in autonomous mode
| style="width: 112px" | &nbsp;
| style="width: 112px" | &nbsp;
|-
|-
Line 930: Line 1,042:
== Pneumatics Control Modules ==
== Pneumatics Control Modules ==


{| border="1" cellpadding="2" cellspacing="1" style="width: 931px"
{| class="wikitable" border="1" cellpadding="2" cellspacing="1" style="width: 931px"
|-
|-
| style="width: 8px" |  
| style="width: 8px" |  
Line 946: Line 1,058:
| 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; text-align: center" | 1
| style="width: 1px" | 0
| style="width: 1px" | 0
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" | Intake
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | Intake not deployed
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | extend piston to retract intake
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| rowspan="8" style="width: 118px" | &nbsp;
| rowspan="8" style="width: 118px; text-align: center" | Dedicated Output&nbsp;
|-
|-
| style="width: 1px" | 1
| style="width: 1px; text-align: center" | 1
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | Intake deployed
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | retract piston to extend/deploy intake
|-
|-
| style="width: 1px" | 2
| style="width: 1px; text-align: center" | 2
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="text-align: center" | Hang (Lower pivot pistons)
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | pivot arm to stored position
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px" | 3
| style="width: 1px; text-align: center" | 3
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | pivot arm to bar
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position
|-
|-
| style="width: 1px" | 4
| style="width: 1px; text-align: center" | 4
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="text-align: center"| Hang (Upper pivot pistons)
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | pivot arm to stored position
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px" | 5
| style="width: 1px; text-align: center" | 5
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" | pivot arm to bar
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position
|-
|-
| style="width: 1px" | 6
| style="width: 1px; text-align: center" | 6
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" style="text-align: center"|  
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |  
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |  
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" |  
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" |  
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px" | 7
| style="width: 1px; text-align: center" | 7
| style="width: 183px" | &nbsp;
| style="width: 183px; text-align: center" |  
| style="width: 290px" | &nbsp;
| style="width: 290px; text-align: center" |  
|-
|-
| colspan="1" rowspan="6" style="width: 8px" | 2
| colspan="1" rowspan="6" style="width: 8px; text-align: center" | 2
| style="width: 1px" | 0
| style="width: 1px; text-align: center" | 0
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" | Hang
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px" | &nbsp;
| style="width: 183px" | Only used if lower pressure is needed
| style="width: 290px" | &nbsp;
| style="width: 290px" |  
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="6" style="width: 118px" | &nbsp;
| colspan="1" rowspan="6" style="width: 118px" | &nbsp;9
|-
|-
| style="width: 1px" | 1
| style="width: 1px" | 1
| style="width: 183px" | &nbsp;
| style="width: 183px" | Only used if lower pressure is needed
| style="width: 290px" | &nbsp;
| style="width: 290px" |  
|-
|-
| style="width: 1px" | 2
| style="width: 1px" | 2
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" | Hang
| colspan="1" rowspan="2" style="width: 75px" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px" | Double
| colspan="1" rowspan="2" style="width: 64px" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px" |&nbsp;
| style="width: 183px" | &nbsp;
| style="width: 183px" | Only used if lower pressure is needed
| style="width: 290px" | &nbsp;
| style="width: 290px" |  
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px" | &nbsp;
|-
|-
| style="width: 1px" | 3
| style="width: 1px" | 3
| style="width: 183px" | &nbsp;
| style="width: 183px" | Only used if lower pressure is needed
| style="width: 290px" | &nbsp;
| style="width: 290px" |  
|-
|-
| style="width: 1px" | 4
| style="width: 1px" | 4
Line 1,034: Line 1,146:
| style="width: 290px" | &nbsp;
| style="width: 290px" | &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> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
 
<div class="mw-parser-output"><div class="mw-parser-output">
= Robot Lights Reference =
= Robot Lights Reference =
TBD if lights on 2022 robot


* When '''Disabled''':
* 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.
** TBD
*** 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''':
* When '''Enabled''':
** Red X: Ball count indeterminate
** TBD
** Otherwise, one row is lit from bottom to top for each game piece in robot


= Operator Controls =
= Operator Controls =
Line 1,053: Line 1,159:
=== Disable Xbox Controller ===
=== Disable Xbox Controller ===


[[Media:DisableXbox.docx|DisableXbox.docx]]
[[index.php?title=Media:DisableXbox.docx|DisableXbox.docx]]


<div class="mw-parser-output">
<div class="mw-parser-output">
Line 1,069: Line 1,175:
| style="width: 414px" | Left Joystick Y
| style="width: 414px" | Left Joystick Y
|  
|  
Tank mode: left side drive motors forward/reverse
Arcaded mode: robot moves foward/reverse
| &nbsp;
| &nbsp;
|-
|-
Line 1,082: Line 1,184:
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| Toggles between tank and arcade mode
|  
| &nbsp;
| &nbsp;
|-
|-
Line 1,122: Line 1,224:
| 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
| Calibrates Gyro
|  
| &nbsp;
| &nbsp;
|-
|-
Line 1,150: Line 1,252:
| style="text-align: center;  width: 91px" | A-1
| style="text-align: center;  width: 91px" | A-1
| style="width: 286px" | Left Joystick Y-Axis
| style="width: 286px" | Left Joystick Y-Axis
| style="width: 361px" | Shooter manual speed
| style="width: 361px" |  
| 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: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | A-2
| style="width: 91px;  text-align: center" | A-2
| style="width: 286px" | Left Trigger
| style="width: 286px" | Left Trigger
| style="width: 361px" | Lower and run intake
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to stop.
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | A-3
| style="width: 91px;  text-align: center" | A-3
| style="width: 286px" | Right Trigger
| style="width: 286px" | Right Trigger
| style="width: 361px" | Shoot
| style="width: 361px" |  
| 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: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | A-4
| style="width: 91px;  text-align: center" | A-4
| style="width: 286px" | Right Joystick X-Axis
| style="width: 286px" | Right Joystick X-Axis
| style="width: 361px" | &nbsp;
| style="width: 361px" |  
| style="width: 141px" |  
| style="width: 141px" |  
&nbsp;
&nbsp;
Line 1,179: Line 1,281:
| 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" | Retract the hanger
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to stop
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-2
| style="width: 91px;  text-align: center" | B-2
| style="width: 286px" | B button
| style="width: 286px" | B button
| style="width: 361px" | Auto-shoot setting: Wall
| style="width: 361px" |  
| style="width: 141px" | Single press
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-3
| style="width: 91px;  text-align: center" | B-3
| style="width: 286px" | X Button
| style="width: 286px" | X Button
| style="width: 361px" | Auto-shoot setting: Initiation Line
| style="width: 361px" |  
| style="width: 141px" | Single press
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-4
| style="width: 91px;  text-align: center" | B-4
| style="width: 286px" | Y button
| style="width: 286px" | Y button
| style="width: 361px" | Extend the hanger
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to stop
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-5
| style="width: 91px;  text-align: center" | B-5
| style="width: 286px" | Left bumper
| style="width: 286px" | Left bumper
| style="width: 361px" | Outtake game pieces
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to stop
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-6
| style="width: 91px;  text-align: center" | B-6
| style="width: 286px" | Right bumper
| style="width: 286px" | Right bumper
| style="width: 361px" | Pre-heat shooter
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to stop
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-7
| style="width: 91px;  text-align: center" | B-7
Line 1,214: Line 1,316:
| 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" | Auto-shoot setting: Panel
| style="width: 361px" |  
| style="width: 141px" | Single press
| style="width: 141px" |  
|-
|-
| style="width: 91px;  text-align: center" | B-9
| style="width: 91px;  text-align: center" | B-9
Line 1,229: Line 1,331:
| style="width: 91px;  text-align: center" | POV-0
| style="width: 91px;  text-align: center" | POV-0
| style="width: 286px" | D-pad up
| style="width: 286px" | D-pad up
| style="width: 361px" | Run Control Panel
| style="width: 361px" |  
| style="width: 141px" | Press and hold, release to cancel. Rotatation control, position control, or manual advance based on console switches
| style="width: 141px" |  
|}
|}


Line 1,244: Line 1,346:
|-
|-
| style="width: 92px;  text-align: center" | B-1
| style="width: 92px;  text-align: center" | B-1
| style="width: 112px" | Control Panel Sensor Broken
| style="width: 112px" |  
| style="width: 521px" |  
| style="width: 521px" |  
On = broken, run CP manually
Off = Working, do whatever is in button 1
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-2
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" | Intake Pivot Sensor Broken
| style="width: 112px" |  
| style="width: 521px" |  
| style="width: 521px" |  
On = broken, zero pivot based solely on startup position
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-3
| style="width: 92px;  text-align: center" | B-3
| style="width: 112px" | Intake ball counter Broken
| style="width: 112px" |  
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 92px;  text-align: center" | B-4
| style="width: 112px" | Storage-shooter transition counter broken
| style="width: 112px" |  
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-5
| style="width: 92px;  text-align: center" | B-5
| style="width: 112px" | Shooter ball counter broken
| style="width: 112px" |  
| style="width: 521px" | On = broken, don't use this sensor
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" | Control Panel Mode
| style="width: 112px" |  
| style="width: 521px" |  
| 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" | Shoot Manual Speed
| style="width: 112px" |  
| style="width: 521px" | On = Manual speed control, off = use presets
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-8
| style="width: 92px;  text-align: center" | B-8
| style="width: 112px" | Disable drive "backdrive"
| style="width: 112px" |  
| style="width: 521px" | On = Disable backdrive code, off = enable backdrive code
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-9
| style="width: 92px;  text-align: center" | B-9
| style="width: 112px" | Hanger Speed
| style="width: 112px" |  
| style="width: 521px" | On = Lift speed, Off = slow speed (test if hooked)
| style="width: 521px" |  
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|}
|}
Line 1,311: Line 1,401:
| '''Data Type'''
| '''Data Type'''
| '''Value'''
| '''Value'''
| style="width: 600px" | '''Description'''
| style="width: 1000px" | '''Description'''
|-
|-
| thunderdashboard_wheel
| thunderdashboard_alliance
| number
| number
|  
|  
0 - do NOT know
0 - Red
 
1 - Red
 
2 - Green
 
3 - Blue


4 - Yellow
1 - Blue


| The color the robot's sensor is seeing
| Alliance we are one
|-
|-
| thunderdashboard_wheel_end
| thunderdashboard_stage1
| number
| number
| see thunderdashboard_wheel
| 0 - not blocked
| The color FMS is asking for in the final stage
1 - blocked
| Stage 1 sensor blocked?
|-
|-
| thunderdashboard_shooter_speed
| thunderdashboard_stage2
| number
| number
| 0 - 100
| 0 - not blocked
| the speed the shooter is running at: 0 is min and 100 is max
1 - blocked
| Stage 2 sensor blocked?
|-
|-
| thunderdashboard_shooter_pos
|thunderdashboard_ballcount
| number
|number
| 0 - 360
| -1 - don't know
| the position of the turret, in degrees from home position: 0 is home&nbsp;
0 to 9 - number of balls
|how many balls are in the robot
|-
|-
| thunderdashboard_shooter_hood
| thunderdashboard_shooter_hood
Line 1,348: Line 1,435:
| the position of the hood: 0 is down, 100 is completely up
| the position of the hood: 0 is down, 100 is completely up
|-
|-
| thunderdashboard_hang_pos
| thunderdashboard_hang_bar
| number
| number
|  
|  
0 - 100
0 - unknown


| the position of the arm, for hang: 0 is full retracted, 100 is full extended
1 - mid
 
2 - high
 
3 - traversal
 
| the bar the robot is on
|-
|-
| thunderdashboard_hang_lock
| thunderdashboard_hang_status
| number
| number
|  
|  
0 - hang ratched is not locked
0 - unknown
 
1 - red
 
2 - green


1 - hang ratched is locked
3 - yellow


| indicates whether the ratchet, for hang, is engaged or not
| hang status color to show
|-
|-
| thunderdashboard_intake_pos
| thunderdashboard_match_length
| number
| number
|  
|  
0 - intake is down (deployed)
0 - no bar


1 - intake is up (retracted)
1 to 599 - show bar, max seconds for the match period


| indicates whether the intake is up or not
| Displays countdown progress bar at bottom of dashboard.
|-
|-
| thunderdashboard_ballcount
| thunderdashboard_match_remaining
| number
| number
| -1 - do not know
| 0 to 599
0 - 5


| Number of balls (game pieces) the robot thinks it has
| Number of seconds left in the match period
|-
|-
| thunderdashboard_gyro
| thunderdashboard_gyro
Line 1,418: Line 1,514:
| number
| number
|  
|  
0 = dashboard background not based on this
0 - dashboard background not based on this


1 = dashboard background is power blue
1 - dashboard background is power blue


|  
|  
Line 1,431: Line 1,527:
| number
| number
|  
|  
0 = show normal
0 - show normal


1 = fills screen
1 - fills screen


| whether to fill the laptop screen with the dashboard or not
| whether to fill the laptop screen with the dashboard or not
|-
|-
| thunderdashboard_starting_count
| thunderdashboard_frontcamera
| number
| number
| 0-3
| 0 - LimeLight (mjpeg,  roboRIO-1511-FRC.local:5800)
| editable, set initial count of power cells in robot before auto
1 - USB camera (mjpeg, 10.15.11.11:1181)
| which camera the dashboard should connect to
|-
|-
| thunderdashboard_auto_list
| thunderdashboard_auto_list
Line 1,461: Line 1,558:
| &nbsp;
| &nbsp;
| user selected number of seconds, 0 to 15, to delay start of auto mode
| 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>


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


*[[2020:Robot_IO_Map|2019&nbsp;IO Map]] (applies to 2021 as well!)
*[[2020:Robot_IO_Map|2020&nbsp;IO Map]] (applies to 2021 as well!)
*[[2019:Robot_IO_Map|2019&nbsp;IO Map]]  
*[[2019:Robot_IO_Map|2019&nbsp;IO Map]]  
*[[2018:Robot_IO_Map|2018&nbsp;IO Map]]  
*[[2018:Robot_IO_Map|2018&nbsp;IO Map]]  
Line 1,489: Line 1,574:
*[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]]  
*[[2010:Electrical_Main#IO_Map_2010_Thunderfoot|2010 Thunderfoot IO Map]]  
*[[2009:IO_Map|2009 Thunderplucker]]  
*[[2009:IO_Map|2009 Thunderplucker]]  
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]]  
*[[IO_Pin_Maps_for_Pre-2009_Robots|IO Pin Maps for Pre-2009 Robots]]
 
</div> </div> </div> </div> </div> </div>
</div>

Latest revision as of 18:56, 1 March 2022

CAN ID Assignments

ID Subsystem

Component

Type

Model # Brake or Coast? Description
(brief)
Operation

PD Board Info

(8) max. 40A         PDB #

General Notes
0 Electrical

PD Module

    Power Distribution Module feedback monitor PD

must be CAN 0

 
1 RESERVED n/a     Factory-default
allows for adding new device quickly and re-assign its ID
  don't use  
2 Hang Spark Max Neo Brake Winch robot up   40A, 13 REV Through Bore Encoder attached directly to SPARK
3 Intake Spark Max Neo 550 Brake Get ball into robot (Stage 1)


  30A 6
6 Shooter/Storage Spark Max Neo 550 Brake Transition motor to go into fly wheels (Stage 2)   20A/30A 7
7 Shooter Spark Max Neo Brake Left side fly wheel


40A 2 Using Integrated Encoder
8 Shooter Spark Max Neo Brake Right side fly wheel 40A 3 Using Integrated Encoder
9 Drive Spark Max Neo Coast Front left drive motor 40A 0 Using Integrated Encoder
10 Drive Spark Max Neo Coast Back left drive motor 40A 1 Using Integrated Encoder
11 Drive Spark Max Neo Coast Back right drive motor   40A 14 Using Integrated Encoder
12 Drive Spark Max Neo Coast Front right drive motor 40A 15 Using Integrated Encoder
13 Drive Spark Max Neo 550 Coast Front left turning motor   20A 4 Using Integrated Encoder
14 Drive Spark Max Neo 550 Coast Back left turning motor   20A 5 Using Integrated Encoder
15 Drive Spark Max Neo 550 Coast Back right turning motor   20A 10 Using Integrated Encoder
16 Drive Spark Max Neo 550 Coast Front right turning motor   20A 11 Using Integrated Encoder
17 Drive Encoder CANCoder N/A Front left absolute encoder N/A
18 Drive Encoder CANCoder N/A Back left absolute encoder N/A
19 Drive Encoder CANCoder N/A Back right absolute encoder N/A
20 Drive Encoder CANCoder N/A Front right absolute encoder N/A
 
PDB Assignments
Port # Device (Subteam) Breaker Value Max Current
0 Neo (Drive) 40 A 40 A
1 Neo (Drive) 40 A 40 A
2 Neo (Shooter) 40 A 40 A
3 Neo (Shooter) 40 A 40 A
4 Neo 550 (Drive) 20A 30A
5 Neo 550 (Drive) 20A 30A
6 Neo 550 (Intake {Stage 1}) 30A 30A
7 Neo 550 (Shooter/Storage {Stage 2}) 20A/30A 30A
8 Limelight 20A 30A
9 PCM (#2)? 20A 30A
10 Neo 550 (Drive) 20A 30A
11 Neo 550 (Drive) 20A 30A
12 40A
13 Neo (Hang) 40A 40A
14 Neo (Drive) 40A 40A
15 Neo (Drive) 40A 40A
 
 
 
 
 

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

0 Hang Servo Ratchet and Pawl    
1 Shooter Servo   hood servo      
2 Blinky Blinky LED Illumination        
3 Hang Servo String Thing (left)        
4 Hang Servo String Thing (right)
5          
6
7  
8
9  
10                
11                

 

 
 

Relay Outputs

ID Subsystem

Component

Type

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

 

Analog IO

RoboRIO Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0 Shooter Potentiometer Bourns 3-Turn

Bourns 5-Turn

Used for hood to show where it is Tells the angle for the hood Need to know how many rotations???
1    
2              
3              
 

More Board Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0              
1              
2              
3              

 

Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0 IN Hang Flag sensor OPB815WZ Tell if hang is all the way in 0 = out, 1 = in Power From RoboRio, Requires Pullup
1 IN
2 IN Storage Banner Optical Q10RN6R/Q106E Sees when a ball is at stage one 1 = Ball present

0 = Ball not present

Requires 12V and Pullup
3 IN Storage Banner Optical Q10RN6R/Q106E Sees when a ball is at stage two 1 = Ball present

0 = Ball not present

Requires 12V and Pullup
4 IN Shooter Banner Optical Q10RN6R/Q106E Counts balls that leave the robot 1 = Ball present

0 = Ball not present

Requires 12V and Pullup
5
6
7 IN  
8 IN  
9 IN  
10 IN  
 
 
 

Rev Robotics More Board IO

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

I2C Registers

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

Component

Type

Model # Description
(brief)
Operation Notes
0x52    
               
               
               
               
               
               

SPI Devices

# Subsystem

Component Type

Model # Description (brief) Operation Notes
0 Drive IMU ADIS16470 IMU A 3d gyro and accelerometer Tells the rotation for swerve drive  

USB Host Ports

Address Subsystem

Component Type

Model # Description (brief) Operation Notes
0 Vision USB Camera Microsoft LifeCam HD-3000 The intake camera Shows the drivers a view of the intake and is used for vision processing in autonomous mode  
1            

Pneumatics Control Modules

PCM

ID

# Subsystem

Solenoid is Double or Single?

Solenoid

Model #

Description

(brief)

Operation Circuit Pressure PDB #
1 0 Intake Double   Intake not deployed extend piston to retract intake   Dedicated Output 
1 Intake deployed retract piston to extend/deploy intake
2 Hang (Lower pivot pistons) Double   pivot arm to stored position extends piston, moves arms closer to stored position  
3 pivot arm to bar retracts piston, moves arms closer to fully pivoted outward position
4 Hang (Upper pivot pistons) Double   pivot arm to stored position extends piston, moves arms closer to stored position  
5 pivot arm to bar retracts piston, moves arms closer to fully pivoted outward position
6  
7
2 0 Hang Double   Only used if lower pressure is needed    9
1 Only used if lower pressure is needed
2 Hang Double   Only used if lower pressure is needed  
3 Only used if lower pressure is needed
4            
5    

Robot Lights Reference

TBD if lights on 2022 robot

  • When Disabled:
    • TBD
  • When Enabled:
    • TBD

Operator Controls

Disable Xbox Controller

DisableXbox.docx

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y  
A-1 Left Joystick X    
A-4 Right Joystick Y  
A-4 Right Joystick X  
B-6 Right Bumper  
B-5 Left Bumper  
A-3 Right Trigger  
A-2 Left Trigger  
B-1 A Button  
B-3 X Button    
B-4 Y Button  
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
A-2 Left Trigger
A-3 Right Trigger
A-4 Right Joystick X-Axis

 

 

A-5 Right Joystick Y-Axis    
B-1 A Button
B-2 B button
B-3 X Button
B-4 Y button
B-5 Left bumper
B-6 Right bumper
B-7 Back Button    
B-8 Start Button
B-9 Left Stick Pressed    
B-10 Right Stick Pressed    
POV-0 D-pad up

Controller 3 - Switches on console

 Button/Axis #  Action/Button  Description Details
B-1  
B-2  
B-3  
B-4  
B-5  
B-6  
B-7  
B-8  
B-9  

Dashboard

Key Data Type Value Description
thunderdashboard_alliance number

0 - Red

1 - Blue

Alliance we are one
thunderdashboard_stage1 number 0 - not blocked

1 - blocked

Stage 1 sensor blocked?
thunderdashboard_stage2 number 0 - not blocked

1 - blocked

Stage 2 sensor blocked?
thunderdashboard_ballcount number -1 - don't know

0 to 9 - number of balls

how many balls are in the robot
thunderdashboard_shooter_hood number 0 - 100 the position of the hood: 0 is down, 100 is completely up
thunderdashboard_hang_bar number

0 - unknown

1 - mid

2 - high

3 - traversal

the bar the robot is on
thunderdashboard_hang_status number

0 - unknown

1 - red

2 - green

3 - yellow

hang status color to show
thunderdashboard_match_length number

0 - no bar

1 to 599 - show bar, max seconds for the match period

Displays countdown progress bar at bottom of dashboard.
thunderdashboard_match_remaining number 0 to 599 Number of seconds left in the match period
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_frontcamera number 0 - LimeLight (mjpeg, roboRIO-1511-FRC.local:5800)

1 - USB camera (mjpeg, 10.15.11.11:1181)

which camera the dashboard should connect to
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

IO Maps for Old Robots