Code Monkey home page Code Monkey logo

daemon's Introduction

Overview

NOTE: This readme is a brief overview. For more in-depth docs on any specific component, refer to the wiki.

This repo currently contains Dawn and Runtime in the dawn/ and runtime/ folders, respectively.

Dawn

Dawn is a cross-platform frontend for the PiE robotics control system. It is the applications students will see and use when programming and testing their robots.

Dawn is a desktop app, but it is written with web technologies and packaged via Electron.

Experimental builds:

These are experimental builds for internal PiE use, and contain the latest features. For the latest stable release, download from here.

Development Quickstart

  1. Install Required Software:
    • Get NodeJS or (if you already have it) make sure to update to v5.0.0 (download from the NodeJS website)
    • Get electron: npm install -g electron-prebuilt
  2. Get code and dependencies
    • Pull the latest code from pioneers/develop.
    • Enter the dawn directory: cd dawn.
    • Install dependencies with npm: npm install. Remember to do this step whenever the dependencies change.
  3. Start developing:
    • Start webpack in watch mode: npm run-script watch
      • Leave this terminal window running: webpack compiles your code, and automatically recompiles it when it detects changes.
      • Note: npm run-script build does a similar thing to npm run-script watch, but it does not watch for changes, and it builds for production, not development. Use watch for development and build when you are about to package an app for production.
    • Launch the application: npm start.
      • Leave this terminal window running also. Dawn should open.
    • When you make a change, the webpack watcher should automatically recompile your code. To see your changes, hit refresh: CMD-R (Mac) or CTRL-R (Windows).

Packaging Dawn

  1. Install electron-packager: npm install -g electron-packager

  2. Build for production: npm run-script build (as opposed to npm run-script watch during production).

  3. Package app:

    • Packaging Dawn is done via a release script. To build for all platforms, run the following from the dawn folder:
    node release.js
    

    You can build for a specific platform and arch by adding --platform=<PLATFORM> --arch=<ARCH>, where <PLATFORM> is one of {win32, darwin, linux} and <ARCH> is one of {ia32, x64}. To build without pruning (which removes your devDependencies) add --noprune.

Runtime

Runtime (formerly griff) is a python based platform for executing student code and controlling the robot hardware.

Quickstart

From the 'runtime' directory, run:

  1. Install memcached
  2. Use pip to install flask, eventlet, flask-socketio, and python-memcached
  3. python runtime.py
  4. memcached -p 12357 (from another terminal window)

daemon's People

Contributors

arjunmehta94 avatar awli avatar bodiddles avatar brandonxxlee avatar cduck avatar cookiestuf avatar danellenachum avatar dhe95 avatar fostertim avatar jerry-h-chen avatar jerryycheng avatar karthik-shanmugam avatar kevinmasd avatar ktomega avatar matthew-zhao avatar n8nace avatar nfong1996 avatar nikitakit avatar salonis avatar szhu avatar yidingjiang avatar zentner-kyle avatar

Watchers

 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.