From 2bab732b6fa89fb59cb79db06f8fd7658c0e5e3f Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 16 Oct 2018 18:08:43 +0200 Subject: [PATCH] use new graphics in example --- examples/embedded_linux_epd4in2/src/main.rs | 48 +++++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/examples/embedded_linux_epd4in2/src/main.rs b/examples/embedded_linux_epd4in2/src/main.rs index 922cf67..8e61235 100644 --- a/examples/embedded_linux_epd4in2/src/main.rs +++ b/examples/embedded_linux_epd4in2/src/main.rs @@ -8,6 +8,7 @@ extern crate eink_waveshare_rs; use eink_waveshare_rs::{ EPD4in2, drawing_old::{Graphics}, + drawing::DisplayEink42BlackWhite, color::Color, WaveshareDisplay, }; @@ -136,6 +137,8 @@ fn run() -> Result<(), std::io::Error> { epd4in2.clear_frame(&mut spi).expect("clear frame error"); epd4in2.update_frame(&mut spi, graphics.get_buffer()).expect("update frame error"); epd4in2.display_frame(&mut spi)?; + + println!("Finished basic old graphics test"); delay.delay_ms(3000u16); @@ -158,6 +161,8 @@ fn run() -> Result<(), std::io::Error> { epd4in2.update_partial_frame(&mut spi, circle_graphics.get_buffer(), 160,240, 32, 32).expect("update partial frame error"); epd4in2.display_frame(&mut spi)?; + println!("Finished partial update test"); + delay.delay_ms(3000u16); @@ -170,7 +175,44 @@ fn run() -> Result<(), std::io::Error> { epd4in2.update_frame(&mut spi, graphics.get_buffer())?; epd4in2.display_frame(&mut spi)?; - delay.delay_ms(3000u16); + println!("Finished draw string test"); - epd4in2.sleep(&mut spi) -} + delay.delay_ms(3000u16); + println!("Now test new graphics:"); + + let mut i = 0; + loop { + println!("Loop {}", i); + i += 1; + let mut display = DisplayEink42BlackWhite::default(); + display.draw( + Circle::new(Coord::new(64, 64), 64) + .with_stroke(Some(1u8.into())) + .into_iter(), + ); + display.draw( + Line::new(Coord::new(64, 64), Coord::new(0, 64)) + .with_stroke(Some(1u8.into())) + .into_iter(), + ); + display.draw( + Line::new(Coord::new(64, 64), Coord::new(80, 80)) + .with_stroke(Some(1u8.into())) + .into_iter(), + ); + display.draw( + Font6x8::render_str("Hello World!") + .with_stroke(Some(1u8.into())) + .translate(Coord::new(5 + i, 50)) + .into_iter(), + ); + + epd4in2.update_frame(&mut spi, &display.get_buffer()).unwrap(); + epd4in2.display_frame(&mut spi); + if i > 296 { + epd4in2.sleep(&mut spi)?; + return; + } + delay.delay_ms(1_000u16); + } +}