From e06017e7c39f3974cb8b5a6965039abd8dc4fa4b Mon Sep 17 00:00:00 2001 From: Tangent 128 Date: Thu, 13 Jun 2019 23:43:22 -0400 Subject: [PATCH] July 4 pattern test, buffering for less glitching --- hello_gradient/src/bin/july4.rs | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 hello_gradient/src/bin/july4.rs diff --git a/hello_gradient/src/bin/july4.rs b/hello_gradient/src/bin/july4.rs new file mode 100644 index 0000000..57e1299 --- /dev/null +++ b/hello_gradient/src/bin/july4.rs @@ -0,0 +1,45 @@ +#![no_std] +#![no_main] + +use core::iter::repeat; +use lights::{ + gamma::GammaCorrector, + PixelIterator, + rgb::{ + Rgb + } +}; +use lights_hal::{boot, delay, entry}; + +#[entry] +fn main() -> ! { + let mut lights = GammaCorrector(boot()); + + let pattern = + repeat(&Rgb(255,0,0)).take(5) + .chain( + repeat(&Rgb(255,255,255)).take(5) + ).cycle().take(60) + .chain( + repeat(&Rgb(255,0,0)).take(5) + ) + .chain( + [ + Rgb(0,0,255), + Rgb(255,255,255), + Rgb(0,0,255), + ].iter().cycle().take(85) + ); + + let mut buffer = [Rgb(255,0,255); 150]; + loop { + for (i, pixel) in pattern.clone().take(150).enumerate() { + buffer[i] = *pixel; + } + + buffer.iter().render_to(&mut lights); + + //pattern.next(); + delay(1_000_000); + } +}