Stepper motor driver that supports A49xx and DRV88xx families of stepper drivers.
```rust
extern crate panicabort; extern crate cortexm; extern crate embeddedhal; extern crate tm4c123xhal as hal; extern crate stepper_rs;
use hal::delay::Delay; use hal::gpio::GpioExt; use hal::sysctl::SysctlExt;
fn main() { let p = hal::Peripherals::take().unwrap(); let sysctl = p.SYSCTL.constrain(); let portc = p.GPIOPORTC.split(&sysctl.powercontrol); let clocks = sysctl.clock_setup.freeze();
let cp = cortex_m::Peripherals::take().unwrap();
let mut driver = stepper_rs::MotorDriver::a4988(
Delay::new(cp.SYST, &clocks),
portc.pc6.into_push_pull_output(),
portc.pc7.into_push_pull_output(),
200,
16,
100f32
);
loop {
driver.set_speed(100f32);
driver.set_direction(true);
driver.move_instant(600);
driver.set_direction(false);
driver.move_instant(600);
driver.set_speed(300f32);
driver.set_direction(true);
driver.move_smooth(1600, 150, 150);
driver.set_direction(false);
driver.move_smooth(1600, 150, 150);
}
} ```
hal::delay
into properly configured timer when
embedded-hal will get more
consistent CountDowm::Time
restrictions.Licensed at your option under either of