UNPKG

1.63 kBJavaScriptView Raw
1var tessel = require('tessel');
2
3var portname1 = process.argv[2] || 'A';
4var infrared1 = require('../index').use(tessel.port[portname1]);
5
6var portname2 = process.argv[3] || 'B';
7var infrared2 = require('../index').use(tessel.port[portname2]);
8
9console.log('1..2')
10
11// Receive on IR 1
12infrared1.on('data', function (data) {
13 console.log('# received RX Data:', data);
14 console.log('ok');
15 process.exit(0);
16});
17
18// Send on IR 2
19var sendack = false;
20infrared2.on('ready', function(err) {
21 if (err) { return console.error(err); }
22
23 setImmediate(function sendSignal () {
24 // Make a buffer off on/off durations (each duration is 16 bits)
25 var powerBuffer = new Buffer([
26 0, 178, 255, 168, 0, 12, 255, 246, 0, 13, 255, 225, 0, 13, 255, 224,
27 0, 12, 255, 246, 0, 12, 255, 246, 0, 13, 255, 247, 0, 13, 255, 247,
28 0, 13, 255, 224, 0, 12, 255, 224, 0, 13, 255, 247, 0, 13, 255, 224,
29 0, 12, 255, 246, 0, 12, 255, 246, 0, 12, 255, 246, 0, 12, 255, 246,
30 0, 13, 255, 247, 0, 13, 255, 224, 0, 12, 255, 224, 0, 13, 255, 225,
31 0, 13, 255, 224, 0, 12, 255, 246, 0, 12, 255, 246, 0, 13, 255, 247,
32 0, 13, 255, 247, 0, 13, 255, 246, 0, 12, 255, 246, 0, 12, 255, 246,
33 0, 12, 255, 246, 0, 12, 255, 224, 0, 13, 255, 224, 0, 12, 255, 224,
34 0, 12, 255, 224, 0, 12
35 ]);
36
37 // Send the signal at 38 kHz
38 infrared2.sendRawSignal(38, powerBuffer, function (err) {
39 if (err) { return console.log("Unable to send signal: ", err); }
40
41 console.log('# signal sent!');
42 !sendack && console.log('ok');
43 sendack = true;
44 setImmediate(sendSignal);
45 });
46 });
47});