@@ -17,8 +17,6 @@ It's in the early stages, so bear with us. Everything is going to be great.
To Run DMC, you'll need to install node.js, and then the packages serialport and ws (websocket).
### Install Node.js
Node.js is a runtime environment for javascript, so you can write and run js locally. [Download and install it here](https://nodejs.org/en/download/).
...
...
@@ -29,6 +27,14 @@ To check that node is installed, you can use
In Windows check that in *Environment Variables, System Variables, Path* there is a path for C:\Users\yourusername\npm folder. If the folder does not exist, create it and set the path.
### Packages
I've added a package.json file to the repo, which is [another cool node.js trick](https://docs.npmjs.com/files/package.json) - this means that to install everything, you should be able to (after downloading the repo and cd-ing into it) run:
```npm install```
This should install everything else. If this fails, you can install things one-by-one as listed below.
### Install Serialport
Node comes with a package controller called 'npm' - node package manager. You can use this to install dependencies for node programs.
...
...
@@ -85,18 +91,43 @@ In a browser open *localhost:8080* you will see the mods and this msg in the ter

- load a program
- drag around
- zoom in and out
- add a module
- hook events up
- rm events
- rm modules
- change settings
**Words of Warning**
This is very new software, so bear with me. It's worth having whomever on the team is in charge of controls read the section (below) on what-all is going on with the software, and understanding how to write new modules, and assemble programs.
#### Getting Around
To navigate, you can scroll in-and-out (try this once there is actually a program loaded) and drag to pan around.
#### Loading a Program
To load a program, hit 'l' on your keyboard. This will open a menu of all of the .json program representations in the /programs directory.
There is an example program there, that will do acceleration-controlled motion with gcode as input.
#### Loading a Module
To load a module, right-click anywhere on the screen.
#### Deleting a Module
To delete or copy a module, right-click on its title.
#### Connecting Outputs to Inputs
Once loaded, modules can be connected by first clicking on the *output* of one and the *input* of another. This will cause events on that output to call events associated with the input.
#### Disconnecting Outputs from Inputs
To disconnect, click the output to disconnect, and then the input to disconnect it from.
# Troubleshooting
Herein will contain a list of known problems / common errors and their fixes.