Spaces:
Running
Running
File size: 2,008 Bytes
6ce4ca6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
export type ConnectionOptions = {
baudRate?: number;
protocolEnd?: number;
};
export type ServoPositions = Map<number, number> | Record<number, number>;
export type ServoSpeeds = Map<number, number> | Record<number, number>;
export interface ScsServoSDK {
// Connection management
connect(options?: ConnectionOptions): Promise<true>;
disconnect(): Promise<true>;
isConnected(): boolean;
// Servo locking operations
lockServo(servoId: number): Promise<"success">;
unlockServo(servoId: number): Promise<"success">;
lockServos(servoIds: number[]): Promise<"success">;
unlockServos(servoIds: number[]): Promise<"success">;
lockServosForProduction(servoIds: number[]): Promise<"success">;
unlockServosForManualMovement(servoIds: number[]): Promise<"success">;
// Read operations (no locking needed)
readPosition(servoId: number): Promise<number>;
syncReadPositions(servoIds: number[]): Promise<Map<number, number>>;
// Write operations - LOCKED MODE (respects servo locks)
writePosition(servoId: number, position: number): Promise<"success">;
writeTorqueEnable(servoId: number, enable: boolean): Promise<"success">;
// Write operations - UNLOCKED MODE (temporary unlock for operation)
writePositionUnlocked(servoId: number, position: number): Promise<"success">;
writePositionAndDisableTorque(servoId: number, position: number, waitTimeMs?: number): Promise<"success">;
writeTorqueEnableUnlocked(servoId: number, enable: boolean): Promise<"success">;
// Sync write operations
syncWritePositions(servoPositions: ServoPositions): Promise<"success">;
// Configuration functions
setBaudRate(servoId: number, baudRateIndex: number): Promise<"success">;
setServoId(currentServoId: number, newServoId: number): Promise<"success">;
setWheelMode(servoId: number): Promise<"success">;
setPositionMode(servoId: number): Promise<"success">;
}
export const scsServoSDK: ScsServoSDK;
// Debug exports
export const DEBUG_ENABLED: boolean;
export function debugLog(message: string): void;
|