Todo
- bugs
- pan after window return
- processes
- three-axis finish cut
- FDM slicer
- editing
- subgraph copy paste
- nested module graphs
- ui
- collapse nodes
- refactor for skinning
- Cross-Origin Resource Sharing
- formats
- HPGL input
- SVG export
- DXF export
- ...
To install and run mods locally
You need to first install node.js.
Install the http-server npm package. Including '-g' sets the installs the package gloabally, allowing you to use it as a command line tool:
npm install http-server -g
Clone the mods repository:
git clone ssh://git@gitlab.cba.mit.edu:846/pub/mods.git
Use the command line to navigate to the root of the mods repository:
cd mods
Start up a server:
http-server
Open a browser tab and go to 127.0.0.1:8080
which is the same as http://localhost:8080
to view the server that you just started.
Depending on how to need to use mods you can start local servers located in mods/js
, for example, if you start from the root of the mods repository:
cd js
node printserver.js
Mods Connection Debugging
set correct serial port permission (do this each time you reboot the machine): chmod a+rwx /dev/ttyUSB0
start serialserver in the terminal so you can see the logs as it tries to connect. navigate to the mods/js folder in the terminal (probably use cd ~/mods/js
) and type: node serialserver.js ::ffff:127.0.0.1 1234
check serialserver is running with: ps aux | grep node
Common Issues
- Help! My SRM-20 won't work! You must use deviceserver.js rather than printserver.js to connect to the machine. Note: the start_mods_server script by default uses printserver.
-
Argg... why do I need to reset permissions on /dev/usb/lp0 every restart? You can use
sudo add_user username lp
andsudo add_user username lpadmin
to make persistent permissions. - Why is my web socket connection refused when the addresses are the same? This can happen due to a difference between IPV4 and IPV6 addresses. In your start mods server script, try changing 127.0.0.1 to ::ffff:127.0.0.1 and see if it helps.
- Why is my address in use? You must run stop_mods_server to free the address. The IPV4 vs. IPV6 issue can confuse the server, but you can always restart your machine to free all addresses.