Browse Source

Finished stm32f3disovery example.

This example still needs to be tested on the board
embedded-hal-1.0
Christoph Groß 7 years ago
parent
commit
5b80530ba2
  1. 1
      .travis.yml
  2. 4
      examples/Readme.md
  3. 2
      examples/stm32f3discovery/Cargo.toml
  4. 58
      examples/stm32f3discovery/src/main.rs

1
.travis.yml

@ -102,6 +102,7 @@ script:
- cargo doc --all-features --release
- cd examples/embedded_linux_epd4in2 && cargo check && cd ../../
- cd examples/embedded_linux_epd1in54 && cargo check && cd ../../
- cd examples/stm32f3discovery && cargo check && cd ../../
#- cd ../f3_stm32f30x && cargo build
after_success:

4
examples/Readme.md

@ -9,3 +9,7 @@ It showcases most of what can be done with the crate.
### embedded_linux_epd1in54
This example doesn't use the graphics feature of the crate and shows the fast update rate of the 1in54 EPD.
### stm32f3discovery
Not tested yet!

2
examples/stm32f3discovery/Cargo.toml

@ -1,5 +1,5 @@
[package]
name = "STM32F3DISCOVERY-EInk-Example"
name = "stm32_f3_discovery_eink_example"
version = "0.1.0"
authors = ["Christoph Groß <christoph-gross@mailbox.org>"]

58
examples/stm32f3discovery/src/main.rs

@ -73,7 +73,7 @@ fn main() -> ! {
cs.set_high();
// // Configure Busy Input Pin
let mut busy = gpioe
let busy = gpioe
.pe4
.into_floating_input(&mut gpioe.moder, &mut gpioe.pupdr);
// .pe4
@ -132,46 +132,40 @@ fn main() -> ! {
// // Now the "real" usage of the eink-waveshare-rs crate begins
let mut epd = EPD1in54::new(spi, cs, busy, dc, rst, delay).unwrap();
//let mut l3gd20 = L3gd20::new(spi, nss).unwrap();
//let _m = l3gd20.all().unwrap();
// when you reach this breakpoint you'll be able to inspect the variable `_m` which contains the
// gyroscope and the temperature sensor readings
//asm::bkpt();
// Clear the full screen
epd.clear_frame().unwrap();
epd.display_frame().unwrap();
// // Clear the full screen
// epd.clear_frame();
// epd.display_frame();
// Speeddemo
let small_buffer = [Color::Black.get_byte_value(), 16 as u8 / 8 * 16 as u8];
let number_of_runs = 100;
for i in 0..number_of_runs {
let offset = i * 8 % 150;
epd.update_partial_frame(&small_buffer, 25 + offset, 25 + offset, 16, 16).unwrap();
epd.display_frame().unwrap();
}
// // Speeddemo
// let small_buffer = [Color::Black.get_byte_value(), 16 as u8 / 8 * 16 as u8];
// let number_of_runs = 100;
// for i in 0..number_of_runs {
// let offset = i * 8 % 150;
// epd.update_partial_frame(&small_buffer, 25 + offset, 25 + offset, 16, 16)?;
// epd.display_frame()?;
// }
// Clear the full screen
epd.clear_frame().unwrap();
epd.display_frame().unwrap();
// // Clear the full screen
// epd.clear_frame();
// epd.display_frame();
// Draw some squares
let mut small_buffer = [Color::Black.get_byte_value(), 160 as u8 / 8 * 160 as u8];
epd.update_partial_frame(&small_buffer, 20, 20, 160, 160).unwrap();
// // Draw some squares
// let mut small_buffer = [Color::Black.get_byte_value(), 160 as u8 / 8 * 160 as u8];
// epd.update_partial_frame(&small_buffer, 20, 20, 160, 160)?;
small_buffer = [Color::White.get_byte_value(), 80 as u8 / 8 * 80 as u8];
epd.update_partial_frame(&small_buffer, 60, 60, 80, 80).unwrap();
// small_buffer = [Color::White.get_byte_value(), 80 as u8 / 8 * 80 as u8];
// epd.update_partial_frame(&small_buffer, 60, 60, 80, 80)?;
small_buffer = [Color::Black.get_byte_value(), 8];
epd.update_partial_frame(&small_buffer, 96, 96, 8, 8).unwrap();
// small_buffer = [Color::Black.get_byte_value(), 8];
// epd.update_partial_frame(&small_buffer, 96, 96, 8, 8)?;
// Display updated frame
epd.display_frame().unwrap();
// // Display updated frame
// epd.display_frame()?;
// // Set the EPD to sleep
// epd.sleep()?;
// Set the EPD to sleep
epd.sleep().unwrap();
loop {}
}

Loading…
Cancel
Save