rxpoweredup
Version:
A Typescript RxJS-based library for controlling LEGO Powered UP hubs & peripherals.
20 lines (19 loc) • 1.83 kB
TypeScript
import { Observable } from 'rxjs';
import { HubConfig, IMotorsFeature, IOutboundMessenger, PortCommandExecutionStatus, ServoCommandOptions, StartPowerOptions, StartSpeedOptions } from '../../hub';
import { IMotorCommandsOutboundMessageFactory } from './i-motor-commands-outbound-message-factory';
export declare class MotorsFeature implements IMotorsFeature {
private readonly messenger;
private readonly portOutputCommandOutboundMessageFactoryService;
private readonly config;
constructor(messenger: IOutboundMessenger, portOutputCommandOutboundMessageFactoryService: IMotorCommandsOutboundMessageFactory, config: HubConfig);
setAccelerationTime(portId: number, timeMs: number): Observable<PortCommandExecutionStatus>;
setDecelerationTime(portId: number, timeMs: number): Observable<PortCommandExecutionStatus>;
startPower(portId: number, power: number, powerModeId: number, options?: StartPowerOptions): Observable<PortCommandExecutionStatus>;
startSpeed(portId: number, speed: number, options?: StartSpeedOptions): Observable<PortCommandExecutionStatus>;
setSpeedSynchronized(virtualPortId: number, speed1: number, speed2: number, options?: StartSpeedOptions): Observable<PortCommandExecutionStatus>;
goToPosition(portId: number, absoluteDegree: number, options?: ServoCommandOptions): Observable<PortCommandExecutionStatus>;
goToPositionSynchronized(virtualPortId: number, targetDegree1: number, targetDegree2: number, options?: ServoCommandOptions): Observable<PortCommandExecutionStatus>;
setZeroPositionRelativeToCurrentPosition(portId: number, offset: number, positionModeId?: number): Observable<PortCommandExecutionStatus>;
rotateByDegree(portId: number, degree: number, options?: ServoCommandOptions): Observable<PortCommandExecutionStatus>;
private execute;
}