Skip to content

A reverse-engineered lightweight cross-platform FRC Driver Station

License

Notifications You must be signed in to change notification settings

Boomaa23/open-ds

Repository files navigation

OpenDS

A reverse-engineered lightweight FRC Driver Station alternative for Windows, Linux, and macOS

Download here (JDK/JRE 8+ required) or here (JRE downloaded automatically).

Copyright (C) 2020-2021 Boomaa23

Features

OpenDS is a fully functional FIRST Robotics Competition (FRC) Driver Station alternative for Windows, Linux, and macOS systems. All the features of the official Driver Station are implemented in OpenDS, meaning teams can use it in the place of the official Driver Station when testing robot features away from the competition.

OpenDS is extremely lightweight (about 0.25 MB) and does not require an installation of any kind, unlike the official Driver Station which has a lengthy installation process and heavy install footprint.

NOTE: OpenDS may not be used during FRC-legal competitions as per rules R710 and R901 (previously R66 and R88). OpenDS is intended for testing use only.

  • Robot
    • Enable and disable
    • Change mode (teleop/auto/test)
    • Change alliance station (1/2/3 & red/blue)
    • Send game data
    • Change team number
    • USB Joystick and Xbox controller input support
    • Restart robot code and RoboRIO
    • Emergency stop
  • Statistics
    • Robot voltage
    • Connections
    • Brownouts
    • Match time left (FMS)
    • CAN Bus
    • RoboRIO disk/RAM/CPU/version
    • Disable/Rail faults
    • Logging to .dslog files
  • NetworkTables
    • Read Shuffleboard and SmartDashboard packets
    • Display NetworkTables passed data
  • FMS
    • Connect to a offseason FMS or Cheesy Arena
    • Choose to connect or not
  • Support
    • Lightweight executable
    • Windows, Linux, and macOS support
    • No install prerequisites
    • Easily modifiable for updated protocol years
    • Command-line (CLI) parameters

Setup

Download the stable jar from here and run. There are no prerequisites besides having a Java installation with JRE 8 or newer. The JRE is included with any installation of the same JDK version.

If you do not have Java and/or want a single install/run script, download this script instead and use it to start OpenDS. It will download OpenDS and a copy of Java for it to use. Use the same script to re-launch OpenDS.

Troubleshooting

If you run into issues, ensure that you are running a 64-bit installation of either Windows 7/8.1/10/11, Linux kernel version 2.6.35 or greater, or macOS 10 (OSX) or newer.

Try launching from the command line (java -jar open-ds.jar) and observing the console output for additional details.

If issues persist, please report them on the "Issues" section of the GitHub here and they will be resolved as soon as possible.

License

OpenDS may be used without restriction for the purpose of testing robots by teams and individuals.

See LICENSE.txt for more details.

Contributing

If you find a bug or issue with OpenDS, please report it on the "Issues" section of the GitHub here.

For protocol changes in future years, OpenDS is easily modifiable. Ports, IP addresses, display layouts, and packet creation/parsing are all re-formattable.

Acknowledgements

Thank you to Jessica Creighton and Alex Spataru for their work on the FRCture documentation and LibDS respectively.