UNPKG

sensorium

Version:

makeblock mainboards protocol api

64 lines (59 loc) 1.46 kB
import { validateNumber, validateString } from '../core/validate'; import BaseLedMatrix from './BaseLedMatrix'; /** * LedMatrix sensor module run as 'Char Mode' * @extends BaseLedMatrix */ class LedMatrixChar extends BaseLedMatrix { constructor(port) { super(port); Object.assign(this.args, { x: 0, y: 7, //默认将字体垂直居中,输入的 y 值时将在 y=7 上做偏移 char: '', type: BaseLedMatrix.CHAR_TYPE }); } /** * set the X axis coordinate of the char * @param {Number} x * @return {Instance} @this */ x(x){ this.args.x = validateNumber(Math.floor(x), this.args.x); return this; } /** * set the Y axis coordinate of the char * @param {Number} y * @return {Instance} @this */ y(y){ this.args.y = validateNumber(Math.floor(y) + 7, this.args.y); return this; } /** * set char as the content shown on the led maxtrix * @param {String} str the content string * @return {Instance} @this */ char(str) { this.args.char = validateString(str); return this; } /** * set content for Matrix panel * @param {String} str * @param {Number} coordinate contains [x, y] */ content(str, coordinate) { if(!Array.isArray(coordinate)){ coordinate = [0, 0]; } //设定坐标 this.x(coordinate[0]); this.y(coordinate[1]); return this.char(str); } } export default LedMatrixChar;