Stairs/web/app.js

50 lines
1.2 KiB
JavaScript

var protocol = require('./protocol');
var dgram = require('dgram');
var on = 0;
var speed = 256;
function lsb(value) { return value & 0xFF; }
function msb(value) { return (value >> 8) & 0xFF; }
/*
Alternating
var message = new Buffer([protocol.Command.SetMode, protocol.Mode.Alternate, lsb(500), msb(500), lsb(128), msb(128)]);
client.send(message, 0, message.length, 3126, '10.138.2.12', function(err, bytes) {
if (err) throw err;
console.log('UDP message sent');
});
*/
var client = dgram.createSocket('udp4');
client.on('listening', function()
{
var address = client.address();
console.log('UDP client listening on ' + address.address + ":" + address.port);
});
client.on('message', function (message, remote)
{
console.log('< ' + remote.address + ':' + remote.port +' - ' + message.toString('hex'));
});
setInterval(function()
{
// 0x00, 0x10 = 4096
on += speed;
if (on <= 0 || on >= 4096)
speed = -speed;
var message = new Buffer([protocol.Command.SetMode, protocol.Mode.Static, lsb(on), msb(on)]);
client.send(message, 0, message.length, 3126, '10.138.2.12', function(err, bytes) {
if (err) throw err;
console.log('> ' + '10.138.2.12' + ':' + '3126' + ' - ' + message.toString('hex'));
});
}, 200);