Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
AngelOnFira committed Dec 25, 2021
2 parents 00e2b2e + f477e5c commit e151fc4
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 1 deletion.
3 changes: 3 additions & 0 deletions tree-data-schema/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pub enum Renderers {
SpaceFight,
RainbowWave,
Mario,
JWST,
}

impl fmt::Display for Renderers {
Expand All @@ -27,6 +28,7 @@ impl fmt::Display for Renderers {
Renderers::SpaceFight => write!(f, "Space Fight"),
Renderers::RainbowWave => write!(f, "Rainbow Wave"),
Renderers::Mario => write!(f, "Mario"),
Renderers::JWST => write!(f, "JWST"),
}
}
}
Expand Down Expand Up @@ -55,6 +57,7 @@ pub fn renderer_strings() -> Vec<Renderer> {
(Renderers::SpaceFight, "https://cdn.discordapp.com/attachments/444005079410802699/924071696955215872/spacefight.mp4"),
(Renderers::RainbowWave, "https://cdn.discordapp.com/attachments/444005079410802699/924071697387245598/RainbowWave.mp4"),
(Renderers::Mario, "https://cdn.discordapp.com/attachments/444005079410802699/924071697630527568/Mario.mp4"),
(Renderers::JWST, "https://cdn.discordapp.com/attachments/444005079410802699/924071697630527568/Mario.mp4"),
];

renderers
Expand Down
4 changes: 3 additions & 1 deletion tree-writer/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ use tree_data_schema::{Renderers, FRAME_RATE};

mod renderers;
use crate::renderers::{
ender_logo, mario, rainbow_wave, red_wave, snow, space_fight, template, tree_canvas::TreeCanvas,
ender_logo, mario, rainbow_wave, red_wave, snow, space_fight, template,
tree_canvas::TreeCanvas, JWST,
};

fn create_spi() -> io::Result<Spidev> {
Expand Down Expand Up @@ -102,6 +103,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
Renderers::SpaceFight => space_fight::draw(tick),
Renderers::RainbowWave => rainbow_wave::draw(tick),
Renderers::Mario => mario::draw(tick),
Renderers::JWST => JWST::draw(tick),
};

full_duplex(&mut spi, tree_canvas).unwrap();
Expand Down
1 change: 1 addition & 0 deletions tree-writer/src/renderers/JWST/jwst.json

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions tree-writer/src/renderers/JWST/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
use std::cmp::min;
use std::fs;

use super::{Pixel, TreeCanvas};
use serde::Deserialize;
use serde_json;

// Name: Red Wave
// Description: A basic red wave across the screen
// Author: Forest Anderson

pub fn draw(tick: u64) -> TreeCanvas {
let mut canvas = TreeCanvas::new();

let pixel_json = include_str!("jwst.json");

let pixel_data: Vec<Pixel> = serde_json::from_str(&pixel_json).unwrap();

let mut index = 0;
for y in 0..75 {
for x in 0..20 {
let this_pixel = pixel_data.get(index).unwrap();
canvas.set_pixel(x, y, *this_pixel);
index += 1;
}
}

canvas
}
2 changes: 2 additions & 0 deletions tree-writer/src/renderers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ pub mod red_wave;
pub mod snow;
pub mod space_fight;
pub mod template;
pub mod JWST;

pub mod tree_canvas;

Expand All @@ -23,5 +24,6 @@ pub fn visualize_renderer(tick: u64, renderer: Renderers) -> TreeCanvas {
Renderers::SpaceFight => space_fight::draw(tick),
Renderers::RainbowWave => rainbow_wave::draw(tick),
Renderers::Mario => mario::draw(tick),
Renderers::JWST=>JWST::draw(tick)
}
}

0 comments on commit e151fc4

Please sign in to comment.