Skip to content
Snippets Groups Projects
README.md 2.64 KiB
Newer Older
  • Learn to ignore specific revisions
  • Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    # Todo
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - view toolpath to library
    - ws support for Node.js < 4.5.0
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - frep
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - multiple events
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - transforms
        - variable expressions
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - render
            - CPU
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
                - zoom pan rotate
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
            - GPU
            - tree
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - slice zoom pan
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
        - color
        - CSG bounding boxes
    - save program read ui values
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - collapse nodes
    - program load clear, redirect
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - subgraph select drag cut copy paste
    - menus
        - folding
        - floating
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - three-axis rough and finish cuts
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - Cross-Origin Resource Sharing (CORS)
    - nested module graphs
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    - HPGL input
    - STL slicer
    - SVG 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
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    
    
    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>
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    
    
    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>
    
    Neil Gershenfeld's avatar
    Neil Gershenfeld committed
    
    
    Sam Calisch's avatar
    Sam Calisch committed
    # Common Issues
    
    
    Sam Calisch's avatar
    Sam Calisch committed
    1. **_Help! My SRM-20 will only run a single job and then go dead!_** Chances are you are using printserver.js instead of deviceserver.js to connect to the machine.  For now, we need to treat the SRM-20 as a device instead of a printer.
    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.