Update embedded-hal to 1.0.0-rc.3

This commit is contained in:
Dario Nieuwenhuis
2023-12-14 16:01:51 +01:00
parent 7b9b22d7f8
commit 9d8dbd67fe
41 changed files with 238 additions and 203 deletions

View File

@ -94,8 +94,8 @@ embassy-embedded-hal = {version = "0.1.0", path = "../embassy-embedded-hal" }
embassy-usb-driver = {version = "0.1.0", path = "../embassy-usb-driver" }
embedded-hal-02 = { package = "embedded-hal", version = "0.2.6", features = ["unproven"] }
embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-rc.2" }
embedded-hal-async = { version = "=1.0.0-rc.2" }
embedded-hal-1 = { package = "embedded-hal", version = "=1.0.0-rc.3" }
embedded-hal-async = { version = "=1.0.0-rc.3" }
embedded-io = { version = "0.6.0" }
embedded-io-async = { version = "0.6.1" }
@ -120,4 +120,3 @@ nrf52840-pac = { version = "0.12.0", optional = true }
nrf5340-app-pac = { version = "0.12.0", optional = true }
nrf5340-net-pac = { version = "0.12.0", optional = true }
nrf9160-pac = { version = "0.12.0", optional = true }

View File

@ -52,19 +52,19 @@ impl<'d, T: Pin> Input<'d, T> {
/// Test if current pin level is high.
#[inline]
pub fn is_high(&self) -> bool {
pub fn is_high(&mut self) -> bool {
self.pin.is_high()
}
/// Test if current pin level is low.
#[inline]
pub fn is_low(&self) -> bool {
pub fn is_low(&mut self) -> bool {
self.pin.is_low()
}
/// Returns current pin level
#[inline]
pub fn get_level(&self) -> Level {
pub fn get_level(&mut self) -> Level {
self.pin.get_level()
}
}
@ -160,19 +160,19 @@ impl<'d, T: Pin> Output<'d, T> {
/// Is the output pin set as high?
#[inline]
pub fn is_set_high(&self) -> bool {
pub fn is_set_high(&mut self) -> bool {
self.pin.is_set_high()
}
/// Is the output pin set as low?
#[inline]
pub fn is_set_low(&self) -> bool {
pub fn is_set_low(&mut self) -> bool {
self.pin.is_set_low()
}
/// What level output is set to
#[inline]
pub fn get_output_level(&self) -> Level {
pub fn get_output_level(&mut self) -> Level {
self.pin.get_output_level()
}
}
@ -277,19 +277,24 @@ impl<'d, T: Pin> Flex<'d, T> {
/// Test if current pin level is high.
#[inline]
pub fn is_high(&self) -> bool {
pub fn is_high(&mut self) -> bool {
!self.is_low()
}
/// Test if current pin level is low.
#[inline]
pub fn is_low(&self) -> bool {
pub fn is_low(&mut self) -> bool {
self.ref_is_low()
}
#[inline]
pub(crate) fn ref_is_low(&self) -> bool {
self.pin.block().in_.read().bits() & (1 << self.pin.pin()) == 0
}
/// Returns current pin level
#[inline]
pub fn get_level(&self) -> Level {
pub fn get_level(&mut self) -> Level {
self.is_high().into()
}
@ -316,19 +321,25 @@ impl<'d, T: Pin> Flex<'d, T> {
/// Is the output pin set as high?
#[inline]
pub fn is_set_high(&self) -> bool {
pub fn is_set_high(&mut self) -> bool {
!self.is_set_low()
}
/// Is the output pin set as low?
#[inline]
pub fn is_set_low(&self) -> bool {
pub fn is_set_low(&mut self) -> bool {
self.ref_is_set_low()
}
/// Is the output pin set as low?
#[inline]
pub(crate) fn ref_is_set_low(&self) -> bool {
self.pin.block().out.read().bits() & (1 << self.pin.pin()) == 0
}
/// What level output is set to
#[inline]
pub fn get_output_level(&self) -> Level {
pub fn get_output_level(&mut self) -> Level {
self.is_set_high().into()
}
}
@ -498,11 +509,11 @@ mod eh02 {
type Error = Infallible;
fn is_high(&self) -> Result<bool, Self::Error> {
Ok(self.is_high())
Ok(!self.pin.ref_is_low())
}
fn is_low(&self) -> Result<bool, Self::Error> {
Ok(self.is_low())
Ok(self.pin.ref_is_low())
}
}
@ -520,11 +531,11 @@ mod eh02 {
impl<'d, T: Pin> embedded_hal_02::digital::v2::StatefulOutputPin for Output<'d, T> {
fn is_set_high(&self) -> Result<bool, Self::Error> {
Ok(self.is_set_high())
Ok(!self.pin.ref_is_set_low())
}
fn is_set_low(&self) -> Result<bool, Self::Error> {
Ok(self.is_set_low())
Ok(self.pin.ref_is_set_low())
}
}
@ -535,11 +546,11 @@ mod eh02 {
type Error = Infallible;
fn is_high(&self) -> Result<bool, Self::Error> {
Ok(self.is_high())
Ok(!self.ref_is_low())
}
fn is_low(&self) -> Result<bool, Self::Error> {
Ok(self.is_low())
Ok(self.ref_is_low())
}
}
@ -557,11 +568,11 @@ mod eh02 {
impl<'d, T: Pin> embedded_hal_02::digital::v2::StatefulOutputPin for Flex<'d, T> {
fn is_set_high(&self) -> Result<bool, Self::Error> {
Ok(self.is_set_high())
Ok(!self.ref_is_set_low())
}
fn is_set_low(&self) -> Result<bool, Self::Error> {
Ok(self.is_set_low())
Ok(self.ref_is_set_low())
}
}
}
@ -571,11 +582,11 @@ impl<'d, T: Pin> embedded_hal_1::digital::ErrorType for Input<'d, T> {
}
impl<'d, T: Pin> embedded_hal_1::digital::InputPin for Input<'d, T> {
fn is_high(&self) -> Result<bool, Self::Error> {
fn is_high(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_high())
}
fn is_low(&self) -> Result<bool, Self::Error> {
fn is_low(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_low())
}
}
@ -595,11 +606,11 @@ impl<'d, T: Pin> embedded_hal_1::digital::OutputPin for Output<'d, T> {
}
impl<'d, T: Pin> embedded_hal_1::digital::StatefulOutputPin for Output<'d, T> {
fn is_set_high(&self) -> Result<bool, Self::Error> {
fn is_set_high(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_set_high())
}
fn is_set_low(&self) -> Result<bool, Self::Error> {
fn is_set_low(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_set_low())
}
}
@ -612,11 +623,11 @@ impl<'d, T: Pin> embedded_hal_1::digital::ErrorType for Flex<'d, T> {
///
/// If the pin is not in input mode the result is unspecified.
impl<'d, T: Pin> embedded_hal_1::digital::InputPin for Flex<'d, T> {
fn is_high(&self) -> Result<bool, Self::Error> {
fn is_high(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_high())
}
fn is_low(&self) -> Result<bool, Self::Error> {
fn is_low(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_low())
}
}
@ -632,11 +643,11 @@ impl<'d, T: Pin> embedded_hal_1::digital::OutputPin for Flex<'d, T> {
}
impl<'d, T: Pin> embedded_hal_1::digital::StatefulOutputPin for Flex<'d, T> {
fn is_set_high(&self) -> Result<bool, Self::Error> {
fn is_set_high(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_set_high())
}
fn is_set_low(&self) -> Result<bool, Self::Error> {
fn is_set_low(&mut self) -> Result<bool, Self::Error> {
Ok(self.is_set_low())
}
}

View File

@ -243,7 +243,7 @@ impl<'d, C: Channel, T: GpioPin> Drop for OutputChannel<'d, C, T> {
impl<'d, C: Channel, T: GpioPin> OutputChannel<'d, C, T> {
/// Create a new GPIOTE output channel driver.
pub fn new(ch: impl Peripheral<P = C> + 'd, pin: Output<'d, T>, polarity: OutputChannelPolarity) -> Self {
pub fn new(ch: impl Peripheral<P = C> + 'd, mut pin: Output<'d, T>, polarity: OutputChannelPolarity) -> Self {
into_ref!(ch);
let g = regs();
let num = ch.number();
@ -481,11 +481,11 @@ mod eh02 {
type Error = Infallible;
fn is_high(&self) -> Result<bool, Self::Error> {
Ok(self.pin.is_high())
Ok(!self.pin.pin.ref_is_low())
}
fn is_low(&self) -> Result<bool, Self::Error> {
Ok(self.pin.is_low())
Ok(self.pin.pin.ref_is_low())
}
}
}
@ -495,11 +495,11 @@ impl<'d, C: Channel, T: GpioPin> embedded_hal_1::digital::ErrorType for InputCha
}
impl<'d, C: Channel, T: GpioPin> embedded_hal_1::digital::InputPin for InputChannel<'d, C, T> {
fn is_high(&self) -> Result<bool, Self::Error> {
fn is_high(&mut self) -> Result<bool, Self::Error> {
Ok(self.pin.is_high())
}
fn is_low(&self) -> Result<bool, Self::Error> {
fn is_low(&mut self) -> Result<bool, Self::Error> {
Ok(self.pin.is_low())
}
}