Crate ramp_maker[][src]

RampMaker - Stepper Acceleration Ramp Generator

RampMaker is a library that generates motion profiles for stepper motors. It can be used independently, or together with Step/Dir.

The main API for motion profiles is defined by the MotionProfile trait. The following implementations of this trait are available:

  • Flat: Not for serious use, but might be useful for testing.
  • Trapezoidal: Constant-acceleration motion profile.

Trinamic have an overview over motion profiles on their website.

Cargo Features

This library works without the standard library (no_std) by default. This limits support for f32/f64 for motion profiles that need to compute a square root, as this operation is not available in the core library (if you’re using the default fixed-point types, you’re not affected by this).

If you need full support for f32/f64, you have the following options:

  • Enable support for the standard library via the std feature. This obviously only works, if the standard library is available for your target, and you want to use it.
  • Enable the libm feature. This provides the require square root support via libm.


pub use self::flat::Flat;
pub use self::trapezoidal::Trapezoidal;



Flat motion profile


Iterators used in conjunction with MotionProfile


Trapezoidal motion profile


Utility code for implementing motion profiles



Abstract interface for motion profiles