diff --git a/Cargo.toml b/Cargo.toml index 7341be2..08f3123 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,4 +36,4 @@ version = "0.5.2" [dependencies.embedded-hal] features = ["unproven"] -version = "0.2.1" +version = "0.2.3" diff --git a/src/epd1in54/mod.rs b/src/epd1in54/mod.rs index e262f08..e66f032 100644 --- a/src/epd1in54/mod.rs +++ b/src/epd1in54/mod.rs @@ -41,7 +41,7 @@ const IS_BUSY_LOW: bool = false; use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; use crate::type_a::{ diff --git a/src/epd1in54b/mod.rs b/src/epd1in54b/mod.rs index 9e9b1cb..75bd987 100644 --- a/src/epd1in54b/mod.rs +++ b/src/epd1in54b/mod.rs @@ -2,7 +2,7 @@ use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; use crate::interface::DisplayInterface; diff --git a/src/epd2in9/mod.rs b/src/epd2in9/mod.rs index 4bb8d5a..2e2665f 100644 --- a/src/epd2in9/mod.rs +++ b/src/epd2in9/mod.rs @@ -42,7 +42,7 @@ const IS_BUSY_LOW: bool = false; use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; use crate::type_a::{ diff --git a/src/epd4in2/mod.rs b/src/epd4in2/mod.rs index 49398a3..f983083 100644 --- a/src/epd4in2/mod.rs +++ b/src/epd4in2/mod.rs @@ -48,7 +48,7 @@ use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; use crate::interface::DisplayInterface; diff --git a/src/epd7in5/mod.rs b/src/epd7in5/mod.rs index 33fe716..42711d8 100644 --- a/src/epd7in5/mod.rs +++ b/src/epd7in5/mod.rs @@ -8,7 +8,7 @@ use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::v1::{InputPin, OutputPin}, + digital::v2::{InputPin, OutputPin}, }; use crate::color::Color; diff --git a/src/interface.rs b/src/interface.rs index 27dec7b..d250f36 100644 --- a/src/interface.rs +++ b/src/interface.rs @@ -2,7 +2,7 @@ use crate::traits::Command; use core::marker::PhantomData; use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; /// The Connection Interface of all (?) Waveshare EPD-Devices @@ -43,7 +43,7 @@ where /// Enables direct interaction with the device with the help of [data()](DisplayInterface::data()) pub(crate) fn cmd(&mut self, spi: &mut SPI, command: T) -> Result<(), SPI::Error> { // low for commands - self.dc.set_low(); + let _ = self.dc.set_low(); // Transfer the command over spi self.write(spi, &[command.address()]) @@ -54,7 +54,7 @@ where /// Enables direct interaction with the device with the help of [command()](EPD4in2::command()) pub(crate) fn data(&mut self, spi: &mut SPI, data: &[u8]) -> Result<(), SPI::Error> { // high for data - self.dc.set_high(); + let _ = self.dc.set_high(); // Transfer data (u8-array) over spi self.write(spi, data) @@ -83,7 +83,7 @@ where repetitions: u32, ) -> Result<(), SPI::Error> { // high for data - self.dc.set_high(); + let _ = self.dc.set_high(); // Transfer data (u8) over spi for _ in 0..repetitions { self.write(spi, &[val])?; @@ -94,7 +94,7 @@ where // spi write helper/abstraction function fn write(&mut self, spi: &mut SPI, data: &[u8]) -> Result<(), SPI::Error> { // activate spi with cs low - self.cs.set_low(); + let _ = self.cs.set_low(); // transfer spi data // Be careful!! Linux has a default limit of 4096 bytes per spi transfer @@ -108,7 +108,7 @@ where } // deativate spi with cs high - self.cs.set_high(); + let _ = self.cs.set_high(); Ok(()) } @@ -138,7 +138,7 @@ where } /// Checks if device is still busy - /// + /// /// This is normally handled by the more complicated commands themselves, /// but in the case you send data and commands directly you might need to check /// if the device is still busy @@ -151,7 +151,7 @@ where /// Most likely there was a mistake with the 2in9 busy connection /// //TODO: use the #cfg feature to make this compile the right way for the certain types pub(crate) fn is_busy(&self, is_busy_low: bool) -> bool { - (is_busy_low && self.busy.is_low()) || (!is_busy_low && self.busy.is_high()) + (is_busy_low && self.busy.is_low().unwrap_or(false)) || (!is_busy_low && self.busy.is_high().unwrap_or(false)) } /// Resets the device. @@ -160,10 +160,10 @@ where /// /// TODO: Takes at least 400ms of delay alone, can it be shortened? pub(crate) fn reset>(&mut self, delay: &mut DELAY) { - self.rst.set_low(); + let _ = self.rst.set_low(); //TODO: why 200ms? (besides being in the arduino version) delay.delay_ms(200); - self.rst.set_high(); + let _ = self.rst.set_high(); //TODO: same as 3 lines above delay.delay_ms(200); } diff --git a/src/traits.rs b/src/traits.rs index 2af6dec..87142dc 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -2,7 +2,7 @@ use crate::color::Color; use core::marker::Sized; use embedded_hal::{ blocking::{delay::*, spi::Write}, - digital::*, + digital::v2::*, }; /// All commands need to have this trait which gives the address of the command