diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index f25e6baf0..ee0ec1abf 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml @@ -15,7 +15,7 @@ defmt = { version = "0.2.0", optional = true } log = { version = "0.4.11", optional = true } cortex-m-rt = { version = "0.6.13", features = ["device"] } cortex-m = "0.7.1" -embedded-hal = { version = "0.2.4" } +embedded-hal = { version = "0.2.4", features = ["unproven"] } futures = { version = "0.3.5", default-features = false, features = ["async-await"] } rand_core = { version = "0.6.2" } sdio-host = { version = "0.5.0" } diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs index 023ec7a28..873c73b4e 100644 --- a/embassy-stm32/src/gpio.rs +++ b/embassy-stm32/src/gpio.rs @@ -3,7 +3,7 @@ use core::convert::Infallible; use core::marker::PhantomData; use embassy::util::Unborrow; use embassy_extras::{unborrow, unsafe_impl_unborrow}; -use embedded_hal::digital::v2::{InputPin, OutputPin, StatefulOutputPin}; +use embedded_hal::digital::v2::{toggleable, InputPin, OutputPin, StatefulOutputPin}; use crate::pac; use crate::pac::gpio::{self, vals}; @@ -148,6 +148,8 @@ impl<'d, T: Pin> StatefulOutputPin for Output<'d, T> { } } +impl<'d, T: Pin> toggleable::Default for Output<'d, T> {} + pub(crate) mod sealed { use super::*;