Merge pull request #10 from Caemor/STM32F3DISCOVERY-Beispiel

Added example and tests for stm32f3discovery 

Added an example for stm32f3discovery, which also adds automatic (via travis) build tests for the stm32f3
embedded-hal-1.0
Chris 2018-10-10 11:40:59 +02:00 committed by GitHub
commit e489b7af30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 35 deletions

View File

@ -93,6 +93,7 @@ before_install:
install: install:
- cargo install cargo-travis || true - cargo install cargo-travis || true
- rustup override set nightly - rustup override set nightly
- rustup target add thumbv7m-none-eabi
script: script:
- cargo check - cargo check
@ -102,6 +103,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 --target thumbv7m-none-eabi && 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 {}
} }