Embassy
rp-pac

Crates

git

Versions

default

Flavors

Struct rp_pac::dma::Channel

source ·
pub struct Channel { /* private fields */ }

Implementations§

source§

impl Channel

source

pub const unsafe fn from_ptr(ptr: *mut ()) -> Self

source

pub const fn as_ptr(&self) -> *mut ()

source

pub const fn read_addr(self) -> Reg<u32, RW>

DMA Channel 11 Read Address pointer This register updates automatically each time a read completes. The current value is the next address to be read by this channel.

source

pub const fn write_addr(self) -> Reg<u32, RW>

DMA Channel 11 Write Address pointer This register updates automatically each time a write completes. The current value is the next address to be written by this channel.

source

pub const fn trans_count(self) -> Reg<u32, RW>

DMA Channel 11 Transfer Count Program the number of bus transfers a channel will perform before halting. Note that, if transfers are larger than one byte in size, this is not equal to the number of bytes transferred (see CTRL_DATA_SIZE). When the channel is active, reading this register shows the number of transfers remaining, updating automatically each time a write transfer completes. Writing this register sets the RELOAD value for the transfer counter. Each time this channel is triggered, the RELOAD value is copied into the live transfer counter. The channel can be started multiple times, and will perform the same number of transfers each time, as programmed by most recent write. The RELOAD value can be observed at CHx_DBG_TCR. If TRANS_COUNT is used as a trigger, the written value is used immediately as the length of the new transfer sequence, as well as being written to RELOAD.

source

pub const fn ctrl_trig(self) -> Reg<CtrlTrig, RW>

DMA Channel 11 Control and Status

source

pub const fn al1_ctrl(self) -> Reg<u32, RW>

Alias for channel 11 CTRL register

source

pub const fn al1_read_addr(self) -> Reg<u32, RW>

Alias for channel 11 READ_ADDR register

source

pub const fn al1_write_addr(self) -> Reg<u32, RW>

Alias for channel 11 WRITE_ADDR register

source

pub const fn al1_trans_count_trig(self) -> Reg<u32, RW>

Alias for channel 11 TRANS_COUNT register This is a trigger register (0xc). Writing a nonzero value will reload the channel counter and start the channel.

source

pub const fn al2_ctrl(self) -> Reg<u32, RW>

Alias for channel 11 CTRL register

source

pub const fn al2_trans_count(self) -> Reg<u32, RW>

Alias for channel 11 TRANS_COUNT register

source

pub const fn al2_read_addr(self) -> Reg<u32, RW>

Alias for channel 11 READ_ADDR register

source

pub const fn al2_write_addr_trig(self) -> Reg<u32, RW>

Alias for channel 11 WRITE_ADDR register This is a trigger register (0xc). Writing a nonzero value will reload the channel counter and start the channel.

source

pub const fn al3_ctrl(self) -> Reg<u32, RW>

Alias for channel 11 CTRL register

source

pub const fn al3_write_addr(self) -> Reg<u32, RW>

Alias for channel 11 WRITE_ADDR register

source

pub const fn al3_trans_count(self) -> Reg<u32, RW>

Alias for channel 11 TRANS_COUNT register

source

pub const fn al3_read_addr_trig(self) -> Reg<u32, RW>

Alias for channel 11 READ_ADDR register This is a trigger register (0xc). Writing a nonzero value will reload the channel counter and start the channel.

source

pub const fn dbg_ctdreq(self) -> Reg<DbgCtdreq, RW>

Read: get channel DREQ counter (i.e. how many accesses the DMA expects it can perform on the peripheral without overflow/underflow. Write any value: clears the counter, and cause channel to re-initiate DREQ handshake.

source

pub const fn dbg_tcr(self) -> Reg<u32, R>

Read to get channel TRANS_COUNT reload value, i.e. the length of the next transfer

Trait Implementations§

source§

impl Clone for Channel

source§

fn clone(&self) -> Channel

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl PartialEq<Channel> for Channel

source§

fn eq(&self, other: &Channel) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Channel

source§

impl Eq for Channel

source§

impl Send for Channel

source§

impl StructuralEq for Channel

source§

impl StructuralPartialEq for Channel

source§

impl Sync for Channel

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.