Skip to content

0.1.0 - Indirect Addressing, Goal Current Control, and Performance Enhancements

Latest

Choose a tag to compare

@andyshinn andyshinn released this 17 Jul 17:54

Major Features Added

🎯 Indirect Addressing Support

Complete DYNAMIXEL indirect addressing functionality for high-performance applications:

  • setupIndirectAddress(), writeIndirectData(), readIndirectData() for basic operations
  • bulkReadIndirect() and bulkWriteIndirect() with automatic contiguous address optimization
  • setupCommonIndirectMappings() and readCommonStatus() for streamlined monitoring
  • Full validation with descriptive error messages
  • Supports up to 20 indirect mappings with efficient bulk operations

⚡ Goal Current Control

Current-based motor control for precise torque applications:

  • setGoalCurrent() and getGoalCurrent() methods
  • Enhanced control capabilities for force/torque-sensitive applications
  • Seamless integration with existing position and velocity control

⏱️ Realtime Tick Support

Hardware timestamp access for precise timing:

  • getRealtimeTick() method for 16-bit hardware timestamp counter
  • Enables precise timing measurements and multi-motor synchronization
  • Essential for real-time applications and performance monitoring

🚀 Serial Buffer Configuration

Configurable buffer sizes for performance optimization:

  • highWaterMark option in SerialConnection and DynamixelController
  • Default 64KB, configurable from 0 to 1MB+ for different use cases
  • Optimizes memory usage and performance for high-speed applications

🛠️ Enhanced Development Tools

New example applications:

  • realtime-timestamp-test.js - Demonstrates indirect addressing and realtime tick
  • serial-buffer-options.js - Shows buffer configuration options
  • Enhanced motor profiles and debugging utilities

Technical Improvements

  • Advanced Protocol Support - Full indirect addressing implementation
  • Performance Optimization - Configurable buffers and contiguous bulk operations
  • Real-time Capabilities - Hardware timestamp access
  • Enhanced Documentation - Better TypeScript/JSDoc integration

Migration Guide

  • High-performance apps: Use indirect addressing for efficient bulk operations
  • Precise control apps: Utilize current-based torque control methods
  • Real-time apps: Use hardware timestamp for synchronization
  • Buffer optimization: Configure highWaterMark based on your requirements

Compatibility

All changes are backward compatible - no breaking changes.

🤖 Generated with Claude Code