Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hannobraun/stepper
Universal Stepper Motor Interface
https://github.com/hannobraun/stepper
Last synced: 3 days ago
JSON representation
Universal Stepper Motor Interface
- Host: GitHub
- URL: https://github.com/hannobraun/stepper
- Owner: hannobraun
- License: other
- Created: 2020-10-19T12:32:53.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T12:43:01.000Z (2 months ago)
- Last Synced: 2024-12-15T09:05:24.719Z (10 days ago)
- Language: Rust
- Homepage:
- Size: 353 KB
- Stars: 107
- Watchers: 5
- Forks: 17
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Stepper - Universal Stepper Motor Interface
[![crates.io](https://img.shields.io/crates/v/stepper.svg)](https://crates.io/crates/stepper)
[![Documentation](https://docs.rs/stepper/badge.svg)](https://docs.rs/stepper)
![CI Build](workflows/CI%20Build/badge.svg)## About
**This library might not be suited for most projects these days. See _Status_
below.**Stepper aims to provide an interface that abstracts over stepper motor drivers
and controllers, exposing high-level hardware features directly where available,
or providing software fallbacks where hardware support is lacking.Right now, Stepper supports the following drivers:
- [A4988] ([crate][a4988-crate], [vendor documentation][a4988-doc])
- [DRV8825] ([crate][drv8825-crate], [vendor documentation][drv8825-doc])
- [STSPIN220] ([crate][stspin220-crate], [vendor documentation][stspin220-doc])[A4988]: https://www.allegromicro.com/en/products/motor-drivers/brush-dc-motor-drivers/a4988
[a4988-crate]: https://crates.io/crates/a4988
[a4988-doc]: https://www.pololu.com/file/0J450/A4988.pdf
[DRV8825]: https://www.ti.com/product/DRV8825
[drv8825-crate]: https://crates.io/crates/drv8825
[drv8825-doc]: https://www.ti.com/lit/ds/symlink/drv8825.pdf
[STSPIN220]: https://www.st.com/en/motor-drivers/stspin220.html
[stspin220-crate]: https://crates.io/crates/stspin220
[stspin220-doc]: https://www.st.com/resource/en/datasheet/stspin220.pdfPlease refer to the [API Reference](https://docs.rs/stepper) or one of the
following guides to learn more:- [How to Write a Driver](/documentation/how-to-write-a-driver.md)
- [Platform Support Guide](documentation/platform-support.md)## Status
Stepper has only been passively maintained for many years now. While there have
been some contributions over those years, it seems to increasingly fall into
disrepair.I recommend that you look at other options before using this library. There
might be better ones out there these days. If you still decide to use Stepper,
make sure to check the
[issue tracker](https://github.com/braun-embedded/stepper/issues) first.Pull requests to fix any problems are still welcome.
## Usage
Stepper is a library written in Rust and designed for use in Rust projects. It
will run on any platform supported by Rust, including microcontrollers.Add Stepper to your `Cargo.toml` like this:
```toml
[dependencies.stepper]
version = "0.5" # make sure this is the latest version
```If you just need to use a specific stepper driver, you can also depend on the
crate for that specific driver. For example:```toml
[dependencies.drv8825]
version = "0.5" # make sure this is the latest version
```Please refer to the [API Reference] for more information.
## License
This project is open source software, licensed under the terms of the
[Zero Clause BSD License] (0BSD, for short). This basically means you can do
anything with the software, without any restrictions, but you can't hold the
authors liable for problems.See [LICENSE.md] for full details.
[RampMaker]: https://crates.io/crates/ramp-maker
[API Reference]: https://docs.rs/stepper
[Zero Clause BSD License]: https://opensource.org/licenses/0BSD
[LICENSE.md]: LICENSE.md
[@hannobraun]: https://github.com/hannobraun
[@jessebraham]: https://github.com/jessebraham