pub struct Qdec<'d> { /* private fields */ }Expand description
Quadrature decoder driver.
Implementations§
Source§impl<'d> Qdec<'d>
 
impl<'d> Qdec<'d>
Sourcepub fn new<T: Instance>(
    qdec: Peri<'d, T>,
    _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd,
    a: Peri<'d, impl GpioPin>,
    b: Peri<'d, impl GpioPin>,
    config: Config,
) -> Self
 
pub fn new<T: Instance>( qdec: Peri<'d, T>, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, a: Peri<'d, impl GpioPin>, b: Peri<'d, impl GpioPin>, config: Config, ) -> Self
Create a new QDEC.
Sourcepub fn new_with_led<T: Instance>(
    qdec: Peri<'d, T>,
    _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd,
    a: Peri<'d, impl GpioPin>,
    b: Peri<'d, impl GpioPin>,
    led: Peri<'d, impl GpioPin>,
    config: Config,
) -> Self
 
pub fn new_with_led<T: Instance>( qdec: Peri<'d, T>, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, a: Peri<'d, impl GpioPin>, b: Peri<'d, impl GpioPin>, led: Peri<'d, impl GpioPin>, config: Config, ) -> Self
Create a new QDEC, with a pin for LED output.
Sourcepub async fn read(&mut self) -> i16
 
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> Freeze for Qdec<'d>
impl<'d> !RefUnwindSafe for Qdec<'d>
impl<'d> Send for Qdec<'d>
impl<'d> Sync for Qdec<'d>
impl<'d> Unpin for Qdec<'d>
impl<'d> !UnwindSafe for Qdec<'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
Source§impl<T> CheckedAs for T
 
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
    T: CheckedCast<Dst>,
 
fn checked_as<Dst>(self) -> Option<Dst>where
    T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
    Src: CheckedCast<Dst>,
 
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
    Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
 
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
    Dst: LosslessTryFrom<Src>,
 
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
    Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
 
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
    Dst: LossyFrom<Src>,
 
impl<Src, Dst> LossyInto<Dst> for Srcwhere
    Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
 
fn lossy_into(self) -> Dst
Performs the conversion.
Source§impl<T> OverflowingAs for T
 
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
    T: OverflowingCast<Dst>,
 
fn overflowing_as<Dst>(self) -> (Dst, bool)where
    T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
    Src: OverflowingCast<Dst>,
 
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
    Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
 
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
 
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
    T: SaturatingCast<Dst>,
 
fn saturating_as<Dst>(self) -> Dstwhere
    T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
    Src: SaturatingCast<Dst>,
 
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
    Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
 
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
 
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
    T: UnwrappedCast<Dst>,
 
fn unwrapped_as<Dst>(self) -> Dstwhere
    T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
    Src: UnwrappedCast<Dst>,
 
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
    Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
 
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
 
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
    T: WrappingCast<Dst>,
 
fn wrapping_as<Dst>(self) -> Dstwhere
    T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
    Src: WrappingCast<Dst>,
 
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
    Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
 
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.