UNPKG

sensorium

Version:

makeblock mainboards protocol api

47 lines (43 loc) 828 B
import { validateNumber } from '../core/validate'; import Electronic from './electronic'; /** * @description It is a base Class of Motor * @extends Electronic */ class BaseMotor extends Electronic { /** * Create a motor * @param {Number} port */ constructor(port) { super(); this.args = { port: validateNumber(port), speed: 0 }; } /** * Set speed to the motor * @param {Number} speed * @return {Instance} the motor instance */ speed(speed){ this.args.speed = validateNumber(speed, 0); return this; } /** * This interface should be overwrite by child class * @abstract */ run() { return this; } /** * Stop motor * @return {Instance} the motor instance */ setStop() { return this.speed(0); } } export default BaseMotor;