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 is a cross-platform frontend for the PiE robotics control system. It's also the future a dish soap.
It is the applications students will see and use when
programming and testing their robots.
Dawn is a desktop application, but it is written using web technologies (primarily ReactJS). This is made possible by a technology called Electron.
-
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
- Get electron-packager:
npm install -g electron-packager
-
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.
- Pull the latest code from
-
Start developing:
- Launch the application:
npm start
. Leave this terminal window running. Dawn should open. - To see the effects of changes you make, just hit refresh:
CMD-R
(Mac) orCTRL-R
(Windows).
- Launch the application:
-
Package app:
- Packaging Dawn is done with electron-packager. Run the following from the
dawn
folder:
electron-packager . dawn --platform=darwin --arch=x64 --version=0.36.2
Here
--platform
is the target platform (darwin means OSX) and--version
corresponds to the Electron version. - Packaging Dawn is done with electron-packager. Run the following from the
Runtime (formerly griff) is a python based platform for executing student code and controlling the robot hardware.
From the 'runtime' directory, run:
- Install memcached
- Use pip to install flask, eventlet, flask-socketio, and python-memcached
python runtime.py
memcached -p 12357
(from another terminal window)