Skip to content
Snippets Groups Projects
Commit 619170a7 authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

Merge branch 'master' into neil

parents d89e77d1 087fd4e3
No related branches found
No related tags found
No related merge requests found
# 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](https://docs.npmjs.com/getting-started/installing-node).
Install the [http-server](https://www.npmjs.com/package/http-server) npm package. Including '-g' sets the installs the package gloabally, allowing you to use it as a command line tool:
<code>npm install http-server -g</code>
Clone the mods repository:
<code>git clone ssh://git@gitlab.cba.mit.edu:846/pub/mods.git</code>
Use the command line to navigate to the root of the mods repository:
<code>cd mods</code>
Start up a server:
<code>http-server</code>
Open a browser tab and go to <code>127.0.0.1:8080</code> which is the same as <code>http://localhost:8080</code> to view the server that you just started.
Depending on how to need to use mods you can start local servers located in <code>mods/js</code>, for example, if you start from the root of the mods repository:
<code>cd js</code>
<code>node printserver.js</code>
# Mods Connection Debugging
set correct serial port permission (do this each time you reboot the machine): <code>chmod a+rwx /dev/ttyUSB0</code>
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 <code>cd ~/mods/js</code>) and type: <code>node serialserver.js ::ffff:127.0.0.1 1234</code>
check serialserver is running with: <code>ps aux | grep node</code>
# Common Issues
1. **_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.
2. **_Argg... why do I need to reset permissions on /dev/usb/lp0 every restart?_** You can use `sudo add_user username lp` and `sudo add_user username lpadmin` to make persistent permissions.
3. **_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.
4. **_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.
mods was originally written by Neil Gershenfeld (https://ng.cba.mit.edu/) for rapid-prototyping workflows in CBA research (http://cba.mit.edu) and classes (https://fab.cba.mit.edu/classes/MAS.863/), and for use in the fab lab network (https://fablabs.io/labs/map) and its classes(https://academany.org/).
It is now served (https://modsproject.org) and supported (https://gitlab.fabcloud.org/pub/project/mods) as a community project. https://mods.cba.mit.edu now redirects to here; original mods remains available at https://mods.cba.mit.edu/oldindex.html
<!DOCTYPE html>
<html>
<head><meta charset="utf-8">
<title>mods</title>
<head>
<meta http-equiv="refresh" content="0; url='https://modsproject.org'" />
</head>
<body link="black" alink="black" vlink="black">
<script src="js/mods.js"></script>
<body>
redirect to https://modsproject.org
</body>
</html>
<html>
<head><meta charset="utf-8">
<title>mods</title>
</head>
<body link="black" alink="black" vlink="black">
<script src="js/mods.js"></script>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment