Skip to content
Snippets Groups Projects
Select Git revision
  • neil
  • master default
  • hpgl
  • sw-shawn-liu
  • ppa
  • fran
  • trotec-port
  • fs-hotfix
  • jake
  • ml-mods
  • fabmo-app
11 results

mods

  • Clone with SSH
  • Clone with HTTPS
  • 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

    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.