pub struct AnyPcntUnit<'d>(/* private fields */);Expand description
Any PCNT unit.
A type-erased version of a peripheral singleton. Useful
for creating arrays of peripherals, or avoiding generics. Peripheral singletons
can be type erased by using their From implementation.
ⓘ
let any_peripheral = AnyPcntUnit::from(peripheral);Implementations§
Source§impl AnyPcntUnit<'_>
impl AnyPcntUnit<'_>
Sourcepub unsafe fn clone_unchecked(&self) -> Self
pub unsafe fn clone_unchecked(&self) -> Self
Unsafely clone this peripheral reference.
§Safety
The caller must ensure that only one instance of this type is used at a time.
Sourcepub fn reborrow(&mut self) -> AnyPcntUnit<'_>
pub fn reborrow(&mut self) -> AnyPcntUnit<'_>
Creates a new peripheral reference with a shorter lifetime.
Use this method to keep working with the peripheral after dropping the driver that consumes this.
See Peripheral singleton section for more information.
Sourcepub fn downcast<P>(self) -> Result<P, Self>where
Self: TryInto<P, Error = Self>,
pub fn downcast<P>(self) -> Result<P, Self>where
Self: TryInto<P, Error = Self>,
Attempts to downcast the pin into the underlying peripheral instance.
§Example
// let peri0 = peripherals.PERI0;
// let peri1 = peripherals.PERI1;
let any_peri0 = AnyPeripheral::from(peri0);
let any_peri1 = AnyPeripheral::from(peri1);
let uart0 = any_peri0
.downcast::<PERI0>()
.expect("This downcast succeeds because AnyPeripheral was created from Peri0");
let uart0 = any_peri1
.downcast::<PERI0>()
.expect_err("This AnyPeripheral was created from Peri1, it cannot be downcast to Peri0");Trait Implementations§
Source§impl<'d> Debug for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> Debug for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§impl<'d> From<PCNT0_UNIT0<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT0_UNIT0<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT0_UNIT0<'d>) -> Self
fn from(inner: PCNT0_UNIT0<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT0_UNIT1<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT0_UNIT1<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT0_UNIT1<'d>) -> Self
fn from(inner: PCNT0_UNIT1<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT0_UNIT2<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT0_UNIT2<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT0_UNIT2<'d>) -> Self
fn from(inner: PCNT0_UNIT2<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT0_UNIT3<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT0_UNIT3<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT0_UNIT3<'d>) -> Self
fn from(inner: PCNT0_UNIT3<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT1_UNIT0<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT1_UNIT0<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT1_UNIT0<'d>) -> Self
fn from(inner: PCNT1_UNIT0<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT1_UNIT1<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT1_UNIT1<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT1_UNIT1<'d>) -> Self
fn from(inner: PCNT1_UNIT1<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT1_UNIT2<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT1_UNIT2<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT1_UNIT2<'d>) -> Self
fn from(inner: PCNT1_UNIT2<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> From<PCNT1_UNIT3<'d>> for AnyPcntUnit<'d>
Available on crate feature unstable only.
impl<'d> From<PCNT1_UNIT3<'d>> for AnyPcntUnit<'d>
Available on crate feature
unstable only.Source§fn from(inner: PCNT1_UNIT3<'d>) -> Self
fn from(inner: PCNT1_UNIT3<'d>) -> Self
Converts to this type from the input type.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT0<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT0<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT1<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT1<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT2<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT2<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT3<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT0_UNIT3<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT0<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT0<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT1<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT1<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT2<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT2<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.
Source§impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT3<'d>
Available on crate feature unstable only.
impl<'d> TryFrom<AnyPcntUnit<'d>> for PCNT1_UNIT3<'d>
Available on crate feature
unstable only.Source§type Error = AnyPcntUnit<'d>
type Error = AnyPcntUnit<'d>
The type returned in the event of a conversion error.
Source§fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
fn try_from(any: AnyPcntUnit<'d>) -> Result<Self, AnyPcntUnit<'d>>
Performs the conversion.