-
Notifications
You must be signed in to change notification settings - Fork 0
/
initializeTessel.js
45 lines (39 loc) · 1.14 KB
/
initializeTessel.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
var tessel = require('tessel');
var script = '/device/tessel.js';
var myClient;
var opts = {
// Stop existing script, if any
stop: true,
// Serial number (`undefined` picks the first one)
serial: process.env.TESSEL_SERIAL,
};
// creating tessel instance
tessel.findTessel(opts, function(err, client) {
if (err) throw err;
client.run(__dirname + script, ['tessel', script], {
single: false,
}, function () {
client.stdout.resume();
client.stdout.pipe(process.stdout);
client.stderr.resume();
client.stderr.pipe(process.stderr);
console.info('Running script...');
myClient = client;
// Stop on Ctrl+C.
process.on('SIGINT', function() {
setTimeout(function () {
logs.info('Script aborted');
process.exit(131);
}, 200);
client.stop();
});
client.once('script-stop', function (code) {
client.close(function () {
process.exit(code);
});
});
});
});
module.exports.getTessel = function () {
return myClient;
};