diff --git a/embassy-nrf/src/gpio.rs b/embassy-nrf/src/gpio.rs index 3e3e14b5..fd4ae2ec 100644 --- a/embassy-nrf/src/gpio.rs +++ b/embassy-nrf/src/gpio.rs @@ -59,7 +59,7 @@ impl<'d, T: Pin> Input<'d, T> { /// Returns current pin level #[inline] pub fn get_level(&self) -> Level { - self.pin.is_high().into() + self.pin.get_level() } } @@ -145,10 +145,7 @@ impl<'d, T: Pin> Output<'d, T> { /// Set the output level. #[inline] pub fn set_level(&mut self, level: Level) { - match level { - Level::Low => self.pin.set_low(), - Level::High => self.pin.set_high(), - } + self.pin.set_level(level) } /// Is the output pin set as high? @@ -166,7 +163,7 @@ impl<'d, T: Pin> Output<'d, T> { /// What level output is set to #[inline] pub fn get_output_level(&self) -> Level { - self.pin.is_set_high().into() + self.pin.get_output_level() } } diff --git a/embassy-rp/src/gpio.rs b/embassy-rp/src/gpio.rs index aa1508e9..c6dbb3d4 100644 --- a/embassy-rp/src/gpio.rs +++ b/embassy-rp/src/gpio.rs @@ -73,7 +73,7 @@ impl<'d, T: Pin> Input<'d, T> { /// Returns current pin level #[inline] pub fn get_level(&self) -> Level { - self.pin.is_high().into() + self.pin.get_level() } } @@ -109,10 +109,7 @@ impl<'d, T: Pin> Output<'d, T> { /// Set the output level. #[inline] pub fn set_level(&mut self, level: Level) { - match level { - Level::Low => self.pin.set_low(), - Level::High => self.pin.set_high(), - } + self.pin.set_level(level) } /// Is the output pin set as high? @@ -130,7 +127,7 @@ impl<'d, T: Pin> Output<'d, T> { /// What level output is set to #[inline] pub fn get_output_level(&self) -> Level { - self.pin.is_set_high().into() + self.pin.get_output_level() } /// Toggle pin output diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs index 1ba481e6..1059ebf8 100644 --- a/embassy-stm32/src/gpio.rs +++ b/embassy-stm32/src/gpio.rs @@ -303,7 +303,7 @@ impl<'d, T: Pin> Input<'d, T> { #[inline] pub fn get_level(&self) -> Level { - self.pin.is_high().into() + self.pin.get_level() } } @@ -365,10 +365,7 @@ impl<'d, T: Pin> Output<'d, T> { /// Set the output level. #[inline] pub fn set_level(&mut self, level: Level) { - match level { - Level::Low => self.pin.set_low(), - Level::High => self.pin.set_high(), - } + self.pin.set_level(level) } /// Is the output pin set as high? @@ -386,7 +383,7 @@ impl<'d, T: Pin> Output<'d, T> { /// What level output is set to #[inline] pub fn get_output_level(&self) -> Level { - self.pin.is_set_high().into() + self.pin.get_output_level() } /// Toggle pin output @@ -428,7 +425,7 @@ impl<'d, T: Pin> OutputOpenDrain<'d, T> { /// Returns current pin level #[inline] pub fn get_level(&self) -> Level { - self.pin.is_high().into() + self.pin.get_level() } /// Set the output as high. @@ -446,16 +443,13 @@ impl<'d, T: Pin> OutputOpenDrain<'d, T> { /// Set the output level. #[inline] pub fn set_level(&mut self, level: Level) { - match level { - Level::Low => self.pin.set_low(), - Level::High => self.pin.set_high(), - } + self.pin.set_level(level); } /// Is the output pin set as high? #[inline] pub fn is_set_high(&self) -> bool { - !self.is_set_low() + self.pin.is_set_high() } /// Is the output pin set as low? @@ -467,7 +461,7 @@ impl<'d, T: Pin> OutputOpenDrain<'d, T> { /// What level output is set to #[inline] pub fn get_output_level(&self) -> Level { - self.pin.is_set_high().into() + self.pin.get_output_level() } /// Toggle pin output