blinkt_cdev 0.1.0

Interface for Pimoroni Blinkt! for Raspberry Pi.
Documentation
use anyhow::Result;
use blinkt_cdev::*;
use rand::Rng;
use std::thread::sleep;
use std::time::Duration;

pub fn main() -> Result<()> {
    let mut blinkt = Blinkt::new()?;
    let mut brightness: f32 = 0.0;
    let mut brightness_change = 0.1;
    let mut rng = rand::thread_rng();
    blinkt.set_all_pixels(255, 0, 0, 1.0);
    blinkt.show()?;
    for pixel in 0..8 {
        blinkt.set_pixel(pixel, rng.gen(), rng.gen(), rng.gen(), brightness);
        blinkt.show()?;
    }
    for _ in 0..100 {
        if brightness >= 1.0 {
            brightness_change = -0.1;
        } else if brightness <= 0.0 {
            brightness_change = 0.1;
        }
        brightness += brightness_change;
        println!("{}", brightness);
        for pixel in 0..8 {
            let (red, green, blue, _) = blinkt.get_pixel(pixel)?;
            blinkt.set_pixel(pixel, red, green, blue, brightness)
        }
        blinkt.show()?;
        sleep(Duration::from_millis(250));
    }

    Ok(())
}