Robot Code | Dashboard | Vision
1418's 2019 driving dashboard, built off of the FRC Dashboard web driving dashboard framework.
NOTE: This repository was originally cloned from 1418's 2017 dashboard. As such, it continues to use pynetworktables2js
rather than FRCDashboard's new Node-based server.
pynetworktables2js
pip3 install pynetworktables2js
If you don't have administrator privileges, put --user
at the end of that command.)
If you're going to be using the preferred method of using the dashboard (as an application through Electron), you'll also need:
nodejs
& npm
cd
into dashboard directory and run npm install
)ui.js
, there's a large switch
statement in the onValueChanged()
function which controls the updating of control elements in the dashboard. Example NetworkTables key names are used, but you'll need to change them to match those used in your team's robot code for them to affect anything on your robot.In order to run the camera, you must start an mjpg-streamer
server on the RoboRIO. To install mjpg-streamer
:
Download this installer script from GitHub. This script is for downloading and installing packages to the RoboRIO.
While in the directory where you downloaded the installer script, run:
Windows:
py -3 installer.py download-opkg mjpg-streamer
py -3 installer.py install-opkg mjpg-streamer
Mac/Linux (using bash):
python3 installer.py download-opkg mjpg-streamer
python3 installer.py install-opkg mjpg-streamer
Update style.css
to use the IP of your live camera feed. Usually this is something like roborio-XXXX-frc.local:5800/?action=stream
, where XXXX
is your team's number.
The preferred method of using the dashboard is to run it using the Electron framework. Your dashboard will be its own application, and will be easy to manipulate.
If you need to interact through the robotpy simulator or similar, run the following command. If not, skip on.
python3 -m pynetworktables2js --robot 127.0.0.1
While in the dashboard directory, run:
npm start
This will start a Python server and open the dashboard application. Note that you don't have to close and reopen the application every time you make a change, you can just press Ctrl+R
(Cmd+R
on Mac) to refresh the application.
The less desirable, but perfectly functional method of viewing your dashboard is to use it like a webpage. This method will work even if you don't have the privileges to install node.js
and npm
. The standard toolbars from your browser will still be shown and will take up space on the screen, and the experience will be a bit less fluid, but it will work.
Start the Python server independently:
Windows:
py -3 -m pynetworktables2js
Mac/Linux (using bash):
python3 -m pynetworktables2js
To view the dashboard, use your browser to navigate to http://localhost:8888
.
It is recommended that while using the dashboard on your driver station, you close the top panel of the FRC DriverStation to make room for the dashboard.
In-season, use of this software is restricted by the FRC rules. After the season ends, the MIT License applies instead.