Releases: FrenchPOC/stepper-motion-rs
Releases · FrenchPOC/stepper-motion-rs
v0.1.1 - no_std fix
Fixed
TrajectoryRegistry::from_config()is now available without thestdfeature, fixing compilation errors inno_stdembedded projects
This was a regression where MotorSystem::from_config() called TrajectoryRegistry::from_config() but the latter was gated behind #[cfg(feature = "std")].
v0.1.0 - Initial Release
stepper-motion v0.1.0
Initial release of the configuration-driven stepper motor motion control library.
Features
Configuration System
- TOML-based configuration for motors, trajectories, and sequences
SystemConfigroot structure with named motor and trajectory mapsMotorConfigwith steps/rev, microsteps, gear ratio, and limitsTrajectoryConfigwith target position and motion parametersSoftLimitswithrejectandclamppolicies
Motor Control
StepperMotordriver generic over embedded-hal 1.0OutputPinandDelayNs- Type-state pattern for compile-time state safety:
Idle,Moving,Homing,Fault - Builder pattern with
StepperMotorBuilder - Absolute position tracking in i64 steps
- Backlash compensation support
Motion Profiles
- Asymmetric trapezoidal motion with independent acceleration/deceleration rates
MotionProfilestruct with phase breakdown (accel, cruise, decel)- Duration estimation and step interval calculation
Multi-Motor Management
MotorSystemfacade for managing multiple motorsTrajectoryRegistryfor named trajectory lookupget_or_error()with helpful error messages
Platform Support
no_stdcompatible core librarystdfeature for file I/O and TOML loadingallocfeature for heap allocation without full std- Minimum Rust version: 1.70.0
Installation
[dependencies]
stepper-motion = "0.1"