-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfade.js
More file actions
74 lines (57 loc) · 1.57 KB
/
fade.js
File metadata and controls
74 lines (57 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Generated by CoffeeScript 1.4.0
var LED_OFF, LED_ON, SIO, TTY, color, counter, fs, io, leds, serial, serialize, update, ___;
TTY = process.argv[2] || '/dev/ttyACM0';
SIO = (parseInt(process.argv[3])) || 4568;
LED_OFF = '255 255 255 255 255 255\n';
LED_ON = '0 0 0 0 0 0\n';
___ = function(x) {
return console.log(x);
};
color = (require('onecolor'))('hsv(0,100%,100%)');
fs = require('fs');
counter = 0;
leds = [0, 0];
serial = fs.openSync(TTY, 'w');
___("opened " + TTY + " " + serial);
setTimeout((function() {
var w;
w = fs.writeSync(serial, LED_OFF);
___("off " + w);
return setTimeout((function() {
w = fs.writeSync(serial, LED_ON);
return ___("on " + w);
}), 1000);
}), 500);
serialize = function(hue) {
var b, chan, g, r, _ref;
_ref = (color.hue(hue)).rgb(), r = _ref._red, g = _ref._green, b = _ref._blue;
return ((function() {
var _i, _len, _ref1, _results;
_ref1 = [r, g, b];
_results = [];
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
chan = _ref1[_i];
_results.push('' + (255 - Math.floor(chan * 255)));
}
return _results;
})()).join(' ');
};
update = function(side, d) {
var s, w;
leds[side] = d;
s = "" + (serialize(leds[0])) + " " + (serialize(leds[1])) + "\n";
w = fs.writeSync(serial, s);
return ___("written " + w);
};
io = (require('socket.io')).listen(SIO, {
'log level': 1
});
io.sockets.on('connection', function(s) {
s.on('left', function(d) {
return update(0, d);
});
return s.on('right', function(d) {
return update(1, d);
});
});
___("opened socket.io " + SIO);