A bare minimum example to develop a cncjs pendant.
npm install
Run bin/cncjs-pendant-boilerplate
to start the interactive client. Pass --help to cncjs-pendant-boilerplate
for more options.
bin/cncjs-pendant-boilerplate --help
A bare minimum example to develop a cncjs pendant.
License: MIT License
I downloaded and unzipped the files, then started CNCjs on Mac from command line. I'm using the Desktop App, which appears to randomize the port. The boilerplate will not connect. I ran the code with Debug on Visual Studio Code and the io.connect call returns a socket with state "connected" = false and "disconnected" = true. I also installed cncjs-shopfloor-tablet-master just to makes sure that something will connect to the App. Shopfloor-table works. Is there anything in the .cncrc file I'm supposed to include for the pendant or anything I need to do to get the code to connect?
I am installing it on Raspberry Pi 4 but no success due to old and unmanaged dependencies, this happens with keyboard pendant too as it is based on this pendant. Kindly update or guide for a workaround.
It would be good to have a pendant example that correctly reinitialized itself after a serialport:close
socket event, coming from the close connection button in the UI.
I'm making use of smooth jogging and, after the connection is closed, have not been able to reinitialize the connection in the pendant in such a way that I'm able to receive serialport:read
afterward. Instead I'm just doing a process.exit()
and letting pm2 reinitialize it.
So, I was working on the cncjs-pendant-keyboard and I couldn't make it connect to cncjs (hadn't made any changes yet - or at least I thought so). To make sure, I tried out cncjs-pendant-boilerplate. This couldn't connect either.
So after some quality time with Wireshark, I noticed the pendants trying to connect to ::1 while cncjs was being hosted on 127.0.0.1.
I worked around this by disabling IPv6 completely on my system. I couldn't immediately find out how to force the pendant to connect to IPv4 address only.
Setup:
Raspberry Pi4
Debian GNU/Linux 11 (bullseye)
aarch64
Is there any reason the pendant mandates the serial port CNCjs connects to, instead of using whatever port is connected already?
Getting error when running from sudo and manually setting secret.
root@cncjs-pi:~# node /home/pi/cncjs-pendant-boilerplate-master/bin/cncjs-pendant-boilerplate -s 'HSujksldfxxxxxxxSKJDF' --port /dev/ttyUSB0
throw typeError(MSG_INVALID_SECRET);
TypeError: secret must be a string or buffer
at typeError (/home/pi/cncjs-pendant-boilerplate-master/node_modules/jwa/index.js:16:10)
at Object.sign (/home/pi/cncjs-pendant-boilerplate-master/node_modules/jwa/index.js:32:13)
at Object.jwsSign [as sign] (/home/pi/cncjs-pendant-boilerplate-master/node_modules/jws/lib/sign-stream.js:23:24)
at Object.module.exports [as sign] (/home/pi/cncjs-pendant-boilerplate-master/node_modules/jsonwebtoken/sign.js:154:16)
at generateAccessToken (/home/pi/cncjs-pendant-boilerplate-master/index.js:10:23)
at module.exports (/home/pi/cncjs-pendant-boilerplate-master/index.js:42:19)
at createServer (/home/pi/cncjs-pendant-boilerplate-master/bin/cncjs-pendant-boilerplate:62:5)
at Object. (/home/pi/cncjs-pendant-boilerplate-master/bin/cncjs-pendant-boilerplate:156:5)
at Module._compile (module.js:573:30)
at Object.Module._extensions..js (module.js:584:10)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.