2023:Robot IO Map: Difference between revisions
No edit summary Tag: visualeditor |
Programming (talk | contribs) (IO Map updates) Tag: visualeditor |
||
| Line 39: | Line 39: | ||
|- | |- | ||
| style="text-align: center" | 2 | | style="text-align: center" | 2 | ||
| style="text-align: center" | | | style="text-align: center" | Grabber | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Left intake motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 20A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | | ||
| | | | ||
|- | |- | ||
| style="text-align: center" | 3 | | style="text-align: center" | 3 | ||
| style="text-align: center" | | | style="text-align: center" | Grabber | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Right intake motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" |20A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | | ||
| | | | ||
|- | |- | ||
|4 | |4 | ||
|Lift | |||
|Spark Max | |||
|Neo | |||
|Brake | |||
|Telescoping arm extention | |||
| | | | ||
|40A | |||
| | | | ||
| | |Using Integrated Encoder | ||
|- | |- | ||
|5 | |5 | ||
|Lift | |||
|Spark Max | |||
|Neo 550 | |||
|Brake | |||
|Left lift lead screw | |||
| | | | ||
|20A | |||
| | | | ||
| | |Using Integrated Encoder | ||
|- | |- | ||
| style="text-align: center" | 6 | | style="text-align: center" | 6 | ||
| style="text-align: center" | | | style="text-align: center" | Lift | ||
| style="text-align: center" | | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | | | style="width: 110px; text-align: center" | Right lift lead screw | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| style="width: 115px; text-align: center" | | | style="width: 115px; text-align: center" | 20A | ||
| style="width: 55px; text-align: center" | | | style="width: 55px; text-align: center" | | ||
| | |Using Integrated Encoder | ||
|- | |- | ||
| style="text-align: center" | 7 | | style="text-align: center" | 7 | ||
| Line 122: | Line 121: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | Neo | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Front left drive motor | | style="width: 110px; text-align: center" | Front left drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 133: | Line 132: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | Neo | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Back left drive motor | | style="width: 110px; text-align: center" | Back left drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 144: | Line 143: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | Neo | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Back right drive motor | | style="width: 110px; text-align: center" | Back right drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 155: | Line 154: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | Neo | | style="text-align: center; width: 112px" | Neo | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Front right drive motor | | style="width: 110px; text-align: center" | Front right drive motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 166: | Line 165: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="text-align: center; width: 112px" | Neo 550 | | style="text-align: center; width: 112px" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Front left turning motor | | style="width: 110px; text-align: center" | Front left turning motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 177: | Line 176: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="width: 112px; text-align: center" | Neo 550 | | style="width: 112px; text-align: center" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Back left turning motor | | style="width: 110px; text-align: center" | Back left turning motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 188: | Line 187: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="width: 112px; text-align: center" | Neo 550 | | style="width: 112px; text-align: center" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Back right turning motor | | style="width: 110px; text-align: center" | Back right turning motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 199: | Line 198: | ||
| style="text-align: center" | Spark Max | | style="text-align: center" | Spark Max | ||
| style="width: 112px; text-align: center" | Neo 550 | | style="width: 112px; text-align: center" | Neo 550 | ||
| style="width: 70px; text-align: center" | | | style="width: 70px; text-align: center" | Brake | ||
| style="width: 110px; text-align: center" | Front right turning motor | | style="width: 110px; text-align: center" | Front right turning motor | ||
| style="width: 224px; text-align: center" | | | style="width: 224px; text-align: center" | | ||
| Line 707: | Line 706: | ||
| style="text-align: center" | 0 | | style="text-align: center" | 0 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | Grabber | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | Beam Break | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Grabber intake sensor | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | Detect acquired game pieces | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| 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" | | | style="width: 69px; text-align: center" | Lift | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Lift home sensor | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" |Detect when telescoping arm is fully retracted | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
|- | |- | ||
| style="text-align: center" | 2 | | style="text-align: center" | 2 | ||
| style="text-align: center" | IN | | style="text-align: center" | IN | ||
| style="width: 69px; text-align: center" | | | style="width: 69px; text-align: center" | Lift | ||
| style="width: 122px; text-align: center" | | | style="width: 122px; text-align: center" | | ||
| style="width: 139px; text-align: center" | | | style="width: 139px; text-align: center" | | ||
| style="width: 193px; text-align: center" | | | style="width: 193px; text-align: center" | Lift extension sensor | ||
| style="width: 223px; text-align: center" | | | style="width: 223px; text-align: center" | Detect when telescoping arm is fully extended | ||
| style="width: 231px; text-align: center" | | | style="width: 231px; text-align: center" | | ||
| Line 1,113: | Line 1,112: | ||
| 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" | | | colspan="1" rowspan="2" | Grabber | ||
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px; text-align: center" | | | style="width: 183px; text-align: center" | Long grabber piston | ||
| style="width: 290px; text-align: center" | | | style="width: 290px; text-align: center" | Difference between cone intake and cube intake | ||
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
| rowspan="8" style="width: 118px; text-align: center" | | | rowspan="8" style="width: 118px; text-align: center" | | ||
| Line 1,126: | Line 1,125: | ||
|- | |- | ||
| style="width: 1px; text-align: center" | 2 | | style="width: 1px; text-align: center" | 2 | ||
| colspan="1" rowspan="2" style="text-align: center" | | | colspan="1" rowspan="2" style="text-align: center" | Grabber | ||
| colspan="1" rowspan="2" style="width: 75px; text-align: center" | | | colspan="1" rowspan="2" style="width: 75px; text-align: center" | Double | ||
| colspan="1" rowspan="2" style="width: 64px; text-align: center" | | | colspan="1" rowspan="2" style="width: 64px; text-align: center" | | ||
| style="width: 183px; text-align: center" | | | style="width: 183px; text-align: center" | Short grabber piston | ||
| style="width: 290px; text-align: center" | | | style="width: 290px; text-align: center" | Difference between cone intake and cone transport | ||
| colspan="1" rowspan="2" style="width: 118px; text-align: center" | | | colspan="1" rowspan="2" style="width: 118px; text-align: center" | | ||
|- | |- | ||
Revision as of 12:16, 21 January 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 extention | 40A | Using Integrated Encoder | ||
| 5 | Lift | Spark Max | Neo 550 | Brake | Left lift lead screw | 20A | Using Integrated Encoder | ||
| 6 | Lift | Spark Max | Neo 550 | Brake | Right lift lead screw | 20A | 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 turning motor | 20A | 4 | Using Integrated Encoder | |
| 14 | Drive | Spark Max | Neo 550 | Brake | Back left turning motor | 20A | 5 | Using Integrated Encoder | |
| 15 | Drive | Spark Max | Neo 550 | Brake | Back right turning motor | 20A | 10 | Using Integrated Encoder | |
| 16 | Drive | Spark Max | Neo 550 | Brake | 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 | |||
| Port # | Device (Subteam) | Breaker Value | Max Current |
|---|---|---|---|
| 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 | |||
| 8 | |||
| 9 | |||
| 10 | Raspberry Pi VRM | 20A | 5A |
| 11 | |||
| 12 | |||
| 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 | ||
| 21 | Radio | ||
| 22 | |||
| 23 (Switchable) |
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 | Long grabber piston | Difference between cone intake and cube intake | |||
| 1 | ||||||||
| 2 | Grabber | Double | Short grabber piston | Difference between cone intake and cone transport | ||||
| 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 | ||
| 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 |