import { BasicMotor } from "./basicmotor.js"; import { IDeviceInterface } from "../interfaces.js"; import * as Consts from "../consts.js"; /** * @class TachoMotor * @extends BasicMotor */ export declare class TachoMotor extends BasicMotor { protected _brakeStyle: Consts.BrakingStyle; protected _maxPower: number; useAccelerationProfile: boolean; useDecelerationProfile: boolean; constructor(hub: IDeviceInterface, portId: number, modeMap?: { [event: string]: number; }, type?: Consts.DeviceType); receive(message: Buffer): void; /** * Set the braking style of the motor. * * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle. * @param {number} style Either BRAKE or HOLD */ setBrakingStyle(style: Consts.BrakingStyle): void; /** * Set the max power of the motor. * * Note: This applies to setSpeed, rotateByDegrees, and gotoAngle. * @param {number} maxPower Maximum power level (0-100) */ setMaxPower(maxPower: number): void; /** * Set the global acceleration time * @param {number} time How long acceleration should last (in milliseconds). * @param {number} profile 0 by default * @param {boolean} [interrupt=false] If true, previous commands are discarded. * @returns {Promise} Resolved upon completion of command (i.e. once the motor is finished). */ setAccelerationTime(time: number, profile?: number, interrupt?: boolean): Promise | undefined; /** * Set the global deceleration time * @param {number} time How long deceleration should last (in milliseconds). * @param {number} profile 0 by default * @param {boolean} [interrupt=false] If true, previous commands are discarded. * @returns {Promise} Resolved upon completion of command (i.e. once the motor is finished). */ setDecelerationTime(time: number, profile?: number, interrupt?: boolean): Promise | undefined; /** * Set the motor speed. * @param {number} speed For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. * @param {number} time How long the motor should run for (in milliseconds). * @param {boolean} [interrupt=false] If true, previous commands are discarded. * @returns {Promise} Resolved upon completion of command (i.e. once the motor is finished). */ setSpeed(speed: [number, number] | number, time: number | undefined, interrupt?: boolean): Promise | undefined; /** * Rotate a motor by a given amount of degrees. * @param {number} degrees How much the motor should be rotated (in degrees). * @param {number} [speed=100] For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. * @param {boolean} [interrupt=false] If true, previous commands are discarded. * @returns {Promise} Resolved upon completion of command (i.e. once the motor is finished). */ rotateByDegrees(degrees: number, speed: [number, number] | number, interrupt?: boolean): Promise | undefined; protected useProfile(): number; } export declare enum Mode { ROTATION = 2 } export declare const ModeMap: { [event: string]: number; }; //# sourceMappingURL=tachomotor.d.ts.map