Platform agnostic driver for shift register's built using the embedded-hal
- Controlling outputs through serial-in parallel-out shift registers with 8 outputs
- Chaining shift registers up to 128 outputs
- Add parallel-out serial-in shift register support
use shift_register_driver::sipo::ShiftRegister;
use embedded_hal::digital::v2::OutputPin;
let shift_register = ShiftRegister::new(clock, latch, data);
{
let mut outputs: [_; 8] = shift_register.decompose();
for out in outputs.iter_mut() {
out.set_high().unwrap();
delay.delay_ms(300u32);
}
for out in outputs.iter_mut().rev() {
out.set_low().unwrap();
delay.delay_ms(300u32);
}
}
// shift_register.release() can optionally be used when the shift register is no longer needed
// in order to regain ownership of the original GPIO pins
let (clock, latch, data) = shift_register.release();
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.