Download the latest release and extract it, to ex: /home/my-name/cncjs-pendant-streamdeck
Rename config.example.json
to config.json
Update the config.json
file with your connection information in the cncjs
section.
Edit your ~/.cncrc
file, adding a mount point for this pendant
{
"mountPoints": [
{
"route": "grid",
"target": "/home/pi/cncjs-pendant-streamdeck"
}
]
}
Restart CNCjs
Follow Web steps above to generate create a configuration directory, config.json
file, and button images.
You can skip the .cncrc
step if you do not need the web interface.
Instructions borrowed from https://github.com/julusian/node-elgato-stream-deck
On linux, the udev subsystem blocks access to the Stream Deck without some special configuration.
Save the following to /etc/udev/rules.d/50-elgato.rules
and reload the rules with
sudo udevadm control --reload-rules
SUBSYSTEM=="input", GROUP="input", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0086", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0086", MODE:="666", GROUP="plugdev"
Unplug and replug the device after reloading rules if necessary.
Install dependencies for the canvas and Stream Deck libraries:
apt-get install libusb-1.0-0-dev libudev-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
Install optional node dependencies:
npm install -g canvas @julusian/jpeg-turbo
Install the pendant:
npm install -g cncjs-pendant-streamdeck
Run the pendant:
cncjs-pendant-streamdeck --directory /home/my-name/cncjs-pendant-streamdeck
See other help options, mostly for overriding the cncjs connection information:
cncjs-pendant-streamdeck --help
Windows is completely untested!
cncjs-pendant-streamdeck
uses the image processing library Sharp
, which is not
compatible with canvas
in Windows.
cncjs-pendant-streamdeck
supports pureimage
instead for this
reason.
pureimage
is both slower and does not look as nice, but it is functional.
You can install it with:
npm install -g pureimage @julusian/jpeg-turbo