pub struct Input<'d> { /* private fields */ }Expand description
GPIO input driver that owns a Flex pin.
Implementations§
Source§impl<'d> Input<'d>
impl<'d> Input<'d>
Sourcepub fn new(pin: Peri<'d, impl GpioPin>, pull_select: Pull) -> Self
pub fn new(pin: Peri<'d, impl GpioPin>, pull_select: Pull) -> Self
Create a GPIO input driver for a GpioPin.
Sourcepub fn into_flex(self, strength: DriveStrength, slew_rate: SlewRate) -> Flex<'d>
pub fn into_flex(self, strength: DriveStrength, slew_rate: SlewRate) -> Flex<'d>
Expose the inner Flex if callers need to reconfigure the pin.
Since Drive Strength and Slew Rate are not set when creating the Input pin, they need to be set when converting
Source§impl<'d> Input<'d>
Async methods
impl<'d> Input<'d>
Async methods
Sourcepub fn wait_for_high(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
pub fn wait_for_high(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
Wait until the pin is high. If it is already high, return immediately.
Sourcepub fn wait_for_low(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
pub fn wait_for_low(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
Wait until the pin is low. If it is already low, return immediately.
Sourcepub fn wait_for_rising_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
pub fn wait_for_rising_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
Wait for the pin to undergo a transition from low to high.
Sourcepub fn wait_for_falling_edge(
&mut self,
) -> impl Future<Output = ()> + use<'_, 'd>
pub fn wait_for_falling_edge( &mut self, ) -> impl Future<Output = ()> + use<'_, 'd>
Wait for the pin to undergo a transition from high to low.
Sourcepub fn wait_for_any_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
pub fn wait_for_any_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>
Wait for the pin to undergo any transition, i.e low to high OR high to low.
Trait Implementations§
Source§impl Wait for Input<'_>
impl Wait for Input<'_>
Source§async fn wait_for_high(&mut self) -> Result<(), Self::Error>
async fn wait_for_high(&mut self) -> Result<(), Self::Error>
Wait until the pin is high. If it is already high, return immediately. Read more
Source§async fn wait_for_low(&mut self) -> Result<(), Self::Error>
async fn wait_for_low(&mut self) -> Result<(), Self::Error>
Wait until the pin is low. If it is already low, return immediately. Read more
Source§async fn wait_for_rising_edge(&mut self) -> Result<(), Self::Error>
async fn wait_for_rising_edge(&mut self) -> Result<(), Self::Error>
Wait for the pin to undergo a transition from low to high. Read more
Auto Trait Implementations§
impl<'d> Freeze for Input<'d>
impl<'d> !RefUnwindSafe for Input<'d>
impl<'d> !Send for Input<'d>
impl<'d> !Sync for Input<'d>
impl<'d> Unpin for Input<'d>
impl<'d> !UnwindSafe for Input<'d>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more