UNPKG

feetech-servo-ts

Version:

TypeScript SDK for Feetech servo motors using Web Serial API

57 lines (56 loc) 2.47 kB
import { GroupSyncWrite } from './sync/group-sync-write'; import { GroupSyncRead } from './sync/group-sync-read'; import { SerialOptions, PingResult, ServoStatus, MotorsConfig } from './types'; export * from './types'; export * from './core/constants'; export * as helpers from './utils/helpers'; export interface FeetechServoConfig { port?: SerialOptions; motors?: MotorsConfig; defaultModel?: string; timeout?: number; } export declare class FeetechServo { private portHandler; private protocolHandler; private isConnected; private motors; private defaultModel; private getModelByServoId; constructor(config?: FeetechServoConfig); setMotors(motors: MotorsConfig): void; getMotorModel(motorName: string): string; setDefaultModel(model: string): void; connect(): Promise<void>; disconnect(): Promise<void>; getConnectionStatus(): boolean; ping(id: number): Promise<PingResult>; scan(startId?: number, endId?: number): Promise<PingResult[]>; readPosition(id: number): Promise<number>; writePosition(id: number, position: number, speed?: number): Promise<void>; setPositionInDegrees(id: number, degrees: number, speed?: number): Promise<void>; getPositionInDegrees(id: number): Promise<number>; enableTorque(id: number): Promise<void>; disableTorque(id: number): Promise<void>; readStatus(id: number): Promise<ServoStatus>; setID(id: number, newId: number): Promise<void>; setBaudRate(id: number, baudRate: number): Promise<void>; factoryReset(id: number): Promise<void>; reboot(id: number): Promise<void>; createSyncWrite(address: number, dataLength: number): GroupSyncWrite; createSyncRead(address: number, dataLength: number): GroupSyncRead; syncWritePosition(positions: Array<{ id: number; position: number; }>): Promise<void>; syncReadPosition(ids: number[]): Promise<Map<number, number>>; readByte(id: number, address: number): Promise<number>; writeByte(id: number, address: number, value: number): Promise<void>; readWord(id: number, address: number): Promise<number>; writeWord(id: number, address: number, value: number): Promise<void>; readData(id: number, address: number, length: number): Promise<Uint8Array>; writeData(id: number, address: number, data: Uint8Array): Promise<void>; private ensureConnected; } export default FeetechServo; //# sourceMappingURL=index.d.ts.map