feetech-servo-ts
Version:
TypeScript SDK for Feetech servo motors using Web Serial API
83 lines • 2 kB
TypeScript
export interface SerialOptions {
baudRate: number;
dataBits?: 7 | 8;
stopBits?: 1 | 2;
parity?: 'none' | 'even' | 'odd';
bufferSize?: number;
flowControl?: 'none' | 'hardware';
}
export interface PingResult {
id: number;
modelNumber: number;
firmwareVersion: number;
}
export interface ServoStatus {
position: number;
speed: number;
load: number;
voltage: number;
temperature: number;
moving: boolean;
errorStatus: number;
}
export interface SyncWriteData {
id: number;
data: Uint8Array;
}
export interface SyncReadRequest {
id: number;
address: number;
length: number;
}
export interface Packet {
id: number;
instruction: number;
parameters: Uint8Array;
length: number;
}
export interface ResponsePacket extends Packet {
error: number;
checksum: number;
}
export declare enum Instruction {
PING = 1,
READ = 2,
WRITE = 3,
REG_WRITE = 4,
ACTION = 5,
FACTORY_RESET = 6,
REBOOT = 8,
SYNC_WRITE = 131,
SYNC_READ = 130
}
export declare enum ErrorBit {
VOLTAGE = 1,
ANGLE = 2,
OVERHEAT = 4,
RANGE = 8,
CHECKSUM = 16,
OVERLOAD = 32,
INSTRUCTION = 64
}
export * from './control-table';
export * from './models';
export declare class ServoError extends Error {
code: ErrorCode;
deviceId?: number | undefined;
constructor(message: string, code: ErrorCode, deviceId?: number | undefined);
}
export declare enum ErrorCode {
CONNECTION_FAILED = "CONNECTION_FAILED",
CONNECTION_LOST = "CONNECTION_LOST",
PORT_NOT_FOUND = "PORT_NOT_FOUND",
PERMISSION_DENIED = "PERMISSION_DENIED",
TIMEOUT = "TIMEOUT",
CHECKSUM_ERROR = "CHECKSUM_ERROR",
INVALID_RESPONSE = "INVALID_RESPONSE",
DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND",
WRITE_ERROR = "WRITE_ERROR",
READ_ERROR = "READ_ERROR",
INVALID_PARAMETER = "INVALID_PARAMETER",
HARDWARE_ERROR = "HARDWARE_ERROR"
}
//# sourceMappingURL=index.d.ts.map