From 53e40860c17b2525ad4a8d25d6d0aa7fe4da789b Mon Sep 17 00:00:00 2001 From: chemicstry Date: Wed, 13 Jul 2022 02:45:37 +0300 Subject: [PATCH] Move all gpio logic to Flex --- embassy-nrf/src/gpio.rs | 9 +++------ embassy-rp/src/gpio.rs | 9 +++------ embassy-stm32/src/gpio.rs | 20 +++++++------------- 3 files changed, 13 insertions(+), 25 deletions(-) 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