A tiny driver to connect the AVL Jacq3 loom to AdaCAD. Reimplemented original Python version in Node.JS to use existing loom driver software.
- Clone repository.
- Obtain
firebase-config.js
file and place in/node
directory. - Open terminal and navigate to
/node
directory. - Run
npm install
. - If you don't already have AdaCAD installed, also install that.
- Switch your AdaCAD repository to the
comms
branch. - Compile and run AdaCAD with
ng serve
. - Open AdaCAD in your browser, open the side toolbar (">>" button) and navigate to the
Settings
tab. - Click "Connect to Loom" and note the loom ID number that generates.
- Actually physically connect the loom to your computer with the USB cable.
- Open another terminal in the
/node
directory. - Run
node main.js ####
, replacing####
with the ID number from Step 4.
There's a good chance that your computer will not recognize the loom over USB/serial because Windows 11 is too newfangled. Instead of a proper COM port, you'll see something like this in the Device Manager:
- Uninstall the highlighted device in Device Manager and unplug the loom.
- Download and install an older version of the serial driver. NOTE: besides the first link, I haven't downloaded and tested these links. Download and run executables responsibly.
- RECOMMENDED since it worked for me: v3.6.81 (09/04/2015) (source)
- alternate link of the same version (source)
- Alternative versions.
Unsure what issues might happen with macOS. LMK.
main.js
-- The main attraction.DBNode.js
-- Classes for holding onto nodes in a Firebase realtime database for real-time loom-AdaCAD connection.firebaseDBPipe.js
-- Creates all of the required DB nodes to maintain loom status.jacq3g.js
-- Handles sending/receiving data with the Jacq3 loom over USB/serial.PC_relay.js
-- [UNUSED] Copied over from the TC2 control, adds the possibility of custom hardware controls for the loom.
The comms
branch of AdaCAD differs from the public and beta versions mainly in these files:
- a new
Sendpick
service --src/app/core/provider/sendpick
- modified
Subdraft
component --src/app/mixer/palette/subdraft