An Open Source FRC Driver Station.
v0.4.4
Packages
Packages are avalible here: http://gustavemichel.com/OSCPDSPackages/.
- Windows
- Mac
- Linux32 (NLinux32 Contains Missing libudev.so.0 Fix)
- Linux64 (NLinux64 Contains Missing libudev.so.0 Fix)
- .NW Package (All Platforms, Requires you install Node-Webkit 0.8.6)
Compiling from source can be found in the node-webkit documentation. You still have to run npm install in the cloned git repository before packaging. Otherwise, DriverStation.js will be unresponsive because of JavaScript crashing from dependency errors.
$ npm install
After installing the required dependencies, additional actions will need to be taken to obtain a functional application.
Due to node-gamepad using native files and the use of node-webkit instead of node, the pre-installed native may not work, below is the process for compiling the native from the Application Directory.
$ npm install -g node-gyp nw-gyp node-pre-gyp # May require Sudo
$ cd node_modules/gamepad/
$ node-pre-gyp build --runtime=node-webkit --target=0.8.6
The Additional Platform Specific dependencies for compiling node natives can be found on the node-gyp github repo README.
If your system's Python 2.7 executable isn't just called python
you can use the --python=<executable name>
flag.
This process was rather difficult, taking nearly 2 weeks to resolve issues, below is a step by step of what I did to complete this task (in additon to the above general instructions).
Note: I started with a clean install of Windows 7 Home Premium 64-bit.
- Install Python 2.7.3
- Install Microsoft Visual Studio C++ 2010
- Install Windows 7 64-bit SDK
- Install compiler update for the Windows SDK 7.1
- Install Microsoft Visual Studio C++ 2012
- Run Windows Update until Service Pack I installs (Windows 7 Only)
- Install: Microsoft Visual Studio C++ 2013
- Compile Using the
--msvs_version=2013
flag. (the--target_arch=ia32
flag is also required if running a 64-bit version)
Run in the Application Directory.
$ ./node_modules/nodewebkit/nodewebkit/nw ./
Since node-webkit is installed in node_modules, the sed commq and can be used fairly easily to correct this issue. I assume you are starting at the Application Directory.
$ cd node_modules/nodewebkit/nodewebkit/
$ sed -i 's/udev\.so\.0/udev.so.1/g' nw
DriverStation.js is distributed under the MPL 2.0.
These changes are from Gustave Michel III.
- Support for Joysticks Added
- Keybinds for F1-Enable, Enter-Disable, and Spacebar-EStop
- Joystick Setup section to re-order Joysticks
- Joystick Identification LEDs. Light when any button is pressed.
- Currently Non-function Toggle for DriverStation Network Protocol
These changes are from FRC 2539, the Krypton Cougars. Many thanks to them!
- Add reboot cRIO button
- Robot Code detection and control to reset detection
- Working enable/disable of robot
- Display of voltage, userLcdData, and timer
- Gray out trigger when not connected to robot
- New about tab to credit contributors
- Debugging mode added to the about tab
- Link hooking to open hyperlinks in system browser
- Team Number input added to setup tab.
- HTML5 Web Storage now used to contain settings
- Initial Release