improve example
parent
0fc3b5da18
commit
b3c41b0e7f
|
|
@ -122,73 +122,7 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
//fixed currently with the HackInputPin, see further above
|
//fixed currently with the HackInputPin, see further above
|
||||||
let mut epd4in2 = EPD4in2::new(&mut spi, cs, busy_in, dc, rst, &mut delay).expect("eink initalize error");
|
let mut epd4in2 = EPD4in2::new(&mut spi, cs, busy_in, dc, rst, &mut delay).expect("eink initalize error");
|
||||||
|
|
||||||
// //let mut buffer = [0u8, epd4in2.get_width() / 8 * epd4in2.get_height()];
|
println!("Test all the rotations");
|
||||||
// let mut buffer = [0u8; 15000];
|
|
||||||
|
|
||||||
// // draw something
|
|
||||||
// let mut graphics = Graphics::new(400, 300, &mut buffer);
|
|
||||||
// graphics.clear(&Color::White);
|
|
||||||
// graphics.draw_line(0,0,400,300, &Color::Black);
|
|
||||||
|
|
||||||
// graphics.draw_filled_rectangle(200,200, 230, 230, &Color::Black);
|
|
||||||
// graphics.draw_line(202,202,218,228, &Color::White);
|
|
||||||
|
|
||||||
// graphics.draw_circle(200, 150, 130, &Color::Black);
|
|
||||||
|
|
||||||
// graphics.draw_pixel(390, 290, &Color::Black);
|
|
||||||
|
|
||||||
// graphics.draw_horizontal_line(0, 150, 400, &Color::Black);
|
|
||||||
|
|
||||||
// graphics.draw_vertical_line(200, 50, 200, &Color::Black);
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
|
|
||||||
// epd4in2.clear_frame(&mut spi)?;
|
|
||||||
|
|
||||||
// //Test fast updating a bit more
|
|
||||||
// let mut small_buffer = [0x00; 128];
|
|
||||||
// let mut circle_graphics = Graphics::new(32,32, &mut small_buffer);
|
|
||||||
// circle_graphics.draw_circle(16,16, 10, &Color::Black);
|
|
||||||
|
|
||||||
// epd4in2.update_partial_frame(&mut spi, circle_graphics.get_buffer(), 16,16, 32, 32).expect("update frame error");
|
|
||||||
// epd4in2.display_frame(&mut spi)?;
|
|
||||||
|
|
||||||
// epd4in2.update_partial_frame(&mut spi, circle_graphics.get_buffer(), 128,64, 32, 32).expect("update partial frame error");
|
|
||||||
// epd4in2.display_frame(&mut spi)?;
|
|
||||||
|
|
||||||
// epd4in2.update_partial_frame(&mut spi, circle_graphics.get_buffer(), 320,24, 32, 32).expect("update partial frame error");
|
|
||||||
// epd4in2.display_frame(&mut spi)?;
|
|
||||||
|
|
||||||
// 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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// //pub fn draw_string_8x8(&self, buffer: &mut[u8], x0: u16, y0: u16, input: &str, color: &Color) {
|
|
||||||
// graphics.draw_string_8x8(16, 16, "hello", &Color::Black);
|
|
||||||
// graphics.draw_char_8x8(250, 250, '#', &Color::Black);
|
|
||||||
// graphics.draw_char_8x8(300, 16, '7', &Color::Black);
|
|
||||||
// epd4in2.update_frame(&mut spi, graphics.get_buffer())?;
|
|
||||||
// epd4in2.display_frame(&mut spi)?;
|
|
||||||
|
|
||||||
// println!("Finished draw string test");
|
|
||||||
|
|
||||||
//delay.delay_ms(3000u16);
|
|
||||||
|
|
||||||
println!("Now test new graphics:");
|
|
||||||
|
|
||||||
println!("Now test new graphics with rotate0:");
|
|
||||||
let mut display = DisplayEink42BlackWhite::default();
|
let mut display = DisplayEink42BlackWhite::default();
|
||||||
display.set_rotation(DisplayRotation::Rotate0);
|
display.set_rotation(DisplayRotation::Rotate0);
|
||||||
display.draw(
|
display.draw(
|
||||||
|
|
@ -198,27 +132,7 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.translate(Coord::new(5, 50))
|
.translate(Coord::new(5, 50))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
display.draw(
|
|
||||||
Font6x8::render_str("Rotate 0 - inverse!")
|
|
||||||
.with_stroke(Some(Color::White))
|
|
||||||
.with_fill(Some(Color::Black))
|
|
||||||
.translate(Coord::new(50, 70))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
|
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(5, 5), Coord::new(15, 15))
|
|
||||||
.with_stroke(Some(Color::Black))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
|
||||||
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
|
||||||
delay.delay_ms(2000u16);
|
|
||||||
|
|
||||||
println!("Now test new graphics with rotate90:");
|
|
||||||
let mut display = DisplayEink42BlackWhite::default();
|
|
||||||
display.set_rotation(DisplayRotation::Rotate90);
|
display.set_rotation(DisplayRotation::Rotate90);
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("Rotate 90!")
|
Font6x8::render_str("Rotate 90!")
|
||||||
|
|
@ -227,17 +141,7 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.translate(Coord::new(5, 50))
|
.translate(Coord::new(5, 50))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(5, 5), Coord::new(15, 15))
|
|
||||||
.with_stroke(Some(Color::Black))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
|
||||||
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
|
||||||
delay.delay_ms(2000u16);
|
|
||||||
|
|
||||||
println!("Now test new graphics with rotate180:");
|
|
||||||
let mut display = DisplayEink42BlackWhite::default();
|
|
||||||
display.set_rotation(DisplayRotation::Rotate180);
|
display.set_rotation(DisplayRotation::Rotate180);
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("Rotate 180!")
|
Font6x8::render_str("Rotate 180!")
|
||||||
|
|
@ -246,17 +150,7 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.translate(Coord::new(5, 50))
|
.translate(Coord::new(5, 50))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(5, 5), Coord::new(15, 15))
|
|
||||||
.with_stroke(Some(Color::Black))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
|
||||||
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
|
||||||
delay.delay_ms(2000u16);
|
|
||||||
|
|
||||||
println!("Now test new graphics with rotate270:");
|
|
||||||
let mut display = DisplayEink42BlackWhite::default();
|
|
||||||
display.set_rotation(DisplayRotation::Rotate270);
|
display.set_rotation(DisplayRotation::Rotate270);
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("Rotate 270!")
|
Font6x8::render_str("Rotate 270!")
|
||||||
|
|
@ -265,18 +159,17 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.translate(Coord::new(5, 50))
|
.translate(Coord::new(5, 50))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(5, 5), Coord::new(15, 15))
|
|
||||||
.with_stroke(Some(Color::Black))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
||||||
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
||||||
delay.delay_ms(2000u16);
|
delay.delay_ms(5000u16);
|
||||||
|
|
||||||
|
|
||||||
println!("Now test new graphics with default rotation and some special stuff:");
|
println!("Now test new graphics with default rotation and some special stuff:");
|
||||||
let mut display = DisplayEink42BlackWhite::default();
|
let mut display = DisplayEink42BlackWhite::default();
|
||||||
|
|
||||||
|
// draw a analog clock
|
||||||
display.draw(
|
display.draw(
|
||||||
Circle::new(Coord::new(64, 64), 64)
|
Circle::new(Coord::new(64, 64), 64)
|
||||||
.with_stroke(Some(Color::Black))
|
.with_stroke(Some(Color::Black))
|
||||||
|
|
@ -292,6 +185,8 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.with_stroke(Some(Color::Black))
|
.with_stroke(Some(Color::Black))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// draw white on black background
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("It's working-WoB!")
|
Font6x8::render_str("It's working-WoB!")
|
||||||
// Using Style here
|
// Using Style here
|
||||||
|
|
@ -304,8 +199,9 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// use bigger/different font
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("It's working-BoW!")
|
Font12x16::render_str("It's working-BoW!")
|
||||||
// Using Style here
|
// Using Style here
|
||||||
.with_style(Style {
|
.with_style(Style {
|
||||||
fill_color: Some(Color::White),
|
fill_color: Some(Color::White),
|
||||||
|
|
@ -315,41 +211,15 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
.translate(Coord::new(50, 200))
|
.translate(Coord::new(50, 200))
|
||||||
.into_iter(),
|
.into_iter(),
|
||||||
);
|
);
|
||||||
|
|
||||||
display.draw(
|
|
||||||
Font12x16::render_str("It's working-BoW!")
|
|
||||||
// Using Style here
|
|
||||||
.with_style(Style {
|
|
||||||
fill_color: Some(Color::White),
|
|
||||||
stroke_color: Some(Color::Black),
|
|
||||||
stroke_width: 0u8, // Has no effect on fonts
|
|
||||||
})
|
|
||||||
.translate(Coord::new(50, 22))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
|
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(60, 28), Coord::new(120, 28))
|
|
||||||
.with_stroke(Some(Color::White))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
|
|
||||||
display.draw(
|
|
||||||
Line::new(Coord::new(90, 14), Coord::new(90, 42))
|
|
||||||
.with_stroke(Some(Color::Black))
|
|
||||||
.into_iter(),
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let mut i = 0;
|
// a moving `Hello World!`
|
||||||
let mut limit = 2;
|
let limit = 10;
|
||||||
loop {
|
for i in 0..limit {
|
||||||
i += 1;
|
|
||||||
println!("Moving Hello World. Loop {} from {}", i, limit);
|
println!("Moving Hello World. Loop {} from {}", i, limit);
|
||||||
|
|
||||||
display.draw(
|
display.draw(
|
||||||
Font6x8::render_str("Hello World!")
|
Font6x8::render_str(" Hello World! ")
|
||||||
.with_style(Style {
|
.with_style(Style {
|
||||||
fill_color: Some(Color::White),
|
fill_color: Some(Color::White),
|
||||||
stroke_color: Some(Color::Black),
|
stroke_color: Some(Color::Black),
|
||||||
|
|
@ -361,10 +231,7 @@ fn run() -> Result<(), std::io::Error> {
|
||||||
|
|
||||||
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
epd4in2.update_frame(&mut spi, &display.buffer()).unwrap();
|
||||||
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
epd4in2.display_frame(&mut spi).expect("display frame new graphics");
|
||||||
if i >= limit {
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
delay.delay_ms(1_000u16);
|
delay.delay_ms(1_000u16);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue