Device events emit value objects

This commit is contained in:
Nathan Kellenicki 2019-12-26 18:18:55 -08:00
parent c5146bd315
commit 290f469b47
16 changed files with 39 additions and 38 deletions

View File

@ -23,7 +23,7 @@ export class ColorDistanceSensor extends Device {
* @event ColorDistanceSensor#color
* @param {Color} color
*/
this.emitGlobal("color", color);
this.emitGlobal("color", { color });
}
break;
@ -39,7 +39,7 @@ export class ColorDistanceSensor extends Device {
* @event ColorDistanceSensor#distance
* @param {number} distance Distance, in millimeters.
*/
this.emitGlobal("distance", distance);
this.emitGlobal("distance", { distance });
}
break;
@ -65,7 +65,7 @@ export class ColorDistanceSensor extends Device {
*/
if (message[4] <= 10) {
const color = message[4];
this.emitGlobal("colorAndDistance", color, distance);
this.emitGlobal("colorAndDistance", { color, distance });
}
break;

View File

@ -17,7 +17,7 @@ export class CurrentSensor extends Device {
case CurrentSensor.Mode.CURRENT:
if (this.isWeDo2SmartHub) {
const current = message.readInt16LE(2) / 1000;
this.emitGlobal("current", current);
this.emitGlobal("current", { current });
} else {
let maxCurrentValue = CurrentSensor.MaxCurrentValue[this.hub.type];
if (maxCurrentValue === undefined) {
@ -33,7 +33,7 @@ export class CurrentSensor extends Device {
* @event CurrentSensor#current
* @param {number} current
*/
this.emitGlobal("current", current);
this.emitGlobal("current", { current });
}
break;
}

View File

@ -108,7 +108,7 @@ export class Device extends EventEmitter {
}
public receive (message: Buffer) {
this.emitGlobal("receive", message);
this.emitGlobal("receive", { message });
}
public emitGlobal (event: string, ...args: any) {

View File

@ -23,7 +23,7 @@ export class DuploTrainBaseColorSensor extends Device {
* @event DuploTrainBaseColorSensor#color
* @param {Color} color
*/
this.emitGlobal("color", color);
this.emitGlobal("color", { color });
}
break;

View File

@ -22,7 +22,7 @@ export class DuploTrainBaseSpeedometer extends Device {
* @event DuploTrainBaseSpeedometer#speed
* @param {number} speed
*/
this.emitGlobal("speed", speed);
this.emitGlobal("speed", { speed });
break;
}

View File

@ -19,12 +19,13 @@ export class MotionSensor extends Device {
if (message[this.isWeDo2SmartHub ? 3 : 5] === 1) {
distance = distance + 255;
}
distance *= 10;
/**
* Emits when a distance sensor is activated.
* @event MotionSensor#distance
* @param {number} distance Distance, in millimeters.
*/
this.emitGlobal("distance", distance * 10);
this.emitGlobal("distance", { distance });
break;
}
}

View File

@ -21,9 +21,9 @@ export class MoveHubTiltSensor extends Device {
* @param {number} x
* @param {number} y
*/
const tiltX = message.readInt8(4);
const tiltY = message.readInt8(5);
this.emitGlobal("tilt", -tiltX, tiltY);
const x = -message.readInt8(4);
const y = message.readInt8(5);
this.emitGlobal("tilt", { x, y });
break;
}
}

View File

@ -21,7 +21,7 @@ export class RemoteControlButton extends Device {
* @param {number} event
*/
const event = message[4];
this.emitGlobal("remoteButton", event);
this.emitGlobal("remoteButton", { event });
break;
}
}

View File

@ -22,7 +22,7 @@ export class TachoMotor extends BasicMotor {
* @event TachoMotor#rotate
* @param {number} rotation
*/
this.emitGlobal("rotate", rotation);
this.emitGlobal("rotate", { rotation });
break;
}
}

View File

@ -23,10 +23,10 @@ export class TechnicMediumHubAccelerometerSensor extends Device {
* @param {number} y
* @param {number} z
*/
const accelX = Math.round(message.readInt16LE(4) / 4.096);
const accelY = Math.round(message.readInt16LE(6) / 4.096);
const accelZ = Math.round(message.readInt16LE(8) / 4.096);
this.emitGlobal("accel", accelX, accelY, accelZ);
const x = Math.round(message.readInt16LE(4) / 4.096);
const y = Math.round(message.readInt16LE(6) / 4.096);
const z = Math.round(message.readInt16LE(8) / 4.096);
this.emitGlobal("accel", { x, y, z });
break;
}
}

View File

@ -22,10 +22,10 @@ export class TechnicMediumHubGyroSensor extends Device {
* @param {number} y
* @param {number} z
*/
const gyroX = Math.round(message.readInt16LE(4) * 7 / 400);
const gyroY = Math.round(message.readInt16LE(6) * 7 / 400);
const gyroZ = Math.round(message.readInt16LE(8) * 7 / 400);
this.emitGlobal("gyro", gyroX, gyroY, -gyroZ);
const x = Math.round(message.readInt16LE(4) * 7 / 400);
const y = Math.round(message.readInt16LE(6) * 7 / 400);
const z = Math.round(message.readInt16LE(8) * 7 / 400);
this.emitGlobal("gyro", { x, y, z });
break;
}
}

View File

@ -22,10 +22,10 @@ export class TechnicMediumHubTiltSensor extends Device {
* @param {number} y
* @param {number} z
*/
const tiltZ = message.readInt16LE(4);
const tiltY = message.readInt16LE(6);
const tiltX = message.readInt16LE(8);
this.emitGlobal("tilt", tiltX, tiltY, -tiltZ);
const z = -message.readInt16LE(4);
const y = message.readInt16LE(6);
const x = message.readInt16LE(8);
this.emitGlobal("tilt", { x, y, z });
break;
}
}

View File

@ -15,15 +15,15 @@ export class TiltSensor extends Device {
switch (mode) {
case TiltSensor.Mode.TILT:
const tiltX = message.readInt8(this.isWeDo2SmartHub ? 2 : 4);
const tiltY = message.readInt8(this.isWeDo2SmartHub ? 3 : 5);
const x = message.readInt8(this.isWeDo2SmartHub ? 2 : 4);
const y = message.readInt8(this.isWeDo2SmartHub ? 3 : 5);
/**
* Emits when a tilt sensor is activated.
* @event LPF2Hub#tilt
* @param {number} x
* @param {number} y
*/
this.emitGlobal("tilt", tiltX, tiltY);
this.emitGlobal("tilt", { x, y });
break;
}
}

View File

@ -17,7 +17,7 @@ export class VoltageSensor extends Device {
case VoltageSensor.Mode.VOLTAGE:
if (this.isWeDo2SmartHub) {
const voltage = message.readInt16LE(2) / 40;
this.emitGlobal("voltage", voltage);
this.emitGlobal("voltage", { voltage });
} else {
let maxVoltageValue = VoltageSensor.MaxVoltageValue[this.hub.type];
if (maxVoltageValue === undefined) {
@ -33,7 +33,7 @@ export class VoltageSensor extends Device {
* @event VoltageSensor#voltage
* @param {number} voltage
*/
this.emitGlobal("voltage", voltage);
this.emitGlobal("voltage", { voltage });
}
break;
}

View File

@ -200,10 +200,10 @@ export class LPF2Hub extends BaseHub {
* @param {string} button
* @param {ButtonState} state
*/
this.emit("button", "GREEN", Consts.ButtonState.PRESSED);
this.emit("button", { event: Consts.ButtonState.PRESSED });
return;
} else if (message[5] === 0) {
this.emit("button", "GREEN", Consts.ButtonState.RELEASED);
this.emit("button", { event: Consts.ButtonState.RELEASED });
return;
}
@ -221,7 +221,7 @@ export class LPF2Hub extends BaseHub {
const rssi = message.readInt8(5);
if (rssi !== 0) {
this._rssi = rssi;
this.emit("rssiChange", this._rssi);
this.emit("rssi", { rssi: this._rssi });
}
// primary MAC Address
@ -233,7 +233,7 @@ export class LPF2Hub extends BaseHub {
const batteryLevel = message[5];
if (batteryLevel !== this._batteryLevel) {
this._batteryLevel = batteryLevel;
this.emit("batteryLevel", batteryLevel);
this.emit("batteryLevel", { batteryLevel });
}
}

View File

@ -168,7 +168,7 @@ export class WeDo2SmartHub extends BaseHub {
const batteryLevel = data[0];
if (batteryLevel !== this._batteryLevel) {
this._batteryLevel = batteryLevel;
this.emit("batteryLevel", batteryLevel);
this.emit("batteryLevel", { batteryLevel });
}
}
@ -209,10 +209,10 @@ export class WeDo2SmartHub extends BaseHub {
* @param {string} button
* @param {ButtonState} state
*/
this.emit("button", "GREEN", Consts.ButtonState.PRESSED);
this.emit("button", { event: Consts.ButtonState.PRESSED });
return;
} else if (message[0] === 0x00) {
this.emit("button", "GREEN", Consts.ButtonState.RELEASED);
this.emit("button", { event: Consts.ButtonState.RELEASED });
return;
}