Struct esp32c3::DMA

source ·
pub struct DMA { /* private fields */ }
Expand description

DMA (Direct Memory Access) Controller

Implementations§

source§

impl DMA

source

pub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn int_raw_ch(&self, n: usize) -> &INT_RAW_CH

0x00..0x0c - DMA_INT_RAW_CH%s_REG.

source

pub fn int_raw_ch_iter(&self) -> impl Iterator<Item = &INT_RAW_CH>

Iterator for array of: 0x00..0x0c - DMA_INT_RAW_CH%s_REG.

source

pub fn int_st_ch0(&self) -> &INT_ST_CH0

0x04 - DMA_INT_ST_CH0_REG.

source

pub fn int_ena_ch(&self, n: usize) -> &INT_ENA_CH

0x08..0x14 - DMA_INT_ENA_CH%s_REG.

source

pub fn int_ena_ch_iter(&self) -> impl Iterator<Item = &INT_ENA_CH>

Iterator for array of: 0x08..0x14 - DMA_INT_ENA_CH%s_REG.

source

pub fn int_clr_ch(&self, n: usize) -> &INT_CLR_CH

0x0c..0x18 - DMA_INT_CLR_CH%s_REG.

source

pub fn int_clr_ch_iter(&self) -> impl Iterator<Item = &INT_CLR_CH>

Iterator for array of: 0x0c..0x18 - DMA_INT_CLR_CH%s_REG.

source

pub fn int_st_ch1(&self) -> &INT_ST_CH1

0x14 - DMA_INT_ST_CH1_REG.

source

pub fn int_st_ch2(&self) -> &INT_ST_CH2

0x24 - DMA_INT_ST_CH2_REG.

source

pub fn ahb_test(&self) -> &AHB_TEST

0x40 - DMA_AHB_TEST_REG.

source

pub fn misc_conf(&self) -> &MISC_CONF

0x44 - DMA_MISC_CONF_REG.

source

pub fn date(&self) -> &DATE

0x48 - DMA_DATE_REG.

source

pub fn in_conf0_ch(&self, n: usize) -> &IN_CONF0_CH

0x70..0x7c - DMA_IN_CONF%s_CH%s_REG.

source

pub fn in_conf0_ch_iter(&self) -> impl Iterator<Item = &IN_CONF0_CH>

Iterator for array of: 0x70..0x7c - DMA_IN_CONF%s_CH%s_REG.

source

pub fn in_conf1_ch0(&self) -> &IN_CONF1_CH0

0x74 - DMA_IN_CONF1_CH0_REG.

source

pub fn infifo_status_ch0(&self) -> &INFIFO_STATUS_CH0

0x78 - DMA_INFIFO_STATUS_CH0_REG.

source

pub fn in_pop_ch0(&self) -> &IN_POP_CH0

0x7c - DMA_IN_POP_CH0_REG.

0x80..0x8c - DMA_IN_LINK_CH%s_REG.

Iterator for array of: 0x80..0x8c - DMA_IN_LINK_CH%s_REG.

source

pub fn in_state_ch0(&self) -> &IN_STATE_CH0

0x84 - DMA_IN_STATE_CH0_REG.

source

pub fn in_suc_eof_des_addr_ch0(&self) -> &IN_SUC_EOF_DES_ADDR_CH0

0x88 - DMA_IN_SUC_EOF_DES_ADDR_CH0_REG.

source

pub fn in_err_eof_des_addr_ch0(&self) -> &IN_ERR_EOF_DES_ADDR_CH0

0x8c - DMA_IN_ERR_EOF_DES_ADDR_CH0_REG.

source

pub fn in_dscr_ch0(&self) -> &IN_DSCR_CH0

0x90 - DMA_IN_DSCR_CH0_REG.

source

pub fn in_dscr_bf0_ch(&self, n: usize) -> &IN_DSCR_BF0_CH

0x94..0xa0 - DMA_IN_DSCR_BF%s_CH%s_REG.

source

pub fn in_dscr_bf0_ch_iter(&self) -> impl Iterator<Item = &IN_DSCR_BF0_CH>

Iterator for array of: 0x94..0xa0 - DMA_IN_DSCR_BF%s_CH%s_REG.

source

pub fn in_dscr_bf1_ch0(&self) -> &IN_DSCR_BF1_CH0

0x98 - DMA_IN_DSCR_BF1_CH0_REG.

source

pub fn in_pri_ch(&self, n: usize) -> &IN_PRI_CH

0x9c..0xa8 - DMA_IN_PRI_CH%s_REG.

source

pub fn in_pri_ch_iter(&self) -> impl Iterator<Item = &IN_PRI_CH>

Iterator for array of: 0x9c..0xa8 - DMA_IN_PRI_CH%s_REG.

source

pub fn in_peri_sel_ch(&self, n: usize) -> &IN_PERI_SEL_CH

0xa0..0xac - DMA_IN_PERI_SEL_CH%s_REG.

source

pub fn in_peri_sel_ch_iter(&self) -> impl Iterator<Item = &IN_PERI_SEL_CH>

Iterator for array of: 0xa0..0xac - DMA_IN_PERI_SEL_CH%s_REG.

source

pub fn out_conf0_ch(&self, n: usize) -> &OUT_CONF0_CH

0xd0..0xdc - DMA_OUT_CONF%s_CH%s_REG.

source

pub fn out_conf0_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF0_CH>

Iterator for array of: 0xd0..0xdc - DMA_OUT_CONF%s_CH%s_REG.

source

pub fn out_conf1_ch(&self, n: usize) -> &OUT_CONF1_CH

0xd4..0xe0 - DMA_OUT_CONF1_CH%s_REG.

source

pub fn out_conf1_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF1_CH>

Iterator for array of: 0xd4..0xe0 - DMA_OUT_CONF1_CH%s_REG.

source

pub fn outfifo_status_ch0(&self) -> &OUTFIFO_STATUS_CH0

0xd8 - DMA_OUTFIFO_STATUS_CH0_REG.

source

pub fn out_push_ch0(&self) -> &OUT_PUSH_CH0

0xdc - DMA_OUT_PUSH_CH0_REG.

0xe0..0xec - DMA_OUT_LINK_CH%s_REG.

Iterator for array of: 0xe0..0xec - DMA_OUT_LINK_CH%s_REG.

source

pub fn out_state_ch0(&self) -> &OUT_STATE_CH0

0xe4 - DMA_OUT_STATE_CH0_REG.

source

pub fn out_eof_des_addr_ch(&self, n: usize) -> &OUT_EOF_DES_ADDR_CH

0xe8..0xf4 - DMA_OUT_EOF_DES_ADDR_CH%s_REG.

source

pub fn out_eof_des_addr_ch_iter( &self ) -> impl Iterator<Item = &OUT_EOF_DES_ADDR_CH>

Iterator for array of: 0xe8..0xf4 - DMA_OUT_EOF_DES_ADDR_CH%s_REG.

source

pub fn out_eof_bfr_des_addr_ch0(&self) -> &OUT_EOF_BFR_DES_ADDR_CH0

0xec - DMA_OUT_EOF_BFR_DES_ADDR_CH0_REG.

source

pub fn out_dscr_ch0(&self) -> &OUT_DSCR_CH0

0xf0 - DMA_OUT_DSCR_CH0_REG.

source

pub fn out_dscr_bf0_ch0(&self) -> &OUT_DSCR_BF0_CH0

0xf4 - DMA_OUT_DSCR_BF0_CH0_REG.

source

pub fn out_dscr_bf1_ch0(&self) -> &OUT_DSCR_BF1_CH0

0xf8 - DMA_OUT_DSCR_BF1_CH0_REG.

source

pub fn out_pri_ch(&self, n: usize) -> &OUT_PRI_CH

0xfc..0x108 - DMA_OUT_PRI_CH%s_REG.

source

pub fn out_pri_ch_iter(&self) -> impl Iterator<Item = &OUT_PRI_CH>

Iterator for array of: 0xfc..0x108 - DMA_OUT_PRI_CH%s_REG.

source

pub fn out_peri_sel_ch(&self, n: usize) -> &OUT_PERI_SEL_CH

0x100..0x10c - DMA_OUT_PERI_SEL_CH%s_REG.

source

pub fn out_peri_sel_ch_iter(&self) -> impl Iterator<Item = &OUT_PERI_SEL_CH>

Iterator for array of: 0x100..0x10c - DMA_OUT_PERI_SEL_CH%s_REG.

source

pub fn in_conf1_ch1(&self) -> &IN_CONF1_CH1

0x134 - DMA_IN_CONF1_CH1_REG.

source

pub fn infifo_status_ch1(&self) -> &INFIFO_STATUS_CH1

0x138 - DMA_INFIFO_STATUS_CH1_REG.

source

pub fn in_pop_ch1(&self) -> &IN_POP_CH1

0x13c - DMA_IN_POP_CH1_REG.

source

pub fn in_state_ch1(&self) -> &IN_STATE_CH1

0x144 - DMA_IN_STATE_CH1_REG.

source

pub fn in_suc_eof_des_addr_ch1(&self) -> &IN_SUC_EOF_DES_ADDR_CH1

0x148 - DMA_IN_SUC_EOF_DES_ADDR_CH1_REG.

source

pub fn in_err_eof_des_addr_ch1(&self) -> &IN_ERR_EOF_DES_ADDR_CH1

0x14c - DMA_IN_ERR_EOF_DES_ADDR_CH1_REG.

source

pub fn in_dscr_ch1(&self) -> &IN_DSCR_CH1

0x150 - DMA_IN_DSCR_CH1_REG.

source

pub fn in_dscr_bf1_ch1(&self) -> &IN_DSCR_BF1_CH1

0x158 - DMA_IN_DSCR_BF1_CH1_REG.

source

pub fn outfifo_status_ch1(&self) -> &OUTFIFO_STATUS_CH1

0x198 - DMA_OUTFIFO_STATUS_CH1_REG.

source

pub fn out_push_ch1(&self) -> &OUT_PUSH_CH1

0x19c - DMA_OUT_PUSH_CH1_REG.

source

pub fn out_state_ch1(&self) -> &OUT_STATE_CH1

0x1a4 - DMA_OUT_STATE_CH1_REG.

source

pub fn out_eof_bfr_des_addr_ch1(&self) -> &OUT_EOF_BFR_DES_ADDR_CH1

0x1ac - DMA_OUT_EOF_BFR_DES_ADDR_CH1_REG.

source

pub fn out_dscr_ch1(&self) -> &OUT_DSCR_CH1

0x1b0 - DMA_OUT_DSCR_CH1_REG.

source

pub fn out_dscr_bf0_ch1(&self) -> &OUT_DSCR_BF0_CH1

0x1b4 - DMA_OUT_DSCR_BF0_CH1_REG.

source

pub fn out_dscr_bf1_ch1(&self) -> &OUT_DSCR_BF1_CH1

0x1b8 - DMA_OUT_DSCR_BF1_CH1_REG.

source

pub fn in_conf1_ch2(&self) -> &IN_CONF1_CH2

0x1f4 - DMA_IN_CONF1_CH2_REG.

source

pub fn infifo_status_ch2(&self) -> &INFIFO_STATUS_CH2

0x1f8 - DMA_INFIFO_STATUS_CH2_REG.

source

pub fn in_pop_ch2(&self) -> &IN_POP_CH2

0x1fc - DMA_IN_POP_CH2_REG.

source

pub fn in_state_ch2(&self) -> &IN_STATE_CH2

0x204 - DMA_IN_STATE_CH2_REG.

source

pub fn in_suc_eof_des_addr_ch2(&self) -> &IN_SUC_EOF_DES_ADDR_CH2

0x208 - DMA_IN_SUC_EOF_DES_ADDR_CH2_REG.

source

pub fn in_err_eof_des_addr_ch2(&self) -> &IN_ERR_EOF_DES_ADDR_CH2

0x20c - DMA_IN_ERR_EOF_DES_ADDR_CH2_REG.

source

pub fn in_dscr_ch2(&self) -> &IN_DSCR_CH2

0x210 - DMA_IN_DSCR_CH2_REG.

source

pub fn in_dscr_bf1_ch2(&self) -> &IN_DSCR_BF1_CH2

0x218 - DMA_IN_DSCR_BF1_CH2_REG.

source

pub fn outfifo_status_ch2(&self) -> &OUTFIFO_STATUS_CH2

0x258 - DMA_OUTFIFO_STATUS_CH2_REG.

source

pub fn out_push_ch2(&self) -> &OUT_PUSH_CH2

0x25c - DMA_OUT_PUSH_CH2_REG.

source

pub fn out_state_ch2(&self) -> &OUT_STATE_CH2

0x264 - DMA_OUT_STATE_CH2_REG.

source

pub fn out_eof_bfr_des_addr_ch2(&self) -> &OUT_EOF_BFR_DES_ADDR_CH2

0x26c - DMA_OUT_EOF_BFR_DES_ADDR_CH2_REG.

source

pub fn out_dscr_ch2(&self) -> &OUT_DSCR_CH2

0x270 - DMA_OUT_DSCR_CH2_REG.

source

pub fn out_dscr_bf0_ch2(&self) -> &OUT_DSCR_BF0_CH2

0x274 - DMA_OUT_DSCR_BF0_CH2_REG.

source

pub fn out_dscr_bf1_ch2(&self) -> &OUT_DSCR_BF1_CH2

0x278 - DMA_OUT_DSCR_BF1_CH2_REG.

Trait Implementations§

source§

impl Debug for DMA

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for DMA

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for DMA

Auto Trait Implementations§

§

impl RefUnwindSafe for DMA

§

impl !Sync for DMA

§

impl Unpin for DMA

§

impl UnwindSafe for DMA

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> 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<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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.