Better port selection code
This commit is contained in:
parent
96d4332f49
commit
9f0a1e12c5
74
boosthub.js
74
boosthub.js
@ -96,6 +96,31 @@ class BoostHub extends Hub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_getPortForPortNumber (num) {
|
||||||
|
|
||||||
|
let port = null;
|
||||||
|
|
||||||
|
if (num === 1) {
|
||||||
|
port = this.ports["C"];
|
||||||
|
} else if (num === 2) {
|
||||||
|
port = this.ports["D"];
|
||||||
|
} else if (num === 55) {
|
||||||
|
port = this.ports["A"];
|
||||||
|
} else if (num === 56) {
|
||||||
|
port = this.ports["B"];
|
||||||
|
} else if (num === 57) {
|
||||||
|
port = this.ports["AB"];
|
||||||
|
} else if (num === 58) {
|
||||||
|
port = this.ports["TILT"];
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return port;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
_parseMessage (data) {
|
_parseMessage (data) {
|
||||||
|
|
||||||
switch (data[2]) {
|
switch (data[2]) {
|
||||||
@ -114,6 +139,10 @@ class BoostHub extends Hub {
|
|||||||
this._parseSensorMessage(data);
|
this._parseSensorMessage(data);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 0x82:
|
||||||
|
{
|
||||||
|
this._parsePortAction(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,21 +164,9 @@ class BoostHub extends Hub {
|
|||||||
|
|
||||||
_parsePortMessage (data) {
|
_parsePortMessage (data) {
|
||||||
|
|
||||||
let port = null;
|
let port = this._getPortForPortNumber(data[3]);
|
||||||
|
|
||||||
if (data[3] === 1) {
|
if (!port) {
|
||||||
port = this.ports["C"];
|
|
||||||
} else if (data[3] === 2) {
|
|
||||||
port = this.ports["D"];
|
|
||||||
} else if (data[3] === 55) {
|
|
||||||
port = this.ports["A"];
|
|
||||||
} else if (data[3] === 56) {
|
|
||||||
port = this.ports["B"];
|
|
||||||
} else if (data[3] === 57) {
|
|
||||||
port = this.ports["AB"];
|
|
||||||
} else if (data[3] === 58) {
|
|
||||||
port = this.ports["TILT"];
|
|
||||||
} else {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,6 +232,19 @@ class BoostHub extends Hub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_parsePortAction (data) {
|
||||||
|
|
||||||
|
let port = this._getPortForPortNumber(data[3]);
|
||||||
|
|
||||||
|
if (!port) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NK: Handle callbacks when port finished here.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
_activatePortDevice (port, type, mode, format, callback) {
|
_activatePortDevice (port, type, mode, format, callback) {
|
||||||
const characteristic = this._characteristics[Consts.BLE.Characteristics.Boost.ALL];
|
const characteristic = this._characteristics[Consts.BLE.Characteristics.Boost.ALL];
|
||||||
if (characteristic) {
|
if (characteristic) {
|
||||||
@ -225,21 +255,9 @@ class BoostHub extends Hub {
|
|||||||
|
|
||||||
_parseSensorMessage (data) {
|
_parseSensorMessage (data) {
|
||||||
|
|
||||||
let port = null;
|
let port = this._getPortForPortNumber(data[3]);
|
||||||
|
|
||||||
if (data[3] === 1) {
|
if (!port) {
|
||||||
port = this.ports["C"];
|
|
||||||
} else if (data[3] === 2) {
|
|
||||||
port = this.ports["D"];
|
|
||||||
} else if (data[3] === 55) {
|
|
||||||
port = this.ports["A"];
|
|
||||||
} else if (data[3] === 56) {
|
|
||||||
port = this.ports["B"];
|
|
||||||
} else if (data[3] === 57) {
|
|
||||||
port = this.ports["AB"];
|
|
||||||
} else if (data[3] === 58) {
|
|
||||||
port = this.ports["TILT"];
|
|
||||||
} else {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
27
wedo2hub.js
27
wedo2hub.js
@ -77,18 +77,31 @@ class WeDo2Hub extends Hub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
_parsePortMessage (data) {
|
_getPortForPortNumber (num) {
|
||||||
|
|
||||||
let port = null;
|
let port = null;
|
||||||
|
|
||||||
if (data[0] === 1) {
|
if (num === 1) {
|
||||||
port = this.ports["A"];
|
port = this.ports["A"];
|
||||||
} else if (data[0] === 2) {
|
} else if (num === 2) {
|
||||||
port = this.ports["B"];
|
port = this.ports["B"];
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return port;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_parsePortMessage (data) {
|
||||||
|
|
||||||
|
let port = this._getPortForPortNumber(data[0]);
|
||||||
|
|
||||||
|
if (!port) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
port.connected = data[1] === 1 ? true : false;
|
port.connected = data[1] === 1 ? true : false;
|
||||||
|
|
||||||
if (port.connected) {
|
if (port.connected) {
|
||||||
@ -164,13 +177,9 @@ class WeDo2Hub extends Hub {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let port = null;
|
let port = this._getPortForPortNumber(data[1]);
|
||||||
|
|
||||||
if (data[1] === 1) {
|
if (!port) {
|
||||||
port = this.ports["A"];
|
|
||||||
} else if (data[1] === 2) {
|
|
||||||
port = this.ports["B"];
|
|
||||||
} else {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user