embassy-nrf

Crates

git

Versions

nrf52810

Flavors

๐Ÿ“ฃ We want to hear from you! Fill the Rust Embedded 2024 micro-survey.

Struct embassy_nrf::qdec::Qdec

source ยท
pub struct Qdec<'d, T: Instance> { /* private fields */ }
Expand description

Quadrature decoder driver.

Implementationsยง

sourceยง

impl<'d, T: Instance> Qdec<'d, T>

source

pub fn new( qdec: impl Peripheral<P = T> + 'd, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, a: impl Peripheral<P = impl GpioPin> + 'd, b: impl Peripheral<P = impl GpioPin> + 'd, config: Config, ) -> Self

Create a new QDEC.

source

pub fn new_with_led( qdec: impl Peripheral<P = T> + 'd, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, a: impl Peripheral<P = impl GpioPin> + 'd, b: impl Peripheral<P = impl GpioPin> + 'd, led: impl Peripheral<P = impl GpioPin> + 'd, config: Config, ) -> Self

Create a new QDEC, with a pin for LED output.

source

pub async fn read(&mut self) -> i16

Perform an asynchronous read of the decoder. The returned future can be awaited to obtain the number of steps.

If the future is dropped, the read is cancelled.

ยงExample
use embassy_nrf::qdec::{self, Qdec};
use embassy_nrf::{bind_interrupts, peripherals};

bind_interrupts!(struct Irqs {
    QDEC => qdec::InterruptHandler<peripherals::QDEC>;
});

let config = qdec::Config::default();
let mut q = Qdec::new(p.QDEC, Irqs, p.P0_31, p.P0_30, config);
let delta = q.read().await;

Auto Trait Implementationsยง

ยง

impl<'d, T> Freeze for Qdec<'d, T>
where T: Freeze,

ยง

impl<'d, T> RefUnwindSafe for Qdec<'d, T>
where T: RefUnwindSafe,

ยง

impl<'d, T> Send for Qdec<'d, T>

ยง

impl<'d, T> Sync for Qdec<'d, T>
where T: Sync,

ยง

impl<'d, T> Unpin for Qdec<'d, T>
where T: Unpin,

ยง

impl<'d, T> !UnwindSafe for Qdec<'d, T>

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.