Giter Club home page Giter Club logo

daemon's Introduction

Daemon

Daemon is a cross-platform frontend for a robotics control system. It's also the future.

Quickstart

  1. Ensure you have git, npm. Don't use brew to install npm; on OS X (and probably Linux) you can follow the first guide here.
  2. git clone [this repo]
  3. cd daemon
  4. npm install -g brunch bower
  5. npm install Install node dependencies.
  6. bower install Install frontend dependencies.
  7. npm run compiler This will run a watching compiler. You can run a one-time compiler by running brunch b instead.
  8. npm run app
  9. cd app/assets; npm install Install frontend node dependencies.
  10. If you want to work with anything that depends on the radio, you will need to compile your Serialport; see instructions below.

In-depth Development Setup

You need the following stuff installed on your machine:

  • Node.js & NPM (see the instructions for your operating system. Ensure that globally installed NPM modules are in your PATH!)
  • Git. Windows users: try Git Bash, there is a good usable CLI included which should work with the workflow out-of-the-box. Use Git Bash instead of CMD.exe.
  • Linux Users: You may have to do a weird patch.
  • Brunch and Bower via a global npm installation: npm install -g brunch bower. (You can also install these separately.) Once you've got those things installed, do
  • npm install in your directory to install dependencies
  • bower install in your directory to install frontend. There will sometimes be choices because some packages require different versions of other packages; it's usually ok to just pick the latest version of the package.
  • cd app/assets; npm install Install frontend node dependencies.
  • You should be done with everything except the radio. To compile Serialport to use the radio, see instructions below.

Developer Tools

  • npm run to see the various scripts you can run.
  • npm run compiler assembles your application into /_public and watches file changes.
  • npm run app starts your application locally.
  • npm run deploy builds your app for windows, osx and linux. the binaries are placed in /dist after building.
  • bower install <frontend-module> for any frontend-related stuff.
  • npm install my-module inside of app/assets to install node.js modules.

Compiling Serialport

Serialport is a Node.js package to interface with hardware serial ports, such as the ones we need to communicate over the radio. There are precompiled binaries online available for Node.js, but not for node-webkit. We have to compile our own.

  • First, cd into your app/assets folder. You should already have run npm install in this folder, but running it again won't hurt.
  • cd node_modules/serialport.
  • Now that we're in the Serialport folder, we need to build it. You should install node-pre-gyp and nw-gyp: npm install -g node-pre-gyp nw-gyp. You could also install them locally, but they need to be on your path.
  • Run node-pre-gyp build --runtime=node-webkit --target=0.10.0
  • You should get a bunch of green output. If you get an error, someone will have to help debug your system.

daemon's People

Contributors

awli avatar zentner-kyle avatar arjunmehta94 avatar dhe95 avatar matthew-zhao avatar szhu avatar n8nace avatar cduck avatar nikitakit avatar salonis avatar sutkarsh avatar

Watchers

James Cloos avatar  avatar

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.