2020:Robot IO Map: Difference between revisions
Programming (talk | contribs) No edit summary |
Programming (talk | contribs) No edit summary |
||
Line 599: | Line 599: | ||
<div class="mw-parser-output"> </div> </div> | <div class="mw-parser-output"> </div> </div> | ||
<div class="mw-parser-output"> | |||
=== <u>Rev Robotics More Board IO</u> === | === <u>Rev Robotics More Board IO</u> === | ||
Line 632: | Line 633: | ||
| style="width: 16px; text-align: center" | 2 | | style="width: 16px; text-align: center" | 2 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 3 | | style="width: 16px; text-align: center" | 3 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 4 | | style="width: 16px; text-align: center" | 4 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 5 | | style="width: 16px; text-align: center" | 5 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 6 | | style="width: 16px; text-align: center" | 6 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 7 | | style="width: 16px; text-align: center" | 7 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
| style="width: 16px; text-align: center" | 8 | | style="width: 16px; text-align: center" | 8 | ||
| style="width: 56px; text-align: center" | IN | | style="width: 56px; text-align: center" | IN | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 74px; text-align: center" | | | style="width: 74px; text-align: center" | | ||
| style="width: 56px; text-align: center" | | | style="width: 56px; text-align: center" | | ||
| style="width: 197px; text-align: center" | | | style="width: 197px; text-align: center" | | ||
| style="width: 254px; text-align: center" | | | style="width: 254px; text-align: center" | | ||
| style="width: 141px; text-align: center" | | | style="width: 141px; text-align: center" | | ||
|- | |- | ||
Line 776: | Line 757: | ||
| style="width: 141px" | | | style="width: 141px" | | ||
|} | |} | ||
</div> | </div> | ||
== I2C Registers == | == I2C Registers == |
Revision as of 11:05, 5 January 2020
Robot I/O
CAN ID Assignments
ID | Subsystem | Component Type |
Model # | Brake or Coast? | Description (brief) |
Operation |
Notes (8) max. 40A PDB # | |
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 |
|
|||||||
3 |
|
|||||||
4 | ||||||||
5 | ||||||||
6 | ||||||||
7 | ||||||||
8 |
|
|||||||
9 | ||||||||
10 | ||||||||
11 | ||||||||
12 | ||||||||
13 | ||||||||
14 | ||||||||
15 |
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 |
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 | ||||||
1 | IN | ||||||
2 | IN | ||||||
3 | IN | ||||||
4 | IN | ||||||
5 | IN | ||||||
6 | IN | ||||||
7 | IN | ||||||
8 | IN | ||||||
9 | 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 |
0x29 | Habitat | laser range finder | VL53L0X | detects when we are ready to retract the first set of cylinders |
If climbing to level 3, when distance changes from 21.162 to 2.162 the cylinders will retract . If climbing to level 2, when distance changes from 21.162 to 15.162 the cylinders will retract. |
PROBABLY NOT USING ANYMORE | |
0x2A | Habitat | laser range finder | VL53L0X | detects when we are ready to retract the second set of cylinders |
If climbing to level 3, when distance changes from 21.162 to 2.162 the cylinders will retract . If climbing to level 2, when distance changes from 21.162 to 15.162 the cylinders will retract. |
NOT USING ANYMORE BUT I DONT WANT TO DELETE THIS | |
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 |
SPI Devices
# | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
USB Host Ports
Address | Subsystem | Component Type |
Model # | Description (brief) | Operation | Notes |
0 | ||||||
1 |
Pneumatics Control Modules
ID | # | Subsystem | Solenoid is Double or Single? |
Solenoid Model # |
Description (brief) |
Operation | Circuit Pressure | PDB # |
1 | 0 | Hatch | Double | SY3240-6LZ | Hold hatch | Extends cylinder to raise hook | 50 | N/A (dedicated PCM terminal) |
1 | Allow hatch to release | Retract cylinder to lower hook | ||||||
2 | Cargo | Double | SY3240-6LZ | Enables cargo mechanism | Extends cargo cylinders (2) to extend cargo mechism to usable position | 50 | ||
3 | Store cargo, enable hatch | Retracts cargo cylinders (2) to store cargo mechanism out of way of hatch mechanism | ||||||
4 | Elevator | Double | SY3240-6LZ | Lowers elevator to inside robot frame | Extends cylinder to lower entire elevator | 50 | ||
5 | Raises elevator to usable position | Retracts cylinder to raise elevator to usable position for game piece | ||||||
6 | Elevator | Double | SY3240-6LZ | Engage brake | Extends cylinder to engage elevator brake | 50 | ||
7 | Release brake | Retracts cylinder to release elevator brake | ||||||
2 | 0 | Habitat | Double | SY3240-6LZ | Lift front of robot | Extends cylinders (2) to lift front end of robot | 50 | 8 |
1 | Lower front of robot | Retracts cylinders (2) to lower front end of robot | ||||||
2 | Habitat | Double | SY3240-6LZ | Lift rear of robot | Extends cylinders (2) to lift back end of robot | 50 | ||
3 | Lower rear of robot | Retracts cylinders (2) to lower back end of robot | ||||||
4 | Elevator |
Double-RB1 Single -RB2 |
SY3240-6LZ | Return paracord to its normal length | Extends cylinder to legthen rope | 50 | ||
5 | Shorten paracord to lift carriage more | Retract cylinder to lift carriage |
Operator Controls
Controller 1 - Primary Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Left Joystick Y | Forward/backward drive | |
A-1 | Left Joystick X | ||
A-4 | Right Joystick Y | ||
A-4 | Right Joystick X | Left/right steering/pivot | |
B-6 | Right Bumper | Slow on right side | |
B-5 | Left Bumper | Slow on left side | |
A-3 | Right Trigger | Fast on right side (binary) | |
A-2 | Left Trigger | Fast on left (binary) | |
B-1 | A Button | Swap Drive | |
B-3 | X Button | Switch camera view | |
B-4 | Y Button | Calibrate Gyro | |
B-2 | B Button | Slow Mode Toggle |
Controller 2 - Aux Driver
Button/Axis # | Action/Button | Description | Details |
A-1 | Elevator Manual Control |
If in hab mode: If elevator is pivoted down and we have begun a hab climb, moves the appropriate drive wheels the given speed instead of the elevator. If not in carirage mode: Moves the elevator up and down, overrides going to a position, if hit when going somewhere, stop going somewhere and do this instead. If in carriage mode: Moves just the elevator carriage using window motor, stops if it reaches either the lower flag or the elevator upper flag. |
Joystick; only up and down |
B-1 | Elevator High Rocket position | Move elevator to high rocket height. Height adjusts depending on the cargo or hatch mode | Press only |
B-2 | Elevator Middle Rocket position | Move elevator to middle rocket height. Height adjusts depending on the cargo or hatch mode | Press only |
B-3 | Elevator Low Rocket position | Move elevator to low rocket height. Height adjusts depending on the cargo or hatch mode | Press only |
B-4 | Elevator Pivot Toggle | Toggles the elevator pivot and carriage position on each press. Only goes to starting config if the elevator is at the bottom. Only pivots elevator forwards if the carriage is at the upper stop or at the bottom. | Press only |
B-5 | Elevator Loading Station and/or Cargo ship position | Move elevator to loading station/cargo ship height. Height adjusts depending on the cargo or hatch mode | Press only |
B-6 | Elevator Ground Position | Move elevator to ground pick up position. Only works in cargo mode. | Press only |
B-7 | Intake | Intake game piece. Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo | Press / press & hold |
B-8 | Outtake | Ejects game piece. Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo | Press / press & hold |
B-9 | Hab Manual climb - step 2 | On the first press extend back cylinder, when pressed after that retract back cylinders | Press only |
B-10 | Hab Manual climb - step 1 | Extends the front 2 cylinders | Press only |
B-11 | Hab Manual climb - step 3 | Retracts the rear cylinders to complete the climb | Press only |
B-12 | Hab auto climb |
Begin and continue automatic Hab climbing. Let go to stop. Press again to continue where you left off. Does nothing if elevator is not pivoted down. |
Press and Hold |
Controller 2 - Aux Driver (Continued)
Button/Axis # | Action/Button | Description | Details |
B-1 | Game piece mode - Cargo | Change game piece system to cargo mode | Press only |
B-2 | Game piece mode - Hatch | Change game piece system to hatch mode | Press only |
B-3 | HAB Sensor Broken | Makes HAB ignore sensor input | Toggle |
B-4 | Elevator encoder broken | Makes elevator ignore encoder input | Toggle |
B-5 | Hatch Sensor Broken | Makes hatch ignore sensor input | Toggle |
B-6 | HAB enable |
Only enable HAB when pressed to avoid preemptively deploying |
Toggle |
B-7 | Elevator Carriage Broken | Allows drivers to move carriage independently from the inner frame using window motor, switches the aux joystick input to control the snowblower motor instead of the elevator motors | Toggle |
B-8 | Broken Switch 6 | Press only | |
B-9 | |||
B-10 | |||
B-11 | |||
B-12 |
Dashboard
Key | Data Type | Value | Description |
thunderdashboard_elevator | number | 0-100 | elevator's height location/position |
thunderdashboard_elevator_target | number | 0-100 | the elevator location it is trying to reach |
elevator_target_position | string | e.g. Hatch 1, Cargo 2, Loading Station | the 'name' of the location the elevator is trying to reach |
gamepiece_mode | string |
hatch cargo |
The game piece "mode" the robot thinks it is in. This impacts the elevator positions. Color coded border or text color of gamepiece_target_mode based on if this is the same as or different than gamepiece_target_mode (aka if the robot has achieved the desired mode or not yet). Something like red for "not there yet" and green for "there". |
gamepiece_target_mode | string |
hatch cargo |
The game piece "mode" the robot wants to go to. Display using text. Also consider using an image of a hatch panel or cargo ball? |
thunderdashboard_green | number |
0 - do NOT have a game piece 1 - have a game piece |
Background of dashboard goes green. |
robot_airpressure | number | 0 - 125 | Indicates the PSI in the air system. Display in a slider or pressure gauge (this if possible). based on lower and upper, indicate range its in. |
thunderdashboard_airpressure_lower | number |
something 0-125 |
threshold between red and yellow |
thunderdashboard_airpressure_upper | number | something 0-125 | threshold between yellow and green |
robot_match_time_remaining | number | 0-135 | number of seconds left in the current match period |
pi_connected | number |
0 - NOT connected 1 - connected |
Raspberry Pi connection status Only will update with a clean shutdown - will not get unset with a sudden power loss |
thunderdashboard_max | number |
0 = show normal 1 = fill screen |
fills screen or not |
thunderdashboard_match_period_length | number | 0-135 | number of total seconds in the current match period |