Expand description
An efficient no_std
-compatible implementation of a quadrature encoder driver,
based on a finite-state-transducer with support for different step-modes.
Structs§
- Async
- Driver initialized in async mode.
- Blocking
- Driver initialized in blocking mode.
- Full
Step - A step mode that is able to detect a “change” (e.g. movement) for every stable full cycle (i.e. 1 change per quadrature cycle).
- Half
Step - A step mode that is able to detect a “change” (e.g. movement) (e.g. movement) for every stable half cycle (i.e. 2 changes per quadrature cycle), resulting in an effective 2× resolution multiplication.
- Incremental
Encoder - A robust incremental encoder with support for multiple step-modes.
- Indexed
Incremental Encoder - A robust incremental encoder with support for multiple step-modes.
- Linear
- The mode of a linear quadrature encoder.
- Quad
Step - A step mode that is able to detect a “change” (e.g. movement) for every stable quarter cycle (i.e. 4 change per quadrature cycle), resulting in an effective 4× resolution multiplication.
- Rotary
- The mode of a rotary quadrature encoder.
Enums§
- Error
- An error indicating quadrature or input pin issues.
- Input
PinError - An error indicating an input pin issue.
- Linear
Movement - The movement detected by a linear quadrature encoder.
- Quadrature
Error - An error indicating an invalid quadrature signal sequence.
- Rotary
Movement - The movement detected by a rotary quadrature encoder.
Traits§
- Operation
Mode - The mode of physical operation of a quadrature encoder.
- Poll
Mode - A marker trait for initializing drivers in a specific mode. Inspired by https://github.com/esp-rs/esp-hal
Type Aliases§
- Indexed
Linear Encoder - Linear encoder.
- Indexed
Rotary Encoder - Rotary encoder.
- Linear
Encoder - Linear encoder.
- Rotary
Encoder - Rotary encoder.