2020:Robot IO Map: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
Line 1,008: Line 1,008:
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div>
<div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div>


<div class="mw-parser-output">
= Operator Controls =
= Operator Controls =
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
=== Controller 1 - Primary Driver ===
=== Controller 1 - Primary Driver ===


{| border="1" cellpadding="2" cellspacing="1" style="width: 908px"
{| style="width: 908px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| style="width: 92px" | '''&nbsp;Button/Axis #'''
| style="width: 92px" | '''&nbsp;Button/Axis #'''
Line 1,019: Line 1,020:
| '''Details'''
| '''Details'''
|-
|-
| 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
| Forward/backward drive
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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
| &nbsp;
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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
| &nbsp;
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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
| Left/right steering/pivot
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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 on right side
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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 on left side
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | A-3
| style="width: 92px; text-align: center" | A-3
| style="width: 414px" | Right Trigger
| style="width: 414px" | Right Trigger
| Fast on right side (binary)
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| 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
| Fast on left (binary)
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-1
| style="width: 92px; text-align: center" | B-1
| style="width: 414px" | A Button
| style="width: 414px" | A Button
| Swap Drive
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-3
| style="width: 92px; text-align: center" | B-3
| style="width: 414px" | X Button
| style="width: 414px" | X Button
| Switch camera view
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-4
| style="width: 92px; text-align: center" | B-4
| style="width: 414px" | Y Button
| style="width: 414px" | Y Button
| Calibrate Gyro
| &nbsp;
| &nbsp;
| &nbsp;
|-
|-
| style="width: 92px; text-align: center" | B-2
| style="width: 92px; text-align: center" | B-2
| style="width: 414px" | B Button
| style="width: 414px" | B Button
| Slow Mode Toggle
| &nbsp;
| &nbsp;
| &nbsp;
|}
|}
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
=== Controller 2 - Aux Driver ===
=== Controller 2 - Aux Driver ===


Line 1,097: Line 1,091:
|-
|-
| style="text-align: center;  width: 91px" | A-1
| style="text-align: center;  width: 91px" | A-1
| style="width: 286px" | Elevator Manual Control
| style="width: 286px" | &nbsp;
| style="width: 343px" |  
| style="width: 343px" | &nbsp;
If in hab mode:
| &nbsp;
 
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
|-
|-
| style="width: 91px;  text-align: center" | B-1
| style="width: 91px;  text-align: center" | B-1
| style="width: 286px" | Elevator High Rocket position
| style="width: 286px" | &nbsp;
| style="width: 343px" | Move elevator to high rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-2
| style="width: 91px;  text-align: center" | B-2
| style="width: 286px" | Elevator Middle Rocket position
| style="width: 286px" | &nbsp;
| style="width: 343px" | Move elevator to middle rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-3
| style="width: 91px;  text-align: center" | B-3
| style="width: 286px" | Elevator Low Rocket position
| style="width: 286px" | &nbsp;
| style="width: 343px" | Move elevator to low rocket height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-4
| style="width: 91px;  text-align: center" | B-4
| style="width: 286px" | Elevator Pivot Toggle
| style="width: 286px" | &nbsp;
| style="width: 343px" | 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.
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-5
| style="width: 91px;  text-align: center" | B-5
| style="width: 286px" | Elevator Loading Station and/or Cargo ship position
| style="width: 286px" | &nbsp;
| style="width: 343px" | Move elevator to loading station/cargo ship height.&nbsp; Height adjusts depending on the cargo or hatch mode
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-6
| style="width: 91px;  text-align: center" | B-6
| style="width: 286px" | Elevator Ground&nbsp; Position
| style="width: 286px" | &nbsp;
| style="width: 343px" | Move elevator to ground pick up position. Only works in cargo mode.&nbsp;
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-7
| style="width: 91px;  text-align: center" | B-7
| style="width: 286px" | Intake
| style="width: 286px" | &nbsp;
| style="width: 343px" | Intake game piece.&nbsp;Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo
| style="width: 343px" | &nbsp;
| Press / press & hold
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-8
| style="width: 91px;  text-align: center" | B-8
| style="width: 286px" | Outtake
| style="width: 286px" | &nbsp;
| style="width: 343px" | Ejects game piece. Hatch or cargo depending on which mode it's in. Hold for continued operation of cargo
| style="width: 343px" | &nbsp;
| Press / press & hold
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-9
| style="width: 91px;  text-align: center" | B-9
| style="width: 286px" | Hab Manual climb - step 2
| style="width: 286px" | &nbsp;
| style="width: 343px" | On the first press extend back cylinder, when pressed after that retract back cylinders
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-10
| style="width: 91px;  text-align: center" | B-10
| style="width: 286px" | Hab Manual climb - step 1
| style="width: 286px" | &nbsp;
| style="width: 343px" | Extends the front 2 cylinders
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-11
| style="width: 91px;  text-align: center" | B-11
| style="width: 286px" | Hab Manual climb - step 3
| style="width: 286px" | &nbsp;
| style="width: 343px" | Retracts the rear cylinders to complete the climb
| style="width: 343px" | &nbsp;
| Press only
| &nbsp;
|-
|-
| style="width: 91px;  text-align: center" | B-12
| style="width: 91px;  text-align: center" | B-12
| style="width: 286px" | Hab auto climb
| style="width: 286px" | &nbsp;
| style="width: 343px" |  
| style="width: 343px" | &nbsp;
Begin and continue automatic Hab climbing. Let go to stop. Press again to continue where you left off.
| &nbsp;
 
Does nothing if elevator is not pivoted down.
 
| Press and Hold
|}
|}


Line 1,188: Line 1,166:
|-
|-
| style="width: 92px;  text-align: center" | B-1
| style="width: 92px;  text-align: center" | B-1
| style="width: 112px" | Game piece mode - Cargo
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;Change game piece system to cargo mode
| style="width: 521px" | &nbsp;
| style="width: 158px" | Press only
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-2
| style="width: 92px;  text-align: center" | B-2
| style="width: 112px" | Game piece mode - Hatch
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;Change game piece system to hatch mode
| style="width: 521px" | &nbsp;
| style="width: 158px" | Press only
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-3
| style="width: 92px;  text-align: center" | B-3
| style="width: 112px" | HAB Sensor Broken
| style="width: 112px" | &nbsp;
| style="width: 521px" | Makes HAB ignore sensor input
| style="width: 521px" | &nbsp;
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-4
| style="width: 92px;  text-align: center" | B-4
| style="width: 112px" | Elevator encoder broken
| style="width: 112px" | &nbsp;
| style="width: 521px" | Makes elevator ignore encoder input
| style="width: 521px" | &nbsp;
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-5
| style="width: 92px;  text-align: center" | B-5
| style="width: 112px" | Hatch Sensor Broken
| style="width: 112px" | &nbsp;
| style="width: 521px" | Makes hatch ignore sensor input
| style="width: 521px" | &nbsp;
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-6
| style="width: 92px;  text-align: center" | B-6
| style="width: 112px" | HAB enable
| style="width: 112px" | &nbsp;
| style="width: 521px" |  
| style="width: 521px" | &nbsp;
Only enable HAB when pressed to avoid preemptively deploying
| style="width: 158px" | &nbsp;
 
| style="width: 158px" | Toggle
|-
|-
| style="width: 92px;  text-align: center" | B-7
| style="width: 92px;  text-align: center" | B-7
| style="width: 112px" | Elevator Carriage Broken
| style="width: 112px" | &nbsp;
| style="width: 521px" | 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
| style="width: 521px" | &nbsp;
| style="width: 158px" | Toggle
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-8
| style="width: 92px;  text-align: center" | B-8
| style="width: 112px" | Broken Switch 6
| style="width: 112px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 521px" | &nbsp;
| style="width: 158px" | Press only
| style="width: 158px" | &nbsp;
|-
|-
| style="width: 92px;  text-align: center" | B-9
| style="width: 92px;  text-align: center" | B-9
Line 1,249: Line 1,225:
| style="width: 158px" | &nbsp;
| style="width: 158px" | &nbsp;
|}
|}
</div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div></div> <div class="mw-parser-output">&nbsp;</div> </div></div></div></div> <div class="mw-parser-output">&nbsp;</div> </div>
</div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> <div class="mw-parser-output">&nbsp;</div> </div>  
 
=== Dashboard ===
=== Dashboard ===


{| border="1" cellpadding="2" cellspacing="1" style="width: 0px"
{| style="width: 0px" cellspacing="1" cellpadding="2" border="1"
|-
|-
| '''Key'''
| '''Key'''
Line 1,260: Line 1,235:
| style="width: 600px" | '''Description'''
| style="width: 600px" | '''Description'''
|-
|-
| thunderdashboard_elevator
| &nbsp;
| number
| &nbsp;
| 0-100
| &nbsp;
| elevator's height location/position
| &nbsp;
|-
|-
| thunderdashboard_elevator_target
| &nbsp;
| number
| &nbsp;
| 0-100
| &nbsp;
| the elevator location it is trying to reach
| &nbsp;
|-
|-
| elevator_target_position
| &nbsp;
| string
| &nbsp;
| &nbsp;e.g. Hatch 1, Cargo 2, Loading Station
| &nbsp;
| the 'name' of the location the elevator is trying to reach
| &nbsp;
|-
|-
| gamepiece_mode
| &nbsp;
| string
| &nbsp;
|  
| &nbsp;
hatch
| &nbsp;
 
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
| &nbsp;
| string
| &nbsp;
|  
| &nbsp;
hatch
| &nbsp;
 
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
| thunderdashboard_green
Line 1,308: Line 1,269:
| Background of dashboard goes green.
| Background of dashboard goes green.
|-
|-
| robot_airpressure
| &nbsp;
| number
| &nbsp;
| 0 - 125
| &nbsp;
| 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.&nbsp;
| &nbsp;
|-
|-
| thunderdashboard_airpressure_lower
| &nbsp;
| number
| &nbsp;
|  
| &nbsp;
something 0-125
| &nbsp;
 
| threshold between red and yellow
|-
|-
| thunderdashboard_airpressure_upper
| &nbsp;
| number
| &nbsp;
| something 0-125
| &nbsp;
| threshold between yellow and green
| &nbsp;
|-
|-
| robot_match_time_remaining
| &nbsp;
| number
| &nbsp;
| 0-135
| &nbsp;
| number of seconds left in the current match period&nbsp;
| &nbsp;
|-
|-
| pi_connected
| &nbsp;
| number
| &nbsp;
|  
| &nbsp;
0 - NOT connected
| &nbsp;
 
1 - connected
 
|  
Raspberry Pi connection status
 
Only will update with a clean shutdown - will not get unset with a sudden power loss
 
|-
|-
| thunderdashboard_max
| thunderdashboard_max
Line 1,352: Line 1,303:
| fills screen or not
| fills screen or not
|-
|-
| thunderdashboard_match_period_length
| &nbsp;
| number
| &nbsp;
| 0-135
| &nbsp;
| number of total seconds in the current match period
| &nbsp;
|}
|}
 
</div> </div> </div>
</div> </div> </div> </div> </div> </div> </div></div> </div> </div> </div>
</div>


= IO Maps for Old Robots =
= IO Maps for Old Robots =

Revision as of 11:10, 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
               
               
               
               
               
               
               

 

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

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

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-1      
B-1      
B-2      
B-3      
B-4      
B-5      
B-6      
B-7      
B-8      
B-9      
B-10      
B-11      
B-12      

Controller 2 - Aux Driver (Continued) 

 Button/Axis #  Action/Button  Description Details
B-1      
B-2      
B-3      
B-4      
B-5      
B-6      
B-7      
B-8      
B-9      
B-10      
B-11      
B-12      
 
 
 

Dashboard

Key Data Type Value Description
       
       
       
       
       
thunderdashboard_green number

0 - do NOT have a game piece

1 - have a game piece

Background of dashboard goes green.
       
       
       
       
       
thunderdashboard_max number

0 = show normal

1 = fill screen

fills screen or not
       

IO Maps for Old Robots