Skip to content

Commit 0340dfe

Browse files
committed
fix share variable problem
1 parent 4d9a7f6 commit 0340dfe

1 file changed

Lines changed: 19 additions & 16 deletions

File tree

IrRaw.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
var Module = scope.Module,
1111
BoardEvent = scope.BoardEvent;
12-
var self;
1312
var proto;
1413
var sendLen = 32;
1514
var lastSendIR = false;
@@ -25,7 +24,7 @@
2524
Module.call(this);
2625
this._board = board;
2726
this.pinSendIR = this.pinRecvIR = -1;
28-
self = this;
27+
// this = this;
2928
if (typeof pinMapping === 'object') {
3029
if (pinMapping['send']) {
3130
this.pinSendIR = pinMapping['send'];
@@ -34,10 +33,10 @@
3433
this.pinRecvIR = pinMapping['recv'];
3534
}
3635
}
37-
onMessage();
36+
onMessage(this);
3837
}
3938

40-
function onMessage() {
39+
function onMessage(self) {
4140
self._board.on(webduino.BoardEvent.SYSEX_MESSAGE, function (event) {
4241
var m = event.message;
4342
//send IR data to Board
@@ -61,8 +60,8 @@
6160
var strInfo = '';
6261
for (var i = 3; i < m.length; i++) {
6362
strInfo += String.fromCharCode(m[i]);
64-
}
65-
self.irData = strInfo.substring(4);
63+
}
64+
self.irData = strInfo;
6665
self.irRecvCallback(self.irData);
6766
} else {
6867
log(event);
@@ -71,7 +70,7 @@
7170
}
7271

7372

74-
function send(startPos, data) {
73+
function send(startPos, data, self) {
7574
var CMD = [0xf0, 0x04, 0x09, 0x0A];
7675
var raw = [];
7776
raw = raw.concat(CMD);
@@ -88,13 +87,14 @@
8887
raw.push(data.charCodeAt(i));
8988
}
9089
raw.push(0xf7);
90+
// console.log(raw);
9191
self._board.send(raw);
9292
}
9393

94-
function sendIRCmd(cmd, len) {
94+
function sendIRCmd(cmd, len, self) {
9595
for (var i = 0; i < cmd.length; i = i + len) {
9696
var data = cmd.substring(i, i + len);
97-
send(i / 8, data);
97+
send(i / 4, data, self);
9898
}
9999
lastSendIR = true;
100100
}
@@ -106,23 +106,26 @@
106106
});
107107

108108
proto.receive = function (callback) {
109-
self.irRecvCallback = callback;
110-
if (self.pinRecvIR > 0) {
111-
self._board.send([0xF0, 0x04, 0x09, 0x0D, self.pinRecvIR, 0xF7]);
109+
console.log("receive:" + this.pinRecvIR);
110+
this.irRecvCallback = callback;
111+
if (this.pinRecvIR > 0) {
112+
// this._board.send([0xF0, 0x04, 0x09, 0x0D, this.pinRecvIR, 0xF7]);
113+
this._board.send([0xF0, 0x04, 0x0A, 0x00, 0x02, 0xF7]);
112114
log("wait for receiving...");
113115
}
114116
};
115117

116118
proto.send = function (data, callback) {
117-
if (self.pinSendIR > 0) {
118-
sendIRCmd(data, sendLen);
119-
self.irSendCallback = callback;
119+
console.log("send:" + this.pinSendIR);
120+
if (this.pinSendIR > 0) {
121+
sendIRCmd(data, sendLen, this);
122+
this.irSendCallback = callback;
120123
}
121124
}
122125

123126
proto.debug = function (val) {
124127
if (typeof val == 'boolean') {
125-
self.isDebug = val;
128+
this.isDebug = val;
126129
}
127130
}
128131

0 commit comments

Comments
 (0)