embassy-nrf

Crates

git

Versions

nrf9161-s

Flavors

InputChannel

Struct InputChannel 

Source
pub struct InputChannel<'d> { /* private fields */ }
Expand description

GPIOTE channel driver in input mode

Implementations§

Source§

impl InputChannel<'static>

Source

pub fn persist(self)

Persist the channel’s configuration for the rest of the program’s lifetime. This method should be preferred over core::mem::forget() because the 'static bound prevents accidental reuse of the underlying peripheral.

Source§

impl<'d> InputChannel<'d>

Source

pub fn new<C: Channel, T: GpioPin>( ch: Peri<'d, C>, pin: Peri<'d, T>, pull: Pull, polarity: InputChannelPolarity, ) -> Self

Create a new GPIOTE output channel driver.

Source

pub fn wait(&mut self) -> impl Future<Output = ()>

Asynchronously wait for an event in this channel.

It is possible to call this function and await the returned future later. If an even occurs in the mean time, the future will immediately report ready.

Source

pub fn wait_for_high(&mut self) -> impl Future<Output = ()>

Asynchronously wait for the pin to become high.

The channel must be configured with InputChannelPolarity::LoToHi or InputChannelPolarity::Toggle. If the channel is not configured to detect rising edges, it is unspecified when the returned future completes.

It is possible to call this function and await the returned future later. If an even occurs in the mean time, the future will immediately report ready.

Source

pub fn wait_for_low(&mut self) -> impl Future<Output = ()>

Asynchronously wait for the pin to become low.

The channel must be configured with InputChannelPolarity::HiToLo or InputChannelPolarity::Toggle. If the channel is not configured to detect falling edges, it is unspecified when the returned future completes.

It is possible to call this function and await the returned future later. If an even occurs in the mean time, the future will immediately report ready.

Source

pub fn pin(&self) -> &Input<'_>

Get the associated input pin.

Source

pub fn event_in(&self) -> Event<'d>

Returns the IN event, for use with PPI.

Trait Implementations§

Source§

impl<'d> Drop for InputChannel<'d>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl<'d> ErrorType for InputChannel<'d>

Source§

type Error = Infallible

Error type
Source§

impl<'d> InputPin for InputChannel<'d>

Source§

type Error = Infallible

Error type
Source§

fn is_high(&self) -> Result<bool, Self::Error>

Is the input pin high?
Source§

fn is_low(&self) -> Result<bool, Self::Error>

Is the input pin low?
Source§

impl<'d> InputPin for InputChannel<'d>

Source§

fn is_high(&mut self) -> Result<bool, Self::Error>

Is the input pin high?
Source§

fn is_low(&mut self) -> Result<bool, Self::Error>

Is the input pin low?

Auto Trait Implementations§

§

impl<'d> Freeze for InputChannel<'d>

§

impl<'d> RefUnwindSafe for InputChannel<'d>

§

impl<'d> Send for InputChannel<'d>

§

impl<'d> Sync for InputChannel<'d>

§

impl<'d> Unpin for InputChannel<'d>

§

impl<'d> !UnwindSafe for InputChannel<'d>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.