4 releases

0.2.0 Sep 17, 2021
0.1.2 Jul 26, 2020
0.1.1 Jul 26, 2020
0.1.0 Jul 26, 2020

#1622 in Embedded development

Download history 69/week @ 2024-03-12 37/week @ 2024-03-19 36/week @ 2024-03-26 43/week @ 2024-04-02 114/week @ 2024-04-09 96/week @ 2024-04-16 36/week @ 2024-04-23 1/week @ 2024-04-30 24/week @ 2024-05-07 35/week @ 2024-05-14 1/week @ 2024-05-21 17/week @ 2024-05-28 45/week @ 2024-06-04 38/week @ 2024-06-11 20/week @ 2024-06-18 14/week @ 2024-06-25

125 downloads per month

MIT/Apache

23KB
305 lines

Blinq - a blinking queue

Documentation

A queue for toggling a GPIO or blinking an LED, with binary patterns encoded as a u32.

Example

use blinq::{Pattern, Blinq, patterns, consts};

// Create a blink queue with room for 8 patterns (note: the capacity must be 1 higher
// then the amount of patterns you wish to store), that is active-low
let mut blinq: Blinq<9, FakeGpio> = Blinq::new(gpio, true);

// Insert "HELLO." in morse code

blinq.enqueue(patterns::morse::H); // 8 steps
blinq.enqueue(patterns::morse::E); // 2 steps
blinq.enqueue(patterns::morse::L); // 10 steps
blinq.enqueue(patterns::morse::L); // 10 steps
blinq.enqueue(patterns::morse::O); // 12 steps
blinq.enqueue(patterns::morse::FULL_STOP); // 18 steps

// This is 60 steps
for _ in 0..60 {
   blinq.step();
}

// The queue is now exhausted, and the GPIO will be driven to the
// inactive state
blinq.step();

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.

Dependencies

~715KB
~13K SLoC