-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathswipeLED.js
executable file
·44 lines (39 loc) · 918 Bytes
/
swipeLED.js
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
#!/usr/bin/env node
////////////////////////////////////////
// swipeLED.js
// Blinks the USR LEDs in sequence.
// Wiring:
// Setup:
// See:
////////////////////////////////////////
var b = require('bonescript');
var leds = ['USR0', 'USR1', 'USR2', 'USR3'];
var i = 0;
var delay = 100;
console.log('Hit ^C to stop');
console.log("Toggling LEDs:");
for(var x in leds) {
b.pinMode(leds[x], b.OUTPUT);
process.stdout.write("0");
}
ledOn();
function ledOn() {
process.stdout.write("\x1b[" + (n(i)+1) + "G1");
b.digitalWrite(leds[n(i)], b.HIGH);
setTimeout(ledOff, delay);
}
function ledOff() {
process.stdout.write("\x1b[" + (n(i)+1) + "G0");
b.digitalWrite(leds[n(i)], b.LOW);
i++;
if(i >= 2*leds.length-2)
i = 0;
//i++; if(i > 3) i = 0;
ledOn();
}
function n(i) {
if(i >= leds.length)
return 2*leds.length-i-2;
else
return i;
}