mirror of
https://github.com/jwetzell/ddp-js.git
synced 2026-07-26 09:58:41 +00:00
add example for receiving wled virtual
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
// 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}`);
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user