Skip to content

Releases: FrenchPOC/stepper-motion-rs

v0.1.1 - no_std fix

27 Nov 14:30

Choose a tag to compare

Fixed

  • TrajectoryRegistry::from_config() is now available without the std feature, fixing compilation errors in no_std embedded 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

27 Nov 13:01

Choose a tag to compare

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
  • SystemConfig root structure with named motor and trajectory maps
  • MotorConfig with steps/rev, microsteps, gear ratio, and limits
  • TrajectoryConfig with target position and motion parameters
  • SoftLimits with reject and clamp policies

Motor Control

  • StepperMotor driver generic over embedded-hal 1.0 OutputPin and DelayNs
  • 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
  • MotionProfile struct with phase breakdown (accel, cruise, decel)
  • Duration estimation and step interval calculation

Multi-Motor Management

  • MotorSystem facade for managing multiple motors
  • TrajectoryRegistry for named trajectory lookup
  • get_or_error() with helpful error messages

Platform Support

  • no_std compatible core library
  • std feature for file I/O and TOML loading
  • alloc feature for heap allocation without full std
  • Minimum Rust version: 1.70.0

Installation

[dependencies]
stepper-motion = "0.1"

Documentation