hannobraun / stepper

Universal Stepper Motor Interface
Other
107 stars 17 forks source link

The project is a mess: need to deprecate driver-specific crates, update documentation, do a release #155

Open JomerDev opened 3 months ago

JomerDev commented 3 months ago

Is the A4988 driver actually supported? There is conflicting information between the repo and the docs:

The readme links to a A4988 driver crate, but the crate doesn't exist. The documentation on docs.rs doesn't mention the A4988 at all, but mentions a driver that the readme in this repo doesn't mention (DQ542MA).

hannobraun commented 3 months ago

Thanks for opening this issue, @JomerDev. This is a mess :smile:

Here's what I can gather:

Some thoughts:

This doesn't seem like a lot of work, overall. But priorities being what they are, I'm unlikely to find time for that soon.

If somebody wants to volunteer, I'm happy to assist with guidance, reviewing pull requests, and doing cargo publish where required. But this needs a contributor to do the legwork.

dsluo commented 3 months ago

In the Arduino world, AccelStepper and FastAccelStepper only control the movement of the steppers via step, dir, and enable pins, and don't really concern themselves with the drivers. Something like the A4988 is probably fine without a library, but the Trinamic drivers have the TMCStepper library to handle the UART communication with the driver.

The same approach for this crate make sense to me.

hannobraun commented 3 months ago

This project is also focused on STEP/DIR/ENABLE pins. Any drivers with a different interface are definitely out of scope.

There are two reasons we still have driver-specific code in here:

The driver-specific code enables this library to provide a unified interface, without requiring the user to know about timings or which pins to set how to get a specific mode. And it's really not a big deal to have that.