-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLedPatternHx.hx
More file actions
79 lines (61 loc) · 2.05 KB
/
Copy pathLedPatternHx.hx
File metadata and controls
79 lines (61 loc) · 2.05 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
75
76
77
78
79
package examples;
import js.Node.console;
import js.Node.process;
import js.node.Buffer;
import haxe.Timer;
import BBCMicrobit;
class LedPatternHx {
var microbit:MicrobitObj;
public function new () {
var buffer = new Buffer(new Pattern().createLedMatrixBuffer(Pattern.HEART));
console.log('Scanning for microbit');
BBCMicrobit.discover(function(microbit) {
console.log('\tdiscovered microbit: id = %s, address = %s', microbit.id, microbit.address);
this.microbit = microbit;
microbit.on('disconnect', function() {
console.log('\tmicrobit disconnected!');
process.exit(0);
});
console.log('connecting to microbit');
microbit.connectAndSetUp(function() {
console.log('\tconnected to microbit');
microbit.readModelNumber(function(error, value){
trace('model number: ' + value);
});
microbit.readSerialNumber(function(error, value){
trace('serial number: ' + value);
});
microbit.readFirmwareRevision(function(error, value){
trace('firmware revision number: ' + value);
});
console.log('sending pattern: "%s"', buffer.toString('hex'));
microbit.writeLedMatrixState(buffer, function() {
console.log('\tpattern sent');
// console.log('disconnecting');
// microbit.disconnect();
});
// untyped setTimeout(setFullColor, 5000);
Timer.delay(setFullColor, 5000);
});
});
}
function setFullColor(){
console.log('writeLedMatrixState');
microbit.writeLedMatrixState(new Buffer('1f1f1f1f1f', 'hex'), function(){
microbit.readLedMatrixState(function(error, data) {
console.log('\t LED matrix state = %s', data.toString('hex'));
// untyped setTimeout(setNoColor, 5000);
Timer.delay(setNoColor, 5000);
});
});
}
function setNoColor(){
console.log('writeLedMatrixState');
microbit.writeLedMatrixState(new Buffer('0000000000', 'hex'), function(){
microbit.readLedMatrixState(function(error, data) {
console.log('\t LED matrix state = %s', data.toString('hex'));
// untyped setTimeout(setNoColor, 500);
});
});
}
}