node-poweredup/src/devices/movehubtiltsensor.ts
Nathan Kellenicki 579f82334c
Some checks failed
continuous-integration/drone/push Build is failing
Device events now emit on hub too
2019-12-22 18:39:19 -08:00

43 lines
1.1 KiB
TypeScript

import { Device } from "./device";
import { IDeviceInterface } from "../interfaces";
import * as Consts from "../consts";
export class MoveHubTiltSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, MoveHubTiltSensor.ModeMap, Consts.DeviceType.MOVE_HUB_TILT_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case MoveHubTiltSensor.Mode.TILT:
/**
* Emits when a tilt sensor is activated.
* @event MoveHubTiltSensor#tilt
* @param {number} x
* @param {number} y
*/
const tiltX = message.readInt8(4);
const tiltY = message.readInt8(5);
this.emitGlobal("tilt", -tiltX, tiltY);
break;
}
}
}
export namespace MoveHubTiltSensor {
export enum Mode {
TILT = 0x00
}
export const ModeMap: {[event: string]: number} = {
"tilt": MoveHubTiltSensor.Mode.TILT
}
}