Skip to content

Commit 65dbfd0

Browse files
committed
adjust command
1 parent 649dfd9 commit 65dbfd0

5 files changed

Lines changed: 57 additions & 41 deletions

File tree

IrRaw-blockly.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
'use strict';
44

55
/* this function for old version */
6-
window.getIrRaw = function (board, pinMapping) {
6+
window.getIrRaw = (board, pinMapping) => {
77
return new webduino.module.IrRaw(board, pinMapping);
88
};
99

10-
window.getIrRawSend = function (board, pinSendIR) {
10+
window.getIrRawSend = (board, pinSendIR) => {
1111
return new webduino.module.IrRawSend(board, pinSendIR);
1212
};
1313

14-
window.getIrRawRecv = function (board, pinRecvIR) {
14+
window.getIrRawRecv = (board, pinRecvIR) => {
1515
return new webduino.module.IrRawRecv(board, pinRecvIR);
1616
};
1717

IrRaw.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* For old version
3+
*/
14
+(function (factory) {
25
if (typeof exports === 'undefined') {
36
factory(webduino || {});

IrRawSend.js

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,38 @@
77
}(function (scope) {
88
'use strict';
99

10-
var Module = scope.Module;
11-
var proto;
12-
var sendLen = 32;
13-
var self;
14-
var lastSendIR = false;
10+
let Module = scope.Module;
11+
let WEBDUINO_COMMAND = 0x04;
12+
let SENSOR_IRRSEND = 0x09;
13+
let START_POS = 0x0A;
14+
let SEND_RAW_DATA = 0x0B;
15+
let TRIGGER_IR = 0x0C;
16+
let proto;
17+
let sendLen = 32;
18+
let self;
19+
// let lastSendIR = false;
1520

1621
function IrRawSend(board, pinSendIR) {
17-
console.log("debug IrRawSend");
1822
self = this;
1923
Module.call(self);
2024
self._board = board;
2125
self._pinSendIR = pinSendIR;
22-
2326
onMessage();
2427
}
2528

2629
function onMessage() {
2730
self._board.on(webduino.BoardEvent.SYSEX_MESSAGE, function (event) {
28-
var m = event.message;
31+
let m = event.message;
2932

30-
if (m[0] == 0x04 && m[1] == 0x09 && m[2] == 0x0B) {
33+
/*if (m[0] == WEBDUINO_COMMAND && m[1] == SENSOR_IRRSEND && m[2] == 0x0B) {
3134
if (lastSendIR) {
3235
//store OK
3336
lastSendIR = false;
34-
self._board.send([0xf0, 0x04, 0x09, 0x0C, self._pinSendIR, 0xF7]);
37+
self._board.send([0xf0, WEBDUINO_COMMAND, SENSOR_IRRSEND, 0x0C, self._pinSendIR, 0xF7]);
3538
}
36-
}
37-
//trigger IR send
38-
else if (m[0] == 0x04 && m[1] == 0x09 && m[2] == 0x0C) {
39+
}*/
40+
41+
if (m[0] == WEBDUINO_COMMAND && m[1] == SENSOR_IRRSEND && m[2] == TRIGGER_IR) {
3942
self.irSendCallback();
4043
}
4144
});
@@ -44,17 +47,18 @@
4447

4548
function send(startPos, data) {
4649

47-
var CMD = [0xf0, 0x04, 0x09, 0x0A];
48-
var raw = [];
50+
let CMD = [0xf0, WEBDUINO_COMMAND, SENSOR_IRRSEND, START_POS];
51+
let raw = [];
4952
raw = raw.concat(CMD);
50-
var n = '0000' + startPos.toString(16);
53+
let n = '0000' + startPos.toString(16);
5154
n = n.substring(n.length - 4);
52-
for (var i = 0; i < 4; i++) {
55+
for (let i = 0; i < 4; i++) {
5356
raw.push(n.charCodeAt(i));
5457
}
5558
raw.push(0xf7);
56-
// send Data //
57-
CMD = [0xf0, 0x04, 0x09, 0x0B];
59+
60+
// send raw data
61+
CMD = [0xf0, WEBDUINO_COMMAND, SENSOR_IRRSEND, SEND_RAW_DATA];
5862
raw = raw.concat(CMD);
5963
for (i = 0; i < data.length; i++) {
6064
raw.push(data.charCodeAt(i));
@@ -64,11 +68,12 @@
6468
}
6569

6670
function sendIRCmd(cmd, len) {
67-
for (var i = 0; i < cmd.length; i = i + len) {
68-
var data = cmd.substring(i, i + len);
71+
for (let i = 0; i < cmd.length; i = i + len) {
72+
let data = cmd.substring(i, i + len);
6973
send(i / 4, data);
7074
}
71-
lastSendIR = true;
75+
// lastSendIR = true;
76+
self._board.send([0xf0, WEBDUINO_COMMAND, SENSOR_IRRSEND, TRIGGER_IR, self._pinSendIR, 0xF7]);
7277
}
7378

7479
IrRawSend.prototype = proto = Object.create(Module.prototype, {
@@ -77,7 +82,7 @@
7782
}
7883
});
7984

80-
proto.send = function (data, callback) {
85+
proto.send = (data, callback) => {
8186
sendIRCmd(data, sendLen);
8287
self.irSendCallback = callback;
8388
}

blockly.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"blockly/javascript.js"
77
],
88
"dependencies": [
9+
"IrRaw.js",
910
"IrRawSend.js",
1011
"irRawRecv.js",
1112
"IrRaw-blockly.js"

irRawRecv.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@
77
}(function (scope) {
88
'use strict';
99

10-
var Module = scope.Module;
11-
var proto;
12-
var self;
13-
10+
let Module = scope.Module;
11+
let proto;
12+
let self;
13+
let WEBDUINO_COMMAND = 0x04;
14+
let SENSOR_RECV = 0x0A;
15+
let INIT_RECV = 0x00;
16+
let STOP_RECV = 0x01;
17+
let RECORD_RAW_DATA = 0x02;
18+
let RECORD_FINISH = 0x03;
19+
1420
function IrRawRecv(board, pinRecvIR) {
1521
self = this;
1622
Module.call(self);
@@ -23,18 +29,19 @@
2329

2430
function onMessage() {
2531
self._board.on(webduino.BoardEvent.SYSEX_MESSAGE, function (event) {
26-
var m = event.message;
32+
let m = event.message;
2733

28-
//record IR data
29-
if (m[0] == 0x04 && m[1] == 0x09 && m[2] == 0x0D) {
30-
var strData = "";
31-
for (var i = 3; i < m.length; i++) {
34+
// record raw data
35+
if (m[0] == WEBDUINO_COMMAND && m[1] == SENSOR_RECV && m[2] == RECORD_RAW_DATA) {
36+
let strData = "";
37+
for (let i = 3; i < m.length; i++) {
3238
strData += String.fromCharCode(m[i]);
3339
}
3440
self._irInfo += strData;
35-
3641
}
37-
else if (m[0] == 0x04 && m[1] == 0x09 && m[2] == 0x0E) {
42+
43+
// record finish
44+
else if (m[0] == WEBDUINO_COMMAND && m[1] == SENSOR_RECV && m[2] == RECORD_FINISH) {
3845
self.irRecvCallback(self._irInfo);
3946
self._irInfo = "";
4047
}
@@ -47,15 +54,15 @@
4754
}
4855
});
4956

50-
proto.receive = function (callback) {
57+
proto.receive = (callback) => {
5158
self.irRecvCallback = callback;
5259
if (self._pinRecvIR > 0) {
53-
self._board.send([0xF0, 0x04, 0x0A, 0x00, self._pinRecvIR, 0xF7]);
60+
self._board.send([0xF0, WEBDUINO_COMMAND, SENSOR_RECV, INIT_RECV, self._pinRecvIR, 0xF7]);
5461
}
5562
};
5663

57-
proto.stopRecv = function () {
58-
self._board.send([0xF0, 0x04, 0x0A, 0x01, 0xF7]);
64+
proto.stopRecv = () => {
65+
self._board.send([0xF0, WEBDUINO_COMMAND, SENSOR_RECV, STOP_RECV, 0xF7]);
5966
}
6067

6168
scope.module.IrRawRecv = IrRawRecv;

0 commit comments

Comments
 (0)