2024:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
Tag: visualeditor
No edit summary
Tag: visualeditor
Line 39: Line 39:
|-
|-
| style="text-align: center" | 2
| style="text-align: center" | 2
| style="text-align: center" | Grabber
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Left intake motor
| style="width: 110px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | 11
| style="width: 55px; text-align: center" |  
|Not set yet, depends on wire route
|
|-
|-
| style="text-align: center" | 3
| style="text-align: center" | 3
| style="text-align: center" | Grabber
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Right intake motor
| style="width: 110px; text-align: center" |  


| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" |20A
| style="width: 115px; text-align: center" |
| style="width: 55px; text-align: center" | 10
| style="width: 55px; text-align: center" |  
|Not set yet, depends on wire route
|
|-
|-
| style="text-align: center" |4
| style="text-align: center" |4
| style="text-align: center" |Lift
| style="text-align: center" |
| style="text-align: center" |Spark Max
| style="text-align: center" |
| style="text-align: center" |Neo
| style="text-align: center" |
| style="text-align: center" |Brake
| style="text-align: center" |
| style="text-align: center" |Telescoping arm extension
| style="text-align: center" |
|
| style="text-align: center" |
|
|
| style="text-align: center" |40A
| style="text-align: center" |
|14
| style="text-align: center" |Using Integrated Encoder
|-
|-
| style="text-align: center" |5
| style="text-align: center" |5
| style="text-align: center" |Lift
| style="text-align: center" |
| style="text-align: center" |Spark Max
| style="text-align: center" |
| style="text-align: center" |Neo 550
| style="text-align: center" |
| style="text-align: center" |Brake
| style="text-align: center" |
| style="text-align: center" |Left lift lead screw
| style="text-align: center" |
|
|
| style="text-align: center" |40A
| style="text-align: center" |
|4
|
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 6
| style="text-align: center" | 6
| style="text-align: center" | Lift
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Right lift lead screw
| style="width: 110px; text-align: center" |  
| 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" |  
| style="width: 55px; text-align: center" | 15
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 7
| style="text-align: center" | 7
| style="text-align: center" | RCS
| style="text-align: center" |  
| style="text-align: center" | PCM
| style="text-align: center" |  
| style="text-align: center; width: 112px" |  
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" |  
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Pneumatics Control Module
| style="width: 110px; text-align: center" |  


| style="width: 224px; text-align: center" |  
| style="width: 224px; text-align: center" |  
| style="width: 115px; text-align: center" | 5A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" |22
| style="width: 55px; text-align: center" |
|
|
|-
|-
Line 118: Line 118:
|-
|-
| style="text-align: center" | 9
| style="text-align: center" | 9
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Front left drive motor
| style="width: 110px; text-align: center" |  
| 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" |  
| style="width: 55px; text-align: center" | 0
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 10
| style="text-align: center" | 10
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Back left drive motor
| style="width: 110px; text-align: center" |  
| 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" |  
| style="width: 55px; text-align: center" | 2
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 11
| style="text-align: center" | 11
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Back right drive motor
| style="width: 110px; text-align: center" |  
| 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" |  
| style="width: 55px; text-align: center" | 18
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 12
| style="text-align: center" | 12
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Front right drive motor
| style="width: 110px; text-align: center" |  
| 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" |  
| style="width: 55px; text-align: center" | 16
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| 13
| 13
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="text-align: center; width: 112px" | Neo 550
| style="text-align: center; width: 112px" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Front left rotation motor
| style="width: 110px; text-align: center" |  
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | 1
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 14
| style="text-align: center" | 14
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="width: 112px; text-align: center" | Neo 550
| style="width: 112px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Back left rotation motor
| style="width: 110px; text-align: center" |  
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | 3
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 15
| style="text-align: center" | 15
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="width: 112px; text-align: center" | Neo 550
| style="width: 112px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Back right rotation motor
| style="width: 110px; text-align: center" |  
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" | 19
| style="width: 55px; text-align: center" |  
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" | 16
| style="text-align: center" | 16
| style="text-align: center" | Drive
| style="text-align: center" |  
| style="text-align: center" | Spark Max
| style="text-align: center" |  
| style="width: 112px; text-align: center" | Neo 550
| style="width: 112px; text-align: center" |  
| style="width: 70px; text-align: center" | Brake
| style="width: 70px; text-align: center" |  
| style="width: 110px; text-align: center" | Front right rotation motor
| style="width: 110px; text-align: center" |  
| style="width: 224px; text-align: center" | 
| style="width: 224px; text-align: center" |
| style="width: 115px; text-align: center" | 20A
| style="width: 115px; text-align: center" |  
| style="width: 55px; text-align: center" |17
| style="width: 55px; text-align: center" |
| style="text-align: center" |Using Integrated Encoder
| style="text-align: center" |
|-
|-
| style="text-align: center" |17
| style="text-align: center" |17
| style="text-align: center" |Drive
| style="text-align: center" |
| style="text-align: center" |Encoder
| style="text-align: center" |
| style="text-align: center" |CANCoder
| style="text-align: center" |
| style="text-align: center" |N/A
| style="text-align: center" |
| style="text-align: center" |Front left absolute encoder
| style="text-align: center" |
|
|
|
|
|
|N/A
|
|
|-
|-
| style="text-align: center" |18
| style="text-align: center" |18
| style="text-align: center" |Drive
| style="text-align: center" |
| style="text-align: center" |Encoder
| style="text-align: center" |
| style="text-align: center" |CANCoder
| style="text-align: center" |
| style="text-align: center" |N/A
| style="text-align: center" |
| style="text-align: center" |Back left absolute encoder
| style="text-align: center" |
|
|
|
|
|
|N/A
|
|
|-
|-
| style="text-align: center" |19
| style="text-align: center" |19
| style="text-align: center" |Drive
| style="text-align: center" |
| style="text-align: center" |Encoder
| style="text-align: center" |
| style="text-align: center" |CANCoder
| style="text-align: center" |
| style="text-align: center" |N/A
| style="text-align: center" |
| style="text-align: center" |Back right absolute encoder
| style="text-align: center" |
|
|
|
|
|
|N/A
|
|
|-
|-
| style="text-align: center" |20
| style="text-align: center" |20
| style="text-align: center" |Drive
| style="text-align: center" |
| style="text-align: center" |Encoder
| style="text-align: center" |
| style="text-align: center" |CANCoder
| style="text-align: center" |
| style="text-align: center" |N/A
| style="text-align: center" |
| style="text-align: center" |Front right absolute encoder
| style="text-align: center" |
|
|
|
|
|
|N/A
|
|
|}
|}
Line 1,109: Line 1,109:
|-
|-
| style="text-align: center" |0
| style="text-align: center" |0
| style="width: 76px; text-align: center" |
| style="width: 76px; text-align: center" |Drive
| style="width: 75px; text-align: center" |
| style="width: 75px; text-align: center" |IMU
| style="width: 53px; text-align: center" |
| style="width: 53px; text-align: center" |ADIS16470
| style="width: 205px; text-align: center" |
| style="width: 205px; text-align: center" |3-Axis gyro and accelerometer
| style="width: 241px; text-align: center" |  
| style="width: 241px; text-align: center" | Sense rotation of robot
| style="width: 112px; text-align: center" | 
| style="width: 112px; text-align: center" | 
|}
|}

Revision as of 14:37, 4 December 2023

CAN ID Assignments

ID Subsystem

Component

Type

Model # Brake or Coast? Description
(brief)
Operation

PD Board Info

(8) max. 40A         PDB #

General Notes
0 Electrical

PD Module

    Power Distribution Module feedback monitor PD

must be CAN 0

 
1 RESERVED n/a     Factory-default
allows for adding new device quickly and re-assign its ID
  don't use please  
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
PDB Assignments
Port # Device (Subteam) Breaker Value Max Current Note
0 Neo (Drive) 40A 40A
1 Neo 550 (Drive) 30A 30A
2 Neo (Drive) 40A 40A
3 Neo 550 (Drive) 30A 30A
4 Leadscrew Left (Lift) 40A
5
6
7
8
9
10 Grabber Right 30A
11 Grabber Left 30A
12
13
14 Telescoping (Lift) 40A
15 Leadscrew Right (Lift) 30A
16 Neo (Drive) 40A 40A
17 Neo 550 (Drive) 30A 30A
18 Neo (Drive) 40A 40A
19 Neo 550 (Drive) 30A 30A
20 RIO(?) 10A Fused Port
21 VRM(?) 20A Fused Port
22 PCM 10A Fused Port
23 (Switchable) Ethernet Switch 5A Fused Port
VRM Assignments
Port # Device (Subteam)
5V/2A Blinky Blinky
5V/2A Blinky Blinky
5V/500mA Blinky Blinky
5V/500mA Blinky Blinky
12V/2A Banner Sensor - GamePiece
12V/2A
12V/500mA 4x CanCoders tied together - Drive
12V/500mA

PWM Outputs

ID Subsystem

Component

Type

Model # Description
(brief)

Operation

 

Brake/Coast

Notes

(8) max. 40A              PDB #   

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

Relay Outputs

ID Subsystem

Component

Type

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

 

Analog IO

RoboRIO Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0
1    
2              
3              
 

More Board Analog Inputs

ID Subsystem

Component

Type

Model # Description
(brief)
Operation

Voltage

Range

Notes
0              
1              
2              
3              

 

Digital IO (GPIO)

RoboRio IO

ID Direction
(IN/OUT)
Subsystem

Component

Type

Model # Description
(brief)
Operation Notes
0 IN Grabber Beam Break Grabber intake sensor Detect acquired game pieces
1 IN Lift Lift home sensor Detect when telescoping arm is fully retracted
2 IN Lift Lift extension sensor Detect when telescoping arm is fully extended
3 IN Lift Lift home sensor (ish) & hard stop Detect when lift needs to stop
4 IN
5
6
7 IN  
8 IN  
9 IN  
10 IN  
 
 
 

Rev Robotics More Board IO

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

I2C Registers

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

Component

Type

Model # Description
(brief)
Operation Notes
0x52    
               
               
               
               
               
               

SPI Devices

# Subsystem

Component Type

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

USB Host Ports

Address Subsystem

Component Type

Model # Description (brief) Operation Notes
0  
1            

Pneumatics Control Modules

PCM

ID

# Subsystem

Solenoid is Double or Single?

Solenoid

Model #

Description

(brief)

Operation Circuit Pressure PDB #
1 0 Grabber Double Extend Difference between cone intake and cube intake
1 Retract
2 Grabber Double Extend Difference between cone intake and cone transport
3 Retract
4 Grabber Double Extend Grabber Position for intaking tipped cone
5 Retract Grabber Position for intaking upright cone
6 Drive Base Double Retract Parking Break
7 Extend Parking Break
2 0
1
2
3
4
5

Operator Controls

Disable Xbox Controller

DisableXbox.docx

Controller 1 - Primary Driver

 Button/Axis # Action/Button Description Details
A-1 Left Joystick Y Drive translation Y  
A-1 Left Joystick X Drive translation X  
Left Joystick Press Drive lock X translation toggle
A-4 Right Joystick Y  
A-4 Right Joystick X Drive rotation  
B-6 Right Bumper Slow drive rotation (hold)  
B-5 Left Bumper Slow drive translation (hold)  
A-3 Right Trigger  
A-2 Left Trigger  
B-1 Square / A Button  
B-3 Cross / X Button Brick drive  
B-4 Triangle / Y Button Toggle Absolute Rotation  
B-2 Circle / B Button    
 

Controller 2 - Aux Driver

Button/Axis # Action/Button Description Details
A-0 Left Joystick X-Axis    
A-1 Left Joystick Y-Axis
A-2 Left Trigger Score GamePiece
A-3 Right Trigger Intake
A-4 Right Joystick X-Axis

 

 

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

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

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

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

POV-270 D-pad left

Controller 3 - Switches on console

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

Dashboard

Key Data Type Value Description
thunderdashboard_gyro number

0 - dashboard background not based on this

1 - dashboard background goes red

used when: gyro is calibrating
thunderdashboard_yellow number

0 - dashboard background not based on this

1 - dashboard background goes yellow

used when: TBD

NOTE: thunderdashboard_gyro takes precedence

thunderdashboard_green number

0 - dashboard background not based on this

1 - dashboard background goes green

used when: TBD

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_inpitmode number

0 - dashboard background not based on this

1 - dashboard background is power blue

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

NOTE: thunderdashboard_gyro takes precendence

thunderdashboard_auto_list string a comma seperated list the list of auto modes (e.g. "0,1,2,3,4,5")
thunderdashboard_auto_# string any text one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5)
Auto_Mode number a number from thunderdashboard_auto_list the auto mode selected on the UI
thunderdashboard_auto_start_delay number user selected number of seconds, 0 to 15, to delay start of auto mode
thunderdashboard_auto_doing_auto boolean true - should do autonomous

false - should not do autonomous

Dashboard checkbox in auto selector page. When false, the robot should not do anything in autonomous
thunderdashboard_auto_starting_location number 0 - barrier side

1 - center

2 - edge side

Dashboard selection of which community zone the robot should start in
thunderdashboard_auto_starting_gamepiece number 0 - cube

1 - cone

Dashboard selection of which GamePiece the robot is starting with. Also determines the exact starting position of the robotin combination with the general zone as provided by 'thunderdashboard_auto_starting_location'
thunderdashboard_auto_starting_action number Depending on the starting location, this value means different things.

If starting in the center,

0 - Score preloaded GamePiece and balance on Charge Station

1 - Score preloaded GamePiece, traverse Charge Station, and collect GamePiece 3 from field

If starting on either side,

Anything - Score preloaded GamePiece and collect field GamePiece 1 or 4

Dashboard selection of what action the robot should do first in autonomous
thunderdashboard_auto_field_gamepiece number 0 - cube

1 - cone

Dashboard selection of which GamePiece to collect on the field (if the starting action puts the robot in the position to acquire a GamePiece)
thunderdashboard_auto_final_action number Depending on the starting location, this value means different things,

If starting in the center,

0 - Do nothing

1 - Balance on Charge Station

If starting on either side,

0 - Do nothing

1 - Score acquired field GamePiece

2 - Balance on Charge Station

Dashboard selection of what action the robot should do at the end of Autonomous (if the starting action puts the robot in the position for a final action).
thunderdashboard_drive_x_pos number Robot current X position on the field (m)
thunderdashboard_drive_y_pos number Robot current Y position on the field (m)
thunderdashboard_drive_target_x_pos number Robot target X position on the field (m)
thunderdashboard_drive_target_y_pos number Robot target Y position on the field (m)
thunderdashboard_drive_x_vel number Robot current X velocity (m/s)
thunderdashboard_drive_y_vel number Robot current Y velocity (m/s)
thunderdashboard_drive_ang_vel number Robot current angular velocity (rad/s)
thunderdashboard_drive_ang number Robot current angle (radians)
thunderdashboard_drive_target_ang number Robot target angle (radians)
thunderdashboard_lift_pivot_percent number 0 to 1 Percent of lift pivot
thunderdashboard_lift_extension_percent number 0 to 1 Percent of lift extension
thunderdashboard_lift_pivot_target_percent number 0 to 1, -1 if no target Target percent of lift pivot
thunderdashboard_lift_extension_target_percent number 0 to 1, -1 if no target Target percent of lift extension
thunderdashboard_grabber_position number 0 - open

1 - agape

2 - ajar

State of grabber mechanism
thunderdashboard_gamepiece number -1 - no gamepiece

0 - cube 1 - cone

Which GamePiece the robot is currently in possession of
thunderdashboard_match_remaining number The time remaining in the current match period
thunderdashboard_airpressure_low number Low air pressure on gauge
thunderdashboard_airpressure_high number High air pressure on gauge
thunderdashboard_airpressure number Current air pressure
thunderdashboard_airpressure_iters number Number of ticks on air pressure gauge
thunderdashboard_led_mode number 0 - Robot State

1 - Alliance Color

2 - Custom Color

3 - Off

The mode of the robot LEDs
thunderdashboard_led_custom_r number 0-1 Custom LED red value
thunderdashboard_led_custom_g number 0-1 Custom LED green value
thunderdashboard_led_custom_b number 0-1 Custom LED blue value
thunderdashboard_score_grid number -1 - No grid aligned

0 - Left grid

1 - Center grid

2 - Right grid

Which grid the robot is currently in front of (relative to driver, NOT field or robot)
thunderdashboard_score_grid_column number -1 - No Column selected

0 - Left column

1 - Center column

2 - Right column

Which column of the grid the robot is trying to align to (relative to driver, NOT field or robot)


Network Ports

Server Port Client Protocol Description
roboRIO 5809 Dashboard TCP PS5 Controller Input/Output
roboRIO 5802 Raspberry Pis TCP Vision Processing communication
Raspberry Pi 1 1181 Dashboard UDP Left Front Camera
Raspberry Pi 2 1182 Dashboard UDP Right Front Camera
Raspberry Pi 1 1182 Dashboard UDP Back Camera

IO Maps for Old Robots