Struct imxrt_hal::iomuxc::prelude::ErasedPad[][src]

pub struct ErasedPad { /* fields omitted */ }

A pad that has its type erased

ErasedPad moves the pad state to run time, rather than compile time. The type may provide more flexibility for some APIs. Each ErasedPad is three pointers large.

ErasedPad may be converted back into their strongly-typed analogs using TryFrom and TryInto conversions.

use imxrt_iomuxc as iomuxc;
let ad_b0_03 = unsafe { AD_B0_03::new() };
let mut erased = ad_b0_03.erase();

// Erased pads may be manually manipulated
iomuxc::alternate(&mut erased, 7);
iomuxc::set_sion(&mut erased);

// Try to convert the erased pad back to its strongly-typed counterpart
use core::convert::TryFrom;
let ad_b0_03 = AD_B0_03::try_from(erased).unwrap();

Trait Implementations

impl Debug for ErasedPad[src]

impl IOMUX for ErasedPad[src]

pub unsafe fn mux(&mut self) -> *mut u32[src]

Safety

Returns a pointer to an address that may be mutably aliased elsewhere.

pub unsafe fn pad(&mut self) -> *mut u32[src]

Safety

Returns a pointer to an address that may be mutably aliased elsewhere.

impl Send for ErasedPad[src]

impl<Base, Offset> TryFrom<ErasedPad> for Pad<Base, Offset> where
    Offset: Unsigned,
    Base: Base, 
[src]

type Error = WrongPadError

The type returned in the event of a conversion error.

Auto Trait Implementations

impl !Sync for ErasedPad

impl Unpin for ErasedPad

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.