UNPKG

sensorium

Version:

makeblock mainboards protocol api

53 lines (48 loc) 972 B
import { validateNumber } from '../core/validate'; import { composer, fiterWithBinaryStr } from '../core/utils'; import Electronic from './electronic'; import protocolAssembler from '../protocol/cmd'; import Control from '../core/control'; import { SUPPORTLIST } from '../settings'; /** * Touch sensor module * @extends Electronic */ class Touch extends Electronic { constructor(port) { super(); this.args = { port: validateNumber(port) }; } /** * getter of protocol */ get protocol() { return composer(protocolAssembler.readTouch, [this.args.port]); } /** * Get data of Touch sensor * @example * mcore.Touch(1) * .getData() * .then((val) => { * console.log(val) * }); * @return {Promise} */ async getData() { return await Control.read(this.protocol); } static get SUPPORT() { return fiterWithBinaryStr(SUPPORTLIST, '1111'); } } export default Touch;