GithubHelp home page GithubHelp logo

driverstation.js's Introduction

DriverStation.js

An Open Source FRC Driver Station.

DriverStation.js DriverStation.js DriverStation.js

Downloads

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)

Compile from Source

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.

Compiling node-gamepad

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.

Linux

If your system's Python 2.7 executable isn't just called python you can use the --python=<executable name> flag.

Windows

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.

Running Unpackaged

Run in the Application Directory.

$ ./node_modules/nodewebkit/nodewebkit/nw ./

Repairing Missing libudev.so.0

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

License

DriverStation.js is distributed under the MPL 2.0.

Changelog

0.4

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

0.3

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

0.2

  • 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

0.1

  • Initial Release

driverstation.js's People

Contributors

gluxon avatar volb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

driverstation.js's Issues

Use with FMS

I was looking around for alternatives to the default Driver Station and found this! Do you know if this project works with the Field Management System and thus could be used at competition?

Determine when team number is entered

Currently, DriverStation.js will reconfigure the team number and change UDP routes when the user presses enter in the team number input field.

This may not be intuitive enough. AKA, pressing enter as a required step may not be obvious. Other options are..

  • Change team numbers instantly as the user is typing it in
  • Change team numbers after 3 seconds of no add/edit
  • Add a confirm button

I would like to have the first one, but it does cause the DriverStation to send UDP packets to a destination that will very obviously not work.

Include font in binary?

Hi, fellow FRCer (Team 1515) here with an interest in open source driver stations :P. At first glance I noticed something in the css directory.
Wouldn't it be easier to just add Open Sans into the CSS folder instead of downloading it from Google's URL, especially if the user has no internet connection? It isn't against Google's ToS (I had researched this for something else).

I could make a pull request for this, it's obviously trivial.

Automatically grab team numbers

I'm not sure whether or not the software should do this yet, but the possibility of grabbing roborio-####.local addresses from node-mdns is there.

Improve elapsed time formatting

Currently, the elapsed time formatting function goes through number, to string, to number, and to string conversions. There should be a better way to do this. It does work for now though, and at the speed needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.