2024:Robot IO Map
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 |
Port # | Device (Subteam) | Breaker Value | Max Current | Note |
---|---|---|---|---|
0 | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
11 | ||||
12 | ||||
13 | ||||
14 | ||||
15 | ||||
16 | ||||
17 | ||||
18 | ||||
19 | ||||
20 | ||||
21 | ||||
22 | ||||
23 (Switchable) |
Port # | Device (Subteam) |
---|---|
5V/2A | |
5V/2A | |
5V/500mA | |
5V/500mA | |
12V/2A | |
12V/2A | |
12V/500mA | |
12V/500mA |
PWM Outputs
ID | Subsystem | Component Type |
Model # | Description (brief) |
Operation
|
Brake/Coast |
Notes (8) max. 40A PDB # | |
0 | ||||||||
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 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 |
Rev Robotics More Board IO
ID | Direction (IN/OUT) | Subsystem | Component Type | Model # | Description (brief) | Operation | Notes |
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
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 | |||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | ||||||||
7 | ||||||||
2 | 0 | |||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 |
Operator Controls
Disable Xbox Controller
Controller 1 - Primary Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Left Joystick Y | ||
A-1 | Left Joystick X | ||
Left Joystick Press | |||
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 | Square / A Button | ||
B-3 | Cross / X Button | ||
B-4 | Triangle / Y Button | ||
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 | ||
A-3 | Right Trigger | ||
A-4 | Right Joystick X-Axis |
| |
A-5 | Right Joystick Y-Axis | ||
B-1 | Square / A Button | ||
B-2 | Circle / B button | ||
B-3 | Cross / X Button | ||
B-4 | Triangle / 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 | ||
POV-90 | D-pad right | ||
POV-180 | D-pad down | ||
POV-270 | D-pad left |
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_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) |