Skip to content
Snippets Groups Projects
README.md 2.52 KiB
Newer Older
  • Learn to ignore specific revisions
  • Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    # Todo
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - bugs
       - pan after window return
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - processes
        - three-axis finish cut
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - FDM slicer
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - editing
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - subgraph copy paste
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - nested module graphs
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - ui
        - collapse nodes
        - refactor for skinning
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - Cross-Origin Resource Sharing
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - formats
        - HPGL input
        - SVG export
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - DXF export
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - ...
    
    # 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>
    
    Amanda Ghassaei's avatar
    Amanda Ghassaei committed
    # Mods Connection Debugging
    
    Amanda Ghassaei's avatar
    Amanda Ghassaei committed
    set correct serial port permission (do this each time you reboot the machine): <code>chmod a+rwx /dev/ttyUSB0</code>
    
    Amanda Ghassaei's avatar
    Amanda Ghassaei committed
    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>
    
    Amanda Ghassaei's avatar
    Amanda Ghassaei committed
    
    check serialserver is running with: <code>ps aux | grep node</code>
    
    Sam Calisch's avatar
    Sam Calisch committed
    # Common Issues
    
    
    Sam Calisch's avatar
    Sam Calisch committed
    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.
    
    Sam Calisch's avatar
    Sam Calisch committed
    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.
    
    Sam Calisch's avatar
    Sam Calisch committed
    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.