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. 6
      examples/Readme.md
  3. 2
      examples/stm32f3discovery/Cargo.toml
  4. 60
      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:

6
examples/Readme.md

@ -8,4 +8,8 @@ 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.
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>"]

60
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();
// epd.display_frame();
// Clear the full screen
epd.clear_frame().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()?;
// }
// 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();
}
// // Clear the full screen
// epd.clear_frame();
// epd.display_frame();
// Clear the full screen
epd.clear_frame().unwrap();
epd.display_frame().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)?;
// 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();
// 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::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::Black.get_byte_value(), 8];
// epd.update_partial_frame(&small_buffer, 96, 96, 8, 8)?;
small_buffer = [Color::Black.get_byte_value(), 8];
epd.update_partial_frame(&small_buffer, 96, 96, 8, 8).unwrap();
// // Display updated frame
// epd.display_frame()?;
// Display updated frame
epd.display_frame().unwrap();
// // Set the EPD to sleep
// epd.sleep()?;
// Set the EPD to sleep
epd.sleep().unwrap();
loop {}
}

Loading…
Cancel
Save