2023:Robot IO Map: Difference between revisions
Programming (talk | contribs) Tag: visualeditor |
Programming (talk | contribs) (Updated Dashboard Network Table stuff on IO Map and some other things) Tag: visualeditor |
||
| Line 1,272: | Line 1,272: | ||
| style="width: 92px; text-align: center" |A-1 | | style="width: 92px; text-align: center" |A-1 | ||
| style="width: 414px" |Left Joystick Y | | style="width: 414px" |Left Joystick Y | ||
| | |Drive translation Y | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |A-1 | | style="width: 92px; text-align: center" | A-1 | ||
| style="width: 414px" |Left Joystick X | | style="width: 414px" |Left Joystick X | ||
| Drive translation X | |||
| | | | ||
| | |- | ||
| | |||
|Left Joystick Press | |||
|Drive lock X translation toggle | |||
| | |||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | |Drive rotation | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | |Slow drive rotation (hold) | ||
| | | | ||
|- | |- | ||
| 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 | ||
| | | Slow drive translation (hold) | ||
| | | | ||
|- | |- | ||
| Line 1,306: | Line 1,311: | ||
|- | |- | ||
| 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 | ||
| | | | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |B-1 | | style="width: 92px; text-align: center" |B-1 | ||
| style="width: 414px" |A Button | | style="width: 414px" |Square / A Button | ||
| | | | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |B-3 | | style="width: 92px; text-align: center" | B-3 | ||
| style="width: 414px" |X Button | | style="width: 414px" | Cross / X Button | ||
| | |Brick drive | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |B-4 | | style="width: 92px; text-align: center" |B-4 | ||
| style="width: 414px" |Y Button | | style="width: 414px" |Triangle / Y Button | ||
| | |Toggle Absolute Rotation | ||
| | | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |B-2 | | style="width: 92px; text-align: center" |B-2 | ||
| style="width: 414px" |B Button | | style="width: 414px" | Circle / B Button | ||
| | | | ||
| | | | ||
| Line 1,355: | Line 1,360: | ||
| 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" | | | style="width: 361px" |Score GamePiece | ||
| style="width: 141px" | | | 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" | | | style="width: 361px" |Intake | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| Line 1,378: | Line 1,383: | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-1 | | style="width: 91px; text-align: center" | B-1 | ||
| style="width: 286px" | A Button | | style="width: 286px" |Square / A Button | ||
| style="width: 361px" | | | style="width: 361px" |Prepare intake for cube aquisition | ||
| style="width: 141px" | | | 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" |Circle / B button | ||
| style="width: 361px" | | | style="width: 361px" |Prepare intake / wrist for tipped cone acquisition | ||
| style="width: 141px" | | | 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" |Cross / X Button | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | 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" |Triangle / Y button | ||
| style="width: 361px" | | | style="width: 361px" |Prepare intake for upright cone acquisition | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| Line 1,400: | Line 1,405: | ||
| style="width: 286px" |Left bumper | | style="width: 286px" |Left bumper | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| style="width: 141px" | | | 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" | | | style="width: 361px" |Outake | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" |B-7 | | style="width: 91px; text-align: center" |B-7 | ||
| style="width: 286px" |Back Button | | style="width: 286px" |Back Button | ||
| style="width: 361px" | | | style="width: 361px" |Reset GamePiece | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| Line 1,417: | Line 1,422: | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |- | ||
| style="width: 91px; text-align: center" | B-9 | | style="width: 91px; text-align: center" |B-9 | ||
| style="width: 286px" |Left Stick Pressed | | style="width: 286px" |Left Stick Pressed | ||
| style="width: 361px" | | | style="width: 361px" | | ||
| Line 1,429: | Line 1,434: | ||
| 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" | | | style="width: 361px" |If has GamePiece, then lift goes to high scoring location | ||
If doesn't have GamePiece, then lift goes to balcony acquisition position | |||
| style="width: 141px" | | | style="width: 141px" | | ||
|- | |||
|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 | |||
| | |||
| | |||
|} | |} | ||
| Line 1,458: | Line 1,480: | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" | B-4 | | style="width: 92px; text-align: center" |B-4 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| Line 1,468: | Line 1,490: | ||
| style="width: 158px" | | | style="width: 158px" | | ||
|- | |- | ||
| style="width: 92px; text-align: center" |B-6 | | style="width: 92px; text-align: center" | B-6 | ||
| style="width: 112px" | | | style="width: 112px" | | ||
| style="width: 521px" | | | style="width: 521px" | | ||
| Line 1,494: | Line 1,516: | ||
===Dashboard=== | ===Dashboard=== | ||
{| | {| style="width: 0px" cellspacing="1" cellpadding="2" border="1" | ||
|- | |- | ||
|'''Key''' | |'''Key''' | ||
| Line 1,501: | Line 1,523: | ||
| style="width: 1000px" |'''Description''' | | style="width: 1000px" |'''Description''' | ||
|- | |- | ||
| thunderdashboard_gyro | |||
|thunderdashboard_gyro | |||
|number | |number | ||
| | | | ||
| Line 1,620: | Line 1,569: | ||
NOTE: thunderdashboard_gyro takes precendence | NOTE: thunderdashboard_gyro takes precendence | ||
|- | |- | ||
| thunderdashboard_auto_list | |||
|thunderdashboard_auto_list | |||
|string | |string | ||
|a comma seperated list | |a comma seperated list | ||
| the list of auto modes (e.g. "0,1,2,3,4,5") | |the list of auto modes (e.g. "0,1,2,3,4,5") | ||
|- | |- | ||
|thunderdashboard_auto_# | |thunderdashboard_auto_# | ||
| Line 1,647: | Line 1,580: | ||
|one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5) | |one for each auto mode (e.g. thunderdashboard_auto_0 ... thunderdashboard_auto_5) | ||
|- | |- | ||
|Auto_Mode | | Auto_Mode | ||
|number | |number | ||
|a number from thunderdashboard_auto_list | |a number from thunderdashboard_auto_list | ||
| the auto mode selected on the UI | |the auto mode selected on the UI | ||
|- | |- | ||
|thunderdashboard_auto_start_delay | |thunderdashboard_auto_start_delay | ||
| number | | number | ||
| | | | ||
|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_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_grabber_position | |||
|number | |||
|0 - open | |||
1 - agape | |||
2 - ajar | |||
|State of grabber mechanism | |||
|- | |||
|thunderdashboard_gamepiece | |||
|number | |||
|0 - cube | |||
1 - cone | |||
|Which GamePiece the robot is currently in possession of | |||
|- | |||
| | |||
| | |||
| | |||
| | |||
|} | |||
===Network Ports=== | |||
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1" | |||
|- | |||
|'''Server''' | |||
|'''Port & Server''' | |||
|'''Client''' | |||
|'''Protocol''' | |||
| style="width: 1000px" |'''Description''' | |||
|- | |||
|roboRIO | |||
|5810 | |||
|Dashboard | |||
|TCP | |||
|PS5 Controller Input/Output | |||
|- | |||
|RollingRaspberry | |||
|5800 | |||
|RoboRIO | |||
|TCP | |||
|Vision Processing Stuff | |||
|- | |||
|RollingRaspberry | |||
|1181 | |||
|Dashboard | |||
|UDP | |||
|Left Front Camera | |||
|- | |||
|RollingRaspberry | |||
|1182 | |||
|Dashboard | |||
|UDP | |||
|Right Front Camera | |||
|- | |||
|RollingRaspberry | |||
|1183 | |||
|Dashboard | |||
|UDP | |||
|Back Camera | |||
|} | |} | ||
Revision as of 13:49, 8 February 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 | Grabber | Spark Max | Neo 550 | Brake | Left intake motor | 20A | |||
| 3 | Grabber | Spark Max | Neo 550 | Brake | Right intake motor | 20A | |||
| 4 | Lift | Spark Max | Neo | Brake | Telescoping arm extension | 40A | Using Integrated Encoder | ||
| 5 | Lift | Spark Max | Neo 550 | Brake | Left lift lead screw | 40A | Using Integrated Encoder | ||
| 6 | Lift | Spark Max | Neo 550 | Brake | Right lift lead screw | 40A | Using Integrated Encoder | ||
| 7 | |||||||||
| 8 | |||||||||
| 9 | Drive | Spark Max | Neo | Brake | Front left drive motor | 40A | 0 | Using Integrated Encoder | |
| 10 | Drive | Spark Max | Neo | Brake | Back left drive motor | 40A | 1 | Using Integrated Encoder | |
| 11 | Drive | Spark Max | Neo | Brake | Back right drive motor | 40A | 14 | Using Integrated Encoder | |
| 12 | Drive | Spark Max | Neo | Brake | Front right drive motor | 40A | 15 | Using Integrated Encoder | |
| 13 | Drive | Spark Max | Neo 550 | Brake | Front left rotation motor | 20A | 4 | Using Integrated Encoder | |
| 14 | Drive | Spark Max | Neo 550 | Brake | Back left rotation motor | 20A | 5 | Using Integrated Encoder | |
| 15 | Drive | Spark Max | Neo 550 | Brake | Back right rotation motor | 20A | 10 | Using Integrated Encoder | |
| 16 | Drive | Spark Max | Neo 550 | Brake | Front right rotation 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 | |||
| 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 | ||||
| 5 | ||||
| 6 | ||||
| 7 | Grabber Left | 20A | ||
| 8 | Leadscrew Left (Lift) | 20A | ||
| 9 | Telescoping (Lift) | 40A | ||
| 10 | Network Switch | 20A | Who Knows? | |
| 11 | Leadscrew Right (Lift) | 20A | ||
| 12 | Grabber Right | 20A | ||
| 13 | ||||
| 14 | ||||
| 15 | ||||
| 16 | Neo (Drive) | 40A | 40A | |
| 17 | Neo 550 (Drive) | 30A | 30A | |
| 18 | Neo (Drive) | 40A | 40A | |
| 19 | Neo 550 (Drive) | 30A | 30A | |
| 20 | RoboRio | Fused Port | ||
| 21 | Radio | Fused Port | ||
| 22 | Raspberry Pi VRM | 10A | 5A | Fused Port |
| 23 (Switchable) | Fused Port |
| 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 | ||||||
| 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 | ||||||||
| 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 | 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 | |||
| 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_grabber_position | number | 0 - open
1 - agape 2 - ajar |
State of grabber mechanism |
| thunderdashboard_gamepiece | number | 0 - cube
1 - cone |
Which GamePiece the robot is currently in possession of |
Network Ports
| Server | Port & Server | Client | Protocol | Description |
| roboRIO | 5810 | Dashboard | TCP | PS5 Controller Input/Output |
| RollingRaspberry | 5800 | RoboRIO | TCP | Vision Processing Stuff |
| RollingRaspberry | 1181 | Dashboard | UDP | Left Front Camera |
| RollingRaspberry | 1182 | Dashboard | UDP | Right Front Camera |
| RollingRaspberry | 1183 | Dashboard | UDP | Back Camera |