mirror of
https://github.com/jwetzell/ddp-js.git
synced 2026-07-26 09:58:41 +00:00
31 lines
754 B
JavaScript
31 lines
754 B
JavaScript
// Receive virtual leds over DDP from WLED
|
|
const ddp = require('@jwetzell/ddp');
|
|
|
|
const dgram = require('dgram');
|
|
|
|
const socket = dgram.createSocket('udp4');
|
|
socket.bind(4048, '0.0.0.0');
|
|
|
|
socket.on('message', (msg) => {
|
|
console.clear();
|
|
const leds = [];
|
|
|
|
const packet = ddp.decode(msg);
|
|
const ledCount = packet.header.dataLength / (packet.header.dataType.bitsPerPixel / 8) / 3;
|
|
|
|
for (let index = 0; index < ledCount; index += 1) {
|
|
const ledOffset = index * 3;
|
|
|
|
const led = {
|
|
r: packet.data[ledOffset + 0],
|
|
g: packet.data[ledOffset + 1],
|
|
b: packet.data[ledOffset + 2],
|
|
};
|
|
|
|
leds.push(led);
|
|
}
|
|
leds.forEach((led, index) => {
|
|
console.log(`led ${index + 1}:\tr=${led.r}\tg=${led.g}\tb=${led.b}`);
|
|
});
|
|
});
|