Skip to content

v0.1.0 - Initial Release

Choose a tag to compare

@axoulc axoulc released this 27 Nov 13:01
· 10 commits to main since this 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
  • 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