2022:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
Tag: visualeditor
Tag: visualeditor
 
(33 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 ==


Line 57: Line 46:
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 224px; text-align: center" | &nbsp;
| style="width: 115px; text-align: center" | 40A,  
| style="width: 115px; text-align: center" | 40A,  
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 13
|[https://www.revrobotics.com/rev-11-1271/ REV Through Bore Encoder] attached directly to SPARK
|[https://www.revrobotics.com/rev-11-1271/ REV Through Bore Encoder] attached directly to SPARK
|-
|-
Line 65: Line 54:
| 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" | Get ball into robot and storage stage one
| 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" |30A
| style="width: 115px; text-align: center" |30A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 6
|
|
|-
|-
Line 78: Line 67:
| 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" | Transition motor to go into fly wheels and stage two
| 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" | 20A/30A
| style="width: 115px; text-align: center" | 20A/30A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 7
|
|
|-
|-
Line 94: Line 83:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |
| style="width: 55px; text-align: center" |2
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 105: Line 94:
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" |40A
| style="text-align: center" |40A
| style="text-align: center" |
| style="text-align: center" |3
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 116: Line 105:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 0
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 127: Line 116:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 1
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 138: Line 127:
| style="width: 224px; text-align: center" |&nbsp;
| style="width: 224px; text-align: center" |&nbsp;
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 14
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 149: Line 138:
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 40A
| style="width: 115px; text-align: center" | 40A
| style="width: 55px; text-align: center" |  
| style="width: 55px; text-align: center" | 15
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 160: Line 149:
| 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" | &nbsp;
| style="width: 55px; text-align: center" | 4
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 171: Line 160:
| 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" | &nbsp;
| style="width: 55px; text-align: center" | 5
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 182: Line 171:
| 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" | &nbsp;
| style="width: 55px; text-align: center" | 10
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 193: Line 182:
| 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" |&nbsp;
| style="width: 55px; text-align: center" |11
|Using Integrated Encoder
|Using Integrated Encoder
|-
|-
Line 204: Line 193:
|
|
|
|
|
|N/A
|
|
|-
|-
Line 215: Line 204:
|
|
|
|
|
|N/A
|
|
|-
|-
Line 226: Line 215:
|
|
|
|
|
|N/A
|
|
|-
|-
Line 237: Line 226:
|
|
|
|
|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
|Neo (Hang)
|40A
|40A
|-
|14
|Neo (Drive)
|40A
|40A
|-
|15
|Neo (Drive)
|40A
|40A
|}
|}
</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 266: 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" |  
| style="width: 280px" |  
Line 276: Line 353:
|-
|-
| 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" |  
| style="width: 280px" |  
Line 286: Line 363:
|-
|-
| 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 296: 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 306: 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" |  
| style="width: 280px" |  
Line 387: 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 435: 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 550: 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 580: Line 657:
| 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" | Hang
| style="width: 69px; text-align: center" |  
| style="width: 122px; text-align: center" | Flag sensor
| style="width: 122px; text-align: center" |  
| style="width: 139px; text-align: center" | [https://www.ttelectronics.com/TTElectronics/media/ProductFiles/Datasheets/OPB815.pdf OPB815WZ]
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" | Tells if hang is out
| style="width: 193px; text-align: center" |  
| style="width: 223px; text-align: center" | 0 = in 1 = out
| style="width: 223px; text-align: center" |
 
| style="width: 231px; text-align: center" |  
| style="width: 231px; text-align: center" | Power From RoboRio, Requires Pullup
|-
|-
| style="text-align: center" | 2
| style="text-align: center" | 2
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Hang
| style="width: 122px; text-align: center" | Flag sensor
| style="width: 139px; text-align: center" | [https://www.ttelectronics.com/TTElectronics/media/ProductFiles/Datasheets/OPB815.pdf OPB815WZ]
| style="width: 193px; text-align: center" | Tells if hang is out
| style="width: 223px; text-align: center" | 0 = in 1 = out
| style="width: 231px; text-align: center" | Power From RoboRio, Requires Pullup
|-
| style="text-align: center" | 3
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Intake
| style="width: 122px; text-align: center" | Banner Optical
| 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" | Counts balls that enter robot
| style="width: 223px; text-align: center" | 1 = Ball present
0 = Ball not present
| style="width: 231px; text-align: center" |Requires 12V and Pullup
|-
| style="text-align: center" | 4
| 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" | Banner Optical
| style="width: 122px; text-align: center" | Banner Optical
| 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: 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" | Sees when a ball is at stage one
| style="width: 193px; text-align: center" | Sees when a ball is at stage one
| style="width: 223px; text-align: center" | 1 = Ball present
| style="width: 223px; text-align: center" | 1 = Ball present


0 = Ball not present
0 = Ball not present
| style="width: 231px; text-align: center" | Requires 12V and Pullup
| style="width: 231px; text-align: center" | Requires 12V and Pullup
|-
|-
| style="text-align: center" | 5
| style="text-align: center" | 3
| 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" | Banner Optical
| style="width: 122px; text-align: center" | Banner Optical
| 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: 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" | Sees when a ball is at stage two
| style="width: 193px; text-align: center" | Sees when a ball is at stage two
| style="width: 223px; text-align: center" | 1 = Ball present
| style="width: 223px; text-align: center" | 1 = Ball present
Line 630: Line 687:
| style="width: 231px; text-align: center" |Requires 12V and Pullup
| style="width: 231px; text-align: center" |Requires 12V and Pullup
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 4
| style="text-align: center" | IN
| style="text-align: center" | IN
| style="width: 69px; text-align: center" | Shooter
| style="width: 69px; text-align: center" | Shooter
| style="width: 122px; text-align: center" | Banner Optical
| style="width: 122px; text-align: center" | Banner Optical
| 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: 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" | Counts balls that leave the robot
| style="width: 193px; text-align: center" | Counts balls that leave the robot
| style="width: 223px; text-align: center" | 1 = Ball present
| style="width: 223px; text-align: center" | 1 = Ball present
Line 640: Line 697:
0 = Ball not present
0 = Ball not present
| style="width: 231px; text-align: center" | Requires 12V and Pullup
| style="width: 231px; text-align: center" | Requires 12V and Pullup
|-
| style="text-align: center" | 5
| style="text-align: center" |
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |
|-
| style="text-align: center" | 6
| style="text-align: center" |
| style="width: 69px; text-align: center" |
| style="width: 122px; text-align: center" |
| style="width: 139px; text-align: center" |
| style="width: 193px; text-align: center" |
| style="width: 223px; text-align: center" |
| style="width: 231px; text-align: center" |
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
Line 913: 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 935: Line 1,009:
| style="width: 241px; text-align: center" | Tells the rotation for swerve drive
| style="width: 241px; text-align: center" | Tells the rotation for swerve drive
| style="width: 112px; text-align: center" | &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 957: 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 975: 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 993: Line 1,060:
| rowspan="8" style="width: 8px; text-align: center" | 1
| rowspan="8" style="width: 8px; text-align: center" | 1
| style="width: 1px" | 0
| style="width: 1px" | 0
| colspan="1" rowspan="2" | Hang(left arm)
| colspan="1" rowspan="2" | Intake
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px; text-align: center" | hold arm straight
| style="width: 183px; text-align: center" | Intake not deployed
| style="width: 290px; text-align: center" | extend piston to pivot
| style="width: 290px; text-align: center" | extend piston to retract intake
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| rowspan="8" style="width: 118px; text-align: center" | &nbsp;
| rowspan="8" style="width: 118px; text-align: center" | Dedicated Output&nbsp;
|-
|-
| style="width: 1px; text-align: center" | 1
| style="width: 1px; text-align: center" | 1
| style="width: 183px; text-align: center" | pivot arm to bar
| style="width: 183px; text-align: center" | Intake deployed
| style="width: 290px; text-align: center" | retract to straighten
| style="width: 290px; text-align: center" | retract piston to extend/deploy intake
|-
|-
| style="width: 1px; text-align: center" | 2
| style="width: 1px; text-align: center" | 2
| colspan="1" rowspan="2" style="text-align: center" | Hang
| colspan="1" rowspan="2" style="text-align: center" | Hang (Lower pivot pistons)
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px; text-align: center" | engage brake
| style="width: 183px; text-align: center" | pivot arm to stored position
| style="width: 290px; text-align: center" | retract to engage
| style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px; text-align: center" | 3
| style="width: 1px; text-align: center" | 3
| style="width: 183px; text-align: center" | disengage brake
| style="width: 183px; text-align: center" | pivot arm to bar
| style="width: 290px; text-align: center" | extend piston to disengage
| style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position
|-
|-
| style="width: 1px; text-align: center" | 4
| style="width: 1px; text-align: center" | 4
| colspan="1" rowspan="2" style="text-align: center"| Intake
| colspan="1" rowspan="2" style="text-align: center"| Hang (Upper pivot pistons)
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |&nbsp;
| style="width: 183px; text-align: center" | Intake deployed
| style="width: 183px; text-align: center" | pivot arm to stored position
| style="width: 290px; text-align: center" | extend piston to deploy
| style="width: 290px; text-align: center" | extends piston, moves arms closer to stored position
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px; text-align: center" | 5
| style="width: 1px; text-align: center" | 5
| style="width: 183px; text-align: center" | Intake not deployed
| style="width: 183px; text-align: center" | pivot arm to bar
| style="width: 290px; text-align: center" | retract piston to disengage
| style="width: 290px; text-align: center" | retracts piston, moves arms closer to fully pivoted outward position
|-
|-
| style="width: 1px; text-align: center" | 6
| style="width: 1px; text-align: center" | 6
| colspan="1" rowspan="2" style="text-align: center"| Intake
| colspan="1" rowspan="2" style="text-align: center"|  
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 75px; text-align: center" |  
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 64px; text-align: center" |  
| style="width: 183px; text-align: center" | Intake deployed
| style="width: 183px; text-align: center" |  
| style="width: 290px; text-align: center" | extend piston to deploy
| style="width: 290px; text-align: center" |  
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | &nbsp;
|-
|-
| style="width: 1px; text-align: center" | 7
| style="width: 1px; text-align: center" | 7
| style="width: 183px; text-align: center" | Intake not deployed
| style="width: 183px; text-align: center" |  
| style="width: 290px; text-align: center" | retract piston to disengage
| style="width: 290px; text-align: center" |  
|-
|-
| colspan="1" rowspan="6" style="width: 8px; text-align: center" | 2
| colspan="1" rowspan="6" style="width: 8px; text-align: center" | 2
| style="width: 1px; text-align: center" | 0
| style="width: 1px; text-align: center" | 0
| colspan="1" rowspan="2" | &nbsp;
| colspan="1" rowspan="2" | Hang
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | &nbsp;
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | &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,079: 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 class="mw-parser-output"><div class="mw-parser-output">


= Robot Lights Reference =
= Robot Lights Reference =
Line 1,336: 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,373: 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 - hang ratched is locked
1 - red


| indicates whether the ratchet, for hang, is engaged or not
2 - green
 
3 - yellow
 
| 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,443: 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,456: 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,486: 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>       


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

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