margau / dmxnet Goto Github PK
View Code? Open in Web Editor NEWArtNet-DMX-sender and receiver for nodejs
License: MIT License
ArtNet-DMX-sender and receiver for nodejs
License: MIT License
Is there a way to catch the errors generated here?
The promise is not returned so the error gets thrown in a stack the client doesn't control.
Receive and Parse ArtPoll, send ArtPollReply
Something that got me very confused today. I noticed the dmxnet library is using 0-511 which maps to DMX Channel 1 - 512. So for instance the user or coder has to take the user channel 1 and then put that into channel 0 for it to control the correct fixture. Should this not be shifted within the library so that we are passing the correct channels down to the lowest level before transmission ?
I tried the rx example with node 12.16.1 - everything starts, but I'm not getting any data logs :(
Reset all channels
is there a way to stop a receiver? i see the sender a .close() but not the receiver?
I would like to rewrite the library using ES6-Classes for better readability in the next time.
See title. DMX has 512 channels. The following only receives 511 channels.
var receiver=dmxnet.newReceiver({ universe: 0 });
receiver.on('data', function(data) {
console.log(data.length); // -> 511
});
Actually the "verbose" has no effect, but it should…
Optionally act as Controller, send ArtPoll and parse ArtPollReplys to get a list of nodes
Hi,
The lib wont work on a DietPi linux distro when used in a deamon / service
The logger you use tries to write/open a file and does not have the permisisons to do that.
An uncaught error occurred: Error: ENOENT: no such file or directory, open '/logs/all.log
I do not want to give the service i create any writable access to the filesystem
If i remove the logger instance from the lib it works fine.
I see the lib is in development and it would be nice if you consider to allow disableing the logging to file.
Thanks & Have a nice day
Hi, I've just tried a simple test of the code but seem to get an error from the hibas dependency. Am I doing something wrong with initialising it or is there an issue upstream? I have tried some of the logging options mentioned elsewhere on here with no luck.
Code:
var dmxlib=require('dmxnet');
var dmxnet = new dmxlib.dmxnet({
verbose: 1, //Verbosity, default 0
oem: 0, //OEM Code from artisticlicense, default to dmxnet OEM.
sName: "Eminant DMX", // 17 char long node description, default to "dmxnet"
lName: "A really good DMX controller function", // 63 char long node description, default to "dmxnet - OpenSource ArtNet Transceiver"
log: {
files: false,
name: "dmxnet"
}});
var sender=dmxnet.newSender({
ip: "192.168.0.201", //IP to send to, default 255.255.255.255
subnet: 0, //Destination subnet, default 0
universe: 0, //Destination universe, default 0
net: 0, //Destination net, default 0
port: 6454, //Destination UDP Port, default 6454
base_refresh_interval: 1000 // Default interval for sending unchanged ArtDmx
});
sender.fillChannels(1,4,255);
sender.fillChannels(5,7,0);
Error:
C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\node_modules\@hibas123\utils\lib\observable.js:68
Array.from(this.subscriber.values()).forEach(e => {
^
TypeError: this.subscriber.values is not a function
at Observable.send (C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\node_modules\@hibas123\utils\lib\observable.js:68:36)
at LoggingBase.message (C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\node_modules\@hibas123\logging\out\base.js:257:32)
at LoggingBase.log (C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\node_modules\@hibas123\logging\out\base.js:96:18)
at new dmxnet (C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\node_modules\dmxnet\lib.js:45:9)
at Object.<anonymous> (C:\Users\emina\OneDrive\Escape Room\Subsystems\Host\node_server\dmx_test.js:3:14)
#1 must be fixed first
Adds "base_refresh_interval"-Option, see #11 - leaving it open because it needs some documentation.
Currently using MadMapper for testing and when i enable Unicast I stop getting Art-Net data. It sees dmxnet but no data is recieved. Thanks!
Implement IPv6 (v4 only, v6 only or dualstack)
This looks like a very interesting repo. do you plan to add RDM in the future? I am hoping to find an option to set DMX addresses and other parameters like PWM frequency, Gamma curves etc via RDM on all attached LED dimmer DMX devices.
I have an Enttec Storm8 artnet device https://www.enttec.com/product/uncategorized/storm-8-8-universe-ethernet-to-dmx-gateway/
and send DMX to these dimmers https://www.sunricher.com/din-rail-mounted-dmx512-decoder-sr-2103din.html#product_tabs_resources
Until now I always set their addresses by hand, but someone showed me how they were able to use a grandMA console https://www.malighting.com/grandma3/ to address all daisy chained dimmers in a sequential order. I assume that was done via RDM. So it should be possible to do without such cancellation console and just use code.
Thanks.
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.