shift-register-driver

Platform agnostic driver for shift register's built using the embedded-hal.

What works

TODO

Example

```rust use shiftregisterdriver::sipo::ShiftRegister; let shiftregister = ShiftRegister::new(clock, latch, data); { let mut outputs = shiftregister.decompose();

    for i in 0..8 {
        // Optionally control the pins directly through the shift_register struct
        //      or individually by using the decompose method
        // shift_register.update(i, true);

        outputs[i].set_high();
        delay.delay_ms(300u32);
    }

    for i in 0..8 {
        outputs[7-i].set_low();
        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();

```

License

Licensed under either of

at your option.

Contribution

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.