dynamixel
Version:
Node.js library for controlling DYNAMIXEL servo motors via U2D2 interface with Protocol 2.0 support
121 lines (120 loc) • 3.33 kB
TypeScript
/**
* Motor Profile System for DYNAMIXEL devices
* Provides predefined configurations for different motor models and use cases
* Inspired by DynaNode's MotorProfile architecture
*/
export class MotorProfiles {
profiles: Map<any, any>;
customProfiles: Map<any, any>;
initializeDefaultProfiles(): void;
addRobotArmProfile(): void;
addWheelRobotProfile(): void;
addGripperProfile(): void;
/**
* Get profile for a motor model
*/
getProfile(modelName: any): any;
/**
* Get recommended settings for a motor model and use case
*/
getRecommendedSettings(modelName: any, useCase?: string): any;
/**
* Create a custom profile
*/
createCustomProfile(name: any, profileData: any): void;
/**
* Get all available profiles
*/
getAllProfiles(): Map<any, any>;
/**
* Get profiles by motor series
*/
getProfilesBySeries(series: any): any[];
/**
* Get application profiles
*/
getApplicationProfiles(): any[];
/**
* Validate profile compatibility
*/
validateProfile(motorModel: any, profileSettings: any): {
valid: boolean;
errors: string[];
warnings?: undefined;
} | {
valid: boolean;
errors: string[];
warnings: never[];
};
/**
* Convert RPM to velocity units for a specific motor
*/
rpmToVelocityUnits(rpm: any, profile: any): number;
/**
* Get optimal settings for multi-motor synchronization
*/
getSynchronizationSettings(motorModels: any): {
recommendedVelocity: number;
returnDelay: number;
statusReturnLevel: number;
recommendedUpdateRate: number;
} | null;
/**
* Export profile as JSON
*/
exportProfile(profileName: any): string | null;
/**
* Import profile from JSON
*/
importProfile(name: any, jsonData: any): {
success: boolean;
error?: undefined;
} | {
success: boolean;
error: any;
};
/**
* Get model number for a motor model name
*/
getModelNumber(modelName: any): any;
/**
* Find motor model by model number
*/
getModelByNumber(modelNumber: any): any;
/**
* Get operating modes for a motor model
*/
getOperatingModes(modelName: any): any;
/**
* Get operating mode constants for a motor model
*/
getOperatingModeConstants(modelName: any): {};
/**
* Get default settings for a motor model
*/
getDefaultSettings(modelName: any): any;
/**
* Get specifications for a motor model
*/
getSpecs(modelName: any): any;
/**
* Get control table information for a motor model
*/
getControlTable(modelName: any): any;
/**
* Get control table address for a specific register
*/
getControlTableAddress(modelName: any, registerName: any): any;
/**
* Get conversion factors for a motor model
*/
getConversions(modelName: any): any;
/**
* Check if a motor model supports a feature
*/
hasFeature(modelName: any, featureName: any): boolean;
/**
* Get all model numbers as a lookup map (replaces MODEL_NUMBERS from constants)
*/
getModelNumbers(): {};
}