Rename RGB to Rgb

This commit is contained in:
Austen Adler 2021-08-06 23:27:41 -04:00
parent fa2f55c170
commit 8791b64636
8 changed files with 53 additions and 53 deletions

View File

@ -1,6 +1,6 @@
#[derive(Copy, Clone, Debug, PartialEq)] #[derive(Copy, Clone, Debug, PartialEq)]
pub struct RGB(pub u8, pub u8, pub u8); pub struct Rgb(pub u8, pub u8, pub u8);
impl RGB { impl Rgb {
pub const fn to_tuple(self) -> (u8, u8, u8) { pub const fn to_tuple(self) -> (u8, u8, u8) {
(self.0, self.1, self.2) (self.0, self.1, self.2)
} }
@ -13,9 +13,9 @@ impl RGB {
// } // }
} }
#[allow(dead_code)] #[allow(dead_code)]
pub const BLACK: RGB = RGB(0, 0, 0); pub const BLACK: Rgb = Rgb(0, 0, 0);
#[allow(dead_code)] #[allow(dead_code)]
pub const WHITE: RGB = RGB(255, 255, 255); pub const WHITE: Rgb = Rgb(255, 255, 255);
// Corrections: // Corrections:
// R: 0x10, G: 0x08, B: 0x00 // R: 0x10, G: 0x08, B: 0x00
@ -33,14 +33,14 @@ pub const WHITE: RGB = RGB(255, 255, 255);
// 177, 180, 182, 184, 186, 189, 191, 193, 196, 198, 200, 203, 205, 208, 210, 213, 215, 218, 220, // 177, 180, 182, 184, 186, 189, 191, 193, 196, 198, 200, 203, 205, 208, 210, 213, 215, 218, 220,
// 223, 225, 228, 231, 233, 236, 239, 241, 244, 247, 249, 252, 255, // 223, 225, 228, 231, 233, 236, 239, 241, 244, 247, 249, 252, 255,
// ]; // ];
pub const RAINBOW: [RGB; 7] = [ pub const RAINBOW: [Rgb; 7] = [
RGB(255, 0, 0), // R Rgb(255, 0, 0), // R
RGB(255, 128, 0), // O Rgb(255, 128, 0), // O
RGB(255, 255, 0), // Y Rgb(255, 255, 0), // Y
RGB(0, 255, 0), // G Rgb(0, 255, 0), // G
RGB(0, 0, 255), // B Rgb(0, 0, 255), // B
RGB(75, 0, 130), // I Rgb(75, 0, 130), // I
RGB(148, 0, 211), // V Rgb(148, 0, 211), // V
]; ];
#[cfg(test)] #[cfg(test)]
@ -48,13 +48,13 @@ mod tests {
use super::*; use super::*;
#[test] #[test]
fn test_to_tuple() { fn test_to_tuple() {
assert_eq!(RGB(213, 14, 0).to_tuple(), (213, 14, 0)); assert_eq!(Rgb(213, 14, 0).to_tuple(), (213, 14, 0));
assert_eq!(WHITE.to_tuple(), (255, 255, 255)); assert_eq!(WHITE.to_tuple(), (255, 255, 255));
assert_eq!(BLACK.to_tuple(), (0, 0, 0)); assert_eq!(BLACK.to_tuple(), (0, 0, 0));
} }
#[test] #[test]
fn test_black() { fn test_black() {
// Most important because this will blank out the strip // Most important because this will blank out the strip
assert_eq!(BLACK, RGB(0, 0, 0)); assert_eq!(BLACK, Rgb(0, 0, 0));
} }
} }

View File

@ -1,4 +1,4 @@
use crate::color::RGB; use crate::color::Rgb;
pub mod collide; pub mod collide;
pub mod fade; pub mod fade;
@ -14,20 +14,20 @@ pub use solid::Solid;
pub trait Pattern: std::fmt::Debug { pub trait Pattern: std::fmt::Debug {
fn init(&mut self, num_lights: u16) -> Result<(), ()>; fn init(&mut self, num_lights: u16) -> Result<(), ()>;
fn step(&mut self) -> Result<bool, ()>; fn step(&mut self) -> Result<bool, ()>;
fn get_strip(&self) -> &[RGB]; fn get_strip(&self) -> &[Rgb];
// fn get_strip_mut(&mut self) -> &[RGB]; // fn get_strip_mut(&mut self) -> &[Rgb];
} }
// #[cfg(test)] // #[cfg(test)]
// mod tests { // mod tests {
// use super::*; // use super::*;
// const NUM_LIGHTS: u16 = 10; // const NUM_LIGHTS: u16 = 10;
// fn test_strip() -> Vec<RGB> { // fn test_strip() -> Vec<Rgb> {
// vec![color::BLACK; NUM_LIGHTS.into()] // vec![color::BLACK; NUM_LIGHTS.into()]
// } // }
// #[test] // #[test]
// fn moving_pixel() { // fn moving_pixel() {
// let color = RGB(123, 152, 89); // let color = Rgb(123, 152, 89);
// let mut pat = MovingPixel::new(color.clone()); // let mut pat = MovingPixel::new(color.clone());
// let mut strip = test_strip(); // let mut strip = test_strip();

View File

@ -1,12 +1,12 @@
use super::Pattern; use super::Pattern;
use crate::color::{self, RGB}; use crate::color::{self, Rgb};
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct Collide { pub struct Collide {
num_lights: u16, num_lights: u16,
left_color: RGB, left_color: Rgb,
right_color: RGB, right_color: Rgb,
conjoined_color: RGB, conjoined_color: Rgb,
step: u16, step: u16,
step_max: u16, step_max: u16,
conjoined_bounds: (u16, u16), conjoined_bounds: (u16, u16),
@ -14,10 +14,10 @@ pub struct Collide {
offset: u16, offset: u16,
previous_offset: u16, previous_offset: u16,
increase_offset: bool, increase_offset: bool,
lights_buf: Vec<RGB>, lights_buf: Vec<Rgb>,
} }
impl Collide { impl Collide {
pub const fn new(left_color: RGB, right_color: RGB, conjoined_color: RGB) -> Self { pub const fn new(left_color: Rgb, right_color: Rgb, conjoined_color: Rgb) -> Self {
Self { Self {
num_lights: 0, num_lights: 0,
left_color, left_color,
@ -147,7 +147,7 @@ impl Pattern for Collide {
Ok(()) Ok(())
} }
fn get_strip(&self) -> &[RGB] { fn get_strip(&self) -> &[Rgb] {
&self.lights_buf &self.lights_buf
} }
} }

View File

@ -1,16 +1,16 @@
use super::Pattern; use super::Pattern;
use crate::color::{self, RGB}; use crate::color::{self, Rgb};
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct Fade { pub struct Fade {
color: RGB, color: Rgb,
step: u8, step: u8,
direction: bool, direction: bool,
num_lights: u16, num_lights: u16,
lights_buf: Vec<RGB>, lights_buf: Vec<Rgb>,
} }
impl Fade { impl Fade {
pub const fn new(color: RGB) -> Self { pub const fn new(color: Rgb) -> Self {
Self { Self {
color, color,
step: 0, step: 0,
@ -33,7 +33,7 @@ impl Pattern for Fade {
} }
self.step = self.step.saturating_sub(1); self.step = self.step.saturating_sub(1);
} }
self.lights_buf = vec![RGB(self.step, self.step, self.step); self.num_lights.into()]; self.lights_buf = vec![Rgb(self.step, self.step, self.step); self.num_lights.into()];
Ok(true) Ok(true)
} }
fn init(&mut self, num_lights: u16) -> Result<(), ()> { fn init(&mut self, num_lights: u16) -> Result<(), ()> {
@ -46,7 +46,7 @@ impl Pattern for Fade {
self.lights_buf = vec![color::BLACK; self.num_lights.into()]; self.lights_buf = vec![color::BLACK; self.num_lights.into()];
Ok(()) Ok(())
} }
fn get_strip(&self) -> &[RGB] { fn get_strip(&self) -> &[Rgb] {
&self.lights_buf &self.lights_buf
} }
} }

View File

@ -1,16 +1,16 @@
use super::Pattern; use super::Pattern;
use crate::color::{self, RGB}; use crate::color::{self, Rgb};
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct MovingPixel { pub struct MovingPixel {
color: RGB, color: Rgb,
num_lights: u16, num_lights: u16,
step: u16, step: u16,
lights_buf: Vec<RGB>, lights_buf: Vec<Rgb>,
} }
impl MovingPixel { impl MovingPixel {
pub const fn new(color: RGB) -> Self { pub const fn new(color: Rgb) -> Self {
Self { Self {
color, color,
step: 0, step: 0,
@ -42,7 +42,7 @@ impl Pattern for MovingPixel {
*self.lights_buf.get_mut(0).ok_or(())? = self.color; *self.lights_buf.get_mut(0).ok_or(())? = self.color;
Ok(()) Ok(())
} }
fn get_strip(&self) -> &[RGB] { fn get_strip(&self) -> &[Rgb] {
&self.lights_buf &self.lights_buf
} }
} }

View File

@ -1,9 +1,9 @@
use super::Pattern; use super::Pattern;
use crate::color::{RAINBOW, RGB}; use crate::color::{Rgb, RAINBOW};
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct MovingRainbow { pub struct MovingRainbow {
lights_buf: Vec<RGB>, lights_buf: Vec<Rgb>,
} }
impl MovingRainbow { impl MovingRainbow {
pub const fn new() -> Self { pub const fn new() -> Self {
@ -31,10 +31,10 @@ impl Pattern for MovingRainbow {
.into(), .into(),
) )
.copied() .copied()
.collect::<Vec<RGB>>(); .collect::<Vec<Rgb>>();
Ok(()) Ok(())
} }
fn get_strip(&self) -> &[RGB] { fn get_strip(&self) -> &[Rgb] {
&self.lights_buf &self.lights_buf
} }
} }

View File

@ -1,14 +1,14 @@
use super::Pattern; use super::Pattern;
use crate::color::RGB; use crate::color::Rgb;
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct Solid { pub struct Solid {
color: RGB, color: Rgb,
has_run: bool, has_run: bool,
lights_buf: Vec<RGB>, lights_buf: Vec<Rgb>,
} }
impl Solid { impl Solid {
pub const fn new(color: RGB) -> Self { pub const fn new(color: Rgb) -> Self {
Self { Self {
color, color,
has_run: false, has_run: false,
@ -31,7 +31,7 @@ impl Pattern for Solid {
Ok(()) Ok(())
} }
fn get_strip(&self) -> &[RGB] { fn get_strip(&self) -> &[Rgb] {
&self.lights_buf &self.lights_buf
} }
} }

View File

@ -1,4 +1,4 @@
use crate::color::RGB; use crate::color::Rgb;
use crate::pattern::{self, Pattern}; use crate::pattern::{self, Pattern};
use crate::strip; use crate::strip;
use std::io; use std::io;
@ -20,7 +20,7 @@ fn parse_cmd(tx: &Sender<strip::Message>, s: &str) -> Result<(), String> {
.as_slice() .as_slice()
{ {
["f", r, g, b] => { ["f", r, g, b] => {
let color = RGB( let color = Rgb(
r.parse::<u8>() r.parse::<u8>()
.map_err(|_| String::from("Red could not be parsed"))?, .map_err(|_| String::from("Red could not be parsed"))?,
g.parse::<u8>() g.parse::<u8>()
@ -34,11 +34,11 @@ fn parse_cmd(tx: &Sender<strip::Message>, s: &str) -> Result<(), String> {
let color_value = c let color_value = c
.parse::<u8>() .parse::<u8>()
.map_err(|_| String::from("Could not parse color"))?; .map_err(|_| String::from("Could not parse color"))?;
let color = RGB(color_value, color_value, color_value); let color = Rgb(color_value, color_value, color_value);
change_pattern(tx, Box::new(pattern::Fade::new(color))) change_pattern(tx, Box::new(pattern::Fade::new(color)))
} }
["m", r, g, b] => { ["m", r, g, b] => {
let color = RGB( let color = Rgb(
r.parse::<u8>() r.parse::<u8>()
.map_err(|_| String::from("Red could not be parsed"))?, .map_err(|_| String::from("Red could not be parsed"))?,
g.parse::<u8>() g.parse::<u8>()
@ -52,7 +52,7 @@ fn parse_cmd(tx: &Sender<strip::Message>, s: &str) -> Result<(), String> {
let color_value = c let color_value = c
.parse::<u8>() .parse::<u8>()
.map_err(|_| String::from("Could not parse color"))?; .map_err(|_| String::from("Could not parse color"))?;
let color = RGB(color_value, color_value, color_value); let color = Rgb(color_value, color_value, color_value);
change_pattern(tx, Box::new(pattern::MovingPixel::new(color))) change_pattern(tx, Box::new(pattern::MovingPixel::new(color)))
}, },
["c", r, g, b] => { ["c", r, g, b] => {
@ -89,8 +89,8 @@ fn parse_cmd(tx: &Sender<strip::Message>, s: &str) -> Result<(), String> {
} }
} }
fn parse_color(r: &str, g: &str, b: &str) -> Result<RGB, String> { fn parse_color(r: &str, g: &str, b: &str) -> Result<Rgb, String> {
Ok(RGB( Ok(Rgb(
r.parse::<u8>() r.parse::<u8>()
.map_err(|_| String::from("Red could not be parsed"))?, .map_err(|_| String::from("Red could not be parsed"))?,
g.parse::<u8>() g.parse::<u8>()