FRC Driver Station Software
This document details the operation of the FRC Driver Station software and explains the purpose and function of the controls and indicators it contains.
Setting Up the Driver Station
For information on installing the Driver Station software see this document. Typically the Driver Station will set the appropriate settings automatically, but if you do have to set the network settings manually, the DS should use the following settings:
- IP: 10.XX.YY.05 (wired interface) or 10.XX.YY.09 (wireless) where XXYY is your 4 digit FRC team number
- Subnet Mask: 255.0.0.0
The DS must be set to your team number in order to connect to your robot. In order to do this click the Setup tab then enter your team number in the team number box. Press return or click outside the box for the setting to take effect.
The Status Pane of the Driver Station is located on the left side of the display and is always visible regardless of the tab selected. It displays a selection of critical information about the state of the DS and robot:
- Team # - The Team number the DS is currently configured for. This should match your FRC team number, to change the number see the Setup Tab.
- Battery Voltage - If the DS is connected and communicating with a cRIO with a properly wired 9201 and Analog Breakout, this reports the current robot battery voltage
- Major Status Indicators - These three indicators display major status items for the DS. The "Communications" indicates whether the DS is currently communicating with the FRC Network Communications Task on the cRIO. The "Robot Code" indicator shows whether the team Robot Code is currently running (determined by whether or not the Driver Station Task in the robot code is updating the battery voltage), The "Joysticks" indicator shows if at least one joystick is plugged in and recognized by the DS.
- Status String - The Status String provides an overall status message indicating the state of the robot, some examples are "No Robot Communication", "No Robot Code", "Emergency Stopped", and "Teleoperated Enabled". If the DS is connected to a Field Management System (FMS) a light blue stripe will appear immediately below the Status String. This helps to verify field connection regardless of the selected tab.
The Operations Tab is used to control the mode of the robot and provide additional key status indicators while the robot is running.
- Robot Mode - This section controls the Robot Mode. Practice Mode causes the robot to cycle through the same transitions as an FRC match after the Enable button is pressed (timing for practice mode can be found on the setup tab).
- Enable/Disable - These controls enable and disable the robot. You can also use the F1 key to enable the robot and the Enter key to Disable the robot.
- Elapsed Time - Indicates the amount of time the robot has been in this mode
- Kinect Status - Indicates the Status of the Kinect device and number of detected skeletons
- PC Battery - Indicates current state of DS PC battery and whether the PC is plugged in
- Window Mode - When not on the Driver account on the Classmate allows the user to toggle between floating (arrow) and docked (rectangle)
- Team Station - When not connected to FMS, sets the team station to transmit to the robot.
- User Messages - Displays User Messages sent from the robot using the Driver Station LCD Classes/VIs
Note: When connected to the Field Management System the controls in sections 1, and 2 will be replaced by the words FMS Connected and the control in Section 7 will be greyed out.
The Diagnostics Tab contains additional status indicators that teams can use to diagnose issues with their robot:
- Joystick connection indicators - Green if the joystick is connected. New for 2014 - This now shows 6 joysticks. Only the first 4 are transmitted to the robot.
- I/O Connection - Indicates if the Cypess I/O board is connected.
- Kinect - Indicates if the Kinect is connected. Red if no Kinect Server is connected or if Kinect is plugged in, but not working. Grey if a Kinect Server is running but the Kinect is not connected. The arrow terminates and restarts the FRC Kinect Server if installed
- Connection Indicators - Indicate connection status to various components. "Enet Link" indicates the computer has something connected to the ethernet port. "DS Radio" is a legacy indicator used to indicate the ping status to an external radio on the DS side at 10.XX.YY.4. "Bridge" indicates the ping status to the robot wireless bridge at 10.XX.YY.1. "Robot" indicates the ping status to the cRIO at 10.XX.YY.2. "FMS" indicates if the DS is receiving packets from FMS (this is NOT a ping indicator).
- Messages - This box contains diagnostic warning/error message produced by the Driver Station. Teams will notice many more messages appearing here than in previous years. This is due to many additional warning messages added to the DS in order to help teams diagnose exactly what is going on if they have issues with their robot.
- Versions - This area contains information on the versions of the DS, cRIO (version and language), WPILib running on the cRIO (language and version) and the Kinect Server version/status if running.
- Clear Errors - This button clears the Messages box.
- Reboot cRIO - This button attempts to perform a remote reboot of the cRIO (after clicking through a confirmation dialog)
The Setup Tab contains a number of buttons teams can use to control the operation of the Driver Station:
- Team Number - Should contain your FRC Team Number. This controls the IP that the DS attempts to set your computer to as well as the IP it expects the robot to be at.
- Choose NIC button - Brings up the "Choose NIC" dialog which can be used to set which network interfaces the DS will attempt to automatically configure.
- Dashboard Location Controls - Chooses where to forward the Dashboard information, local dashboard is for a dashboard located on the same machine. Remote Dashboard is used to forward the dashboard information to another PC, clicking this option will create a box to enter the IP of the remote machine.
- Practice Mode Timing - These boxes control the timing of each portion of the practice mode sequence. When the robot is enabled in practice mode the DS automatically proceeds through the modes indicated from top left down to bottom left then up to top right and down. Note that these settings persist, even across updates of the DS, check to make sure these settings match the desired timing when using Practice Mode on the DS.
- Dashboard Type - Controls what Dashboard is launched by the Driver Station. Default launches the file pointed to by the "FRC DS Data Storage.ini" file, by default this is Dashboard.exe in the Program Files\FRC Dashboard folder. LabVIEW attempts to launch a dashboard at the default location for a custom built LabVIEW dashboard, but will fall back to the default if no dashboard is found. Java and C++ launch the SmartDashboard included with the language update for that language. To use the SmartDashboard with camera extension leave the option set to Default and see the SmartDashboard section of the documentation.
- Joystick Setup - All connected and recognized joysticks will be displayed in this box. Currently enabled joysticks will be displayed in green. Pressing any button on the joystick should turn the display teal and show asterisks next to the device name (***). Click and drag any device name to reorder to the devices, the order and numbering shown here will match the way the device should be accessed in the robot code. Disconnecting a joystick will disable the robot. If connected to FMS, the robot will not be disabled and the joystick will not be automatically detected if it is reconnected, press the F1 key to force a refresh. New for 2014 - This box now shows up to 6 joysticks to allow use of the full 4 devices when only using 1 part of a compound device such as the TI Launchpad. Only the first 4 devices are transmitted to the robot!!!
I/O Tab - Compatible Mode
The I/O Tab can be used with the Cypress FirstTouch I/O board, or if the Cypress board is not used, can be used as a virtual I/O Panel. If the Cypress board is connected and functioning the indicator on the I/O tab will be green. If the Cypress board is being used, the state of all objects on this panel will be controlled by the state of the board. If the Cypress board is not being used, the Digital and Analog Input controls can be used with the computer mouse. These controls will send data in the same way as the Cypress Board in Compatible mode and can be read on the robot.
Clicking the Configure button will bring up the Configuration dialog.
I/O Tab - Configuration Dialog
The Configure Digital I/O Dialog is used to configure the mode of the Cypress board (Compatible or Enhanced) and, if using Enhanced mode, to configure the function of each pin and the behavior of the quadrature encoder input and PWM output if used. Teams should take care to set the configuration of the Enhanced I/O in the robot code, or on the DS, but not both.
I/O Tab - Enhanced Mode
When in Enhanced Mode, the I/O tab shows additional indicators for the various Cypress Board functions. The DS I/O tab cannot be used as a virtual I/O panel in Enhanced Mode.
The Charts tab plots and displays advanced indicators of robot status to help teams diagnose robot issues:
- The top graph charts trip time in milliseconds in green (against the axis on the right) and lost packets per second in blue (against the axis on the left)
- The bottom graph plots battery voltage in yellow (against the axis on the left, note that this example is reporting a battery voltage of 0), cRIO CPU in red (note that in the Kickoff release the cRIO CPU is plotted against the Voltage scale resulting in the CPU frequently going off scale, for proper display view the log using the Driver Station Log File Viewer), DS Requested mode as a continuous line on the bottom of the chart and robot mode as a discontinuous line above it.
- This key shows the colors used for the DS Requested and Robot Reported modes in the bottom chart.
- Realtime RAM/Disk/CPU indicators - These indicators show the cRIO available RAM, largest free RAM block and free disk space and the PC CPU% in real time. Note that the RAM and Disk indicators retain their value when the robot is disconnected so if a disconnect occurs and the RAM indicator says 0 it is likely that the robot ran out of free memory.
- Chart scale - These controls change the time scale of the DS Charts
- This button controls whether the chart data is recorded to a log file. Note that this control will default to on each time the DS is started as the DS log is a very helpful tool to have to diagnose robot issues after the fact.
Driver Station Keys
The following keys can be used to control Driver Station operation:
- F1 - Enable the robot. If the robot is enabled, force a Joystick refresh.
- Enter - Disable the Robot
- Space - Emergency Stop the robot. After an emergency stop is triggered the cRIO will need to be rebooted before the robot can be enabled again.