Finished stm32f3disovery example.

This example still needs to be tested on the board
embedded-hal-1.0
Christoph Groß 2018-10-09 14:41:26 +02:00
parent 806d9a1e2d
commit 5b80530ba2
4 changed files with 34 additions and 35 deletions

View File

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

View File

@ -8,4 +8,8 @@ It showcases most of what can be done with the crate.
### embedded_linux_epd1in54 ### 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!

View File

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

View File

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