diff --git a/.gitignore b/.gitignore index 987bd7f..dc3b31d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ node_modules/ # Added by cargo /target + +rls*.log \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 5e3d6d7..e36bf23 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ pub mod util; use util::lights::*; -use std::sync::RwLock; +use std::sync::{Arc, RwLock}; use std::thread; use candela::Pixel; @@ -9,10 +9,11 @@ use candela::Pixel; pub const LED_SIZE: usize = 450; fn main() { - let mut p: Pixel = [0, 0, 0, 0]; - let lock = RwLock::new([p; LED_SIZE]); + let p: Pixel = [0, 0, 0, 0]; + let lock = Arc::new(RwLock::new([p; LED_SIZE])); + let lock_c = Arc::clone(&lock); thread::spawn(move || loop { - let lights = lock.read().unwrap(); + let lights = lock_c.read().unwrap(); run_lights(&lights); }); let mut x: u8 = 0; @@ -20,11 +21,7 @@ fn main() { if x == 255 { x = 0; } - let color = Color { - r: x, - g: x, - b: x - }; + let color: Pixel = [x, x, x, 255]; let mut lights = lock.write().unwrap(); lights[0] = color; x += 1;