-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsos.js
46 lines (38 loc) · 1019 Bytes
/
sos.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
45
46
'use strict';
var path = require('path');
var sosNative = require(path.join(__dirname, 'build/Release/sos.node'));
exports.connect = function(callback) {
return sosNative.findDevice(function(err, device) {
if (err) {
return callback(err);
}
device.readInfo(function(err, info) {
if (err) {
return callback(err);
}
device.readAllInfo = readAllInfo.bind(device);
return callback(null, device);
});
});
};
function readAllInfo(callback) {
var self = this;
self.readInfo(function(err, deviceInfo) {
if (err) {
return callback(err);
}
return self.readLedPatterns(function(err, ledPatterns) {
if (err) {
return callback(err);
}
deviceInfo.ledPatterns = ledPatterns;
return self.readAudioPatterns(function(err, audioPatterns) {
if (err) {
return callback(err);
}
deviceInfo.audioPatterns = audioPatterns;
return callback(null, deviceInfo);
});
})
});
}