Struct stm32_metapac::sdmmc::regs::Dctrl

#[repr(transparent)]
pub struct Dctrl(pub u32);
Expand description

The SDMMC_DCTRL register control the data path state machine (DPSM).

Tuple Fields§

§0: u32

Implementations§

§

impl Dctrl

pub const fn dten(&self) -> bool

Data transfer enable bit This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). This bit is cleared by Hardware when data transfer completes. This bit shall only be used to transfer data when no associated data transfer command is used, i.e. shall not be used with SD or eMMC cards.

pub fn set_dten(&mut self, val: bool)

Data transfer enable bit This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). This bit is cleared by Hardware when data transfer completes. This bit shall only be used to transfer data when no associated data transfer command is used, i.e. shall not be used with SD or eMMC cards.

pub const fn dtdir(&self) -> bool

Data transfer direction selection This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub fn set_dtdir(&mut self, val: bool)

Data transfer direction selection This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub const fn dtmode(&self) -> u8

Data transfer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub fn set_dtmode(&mut self, val: u8)

Data transfer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub const fn dblocksize(&self) -> u8

Data block size This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). Define the data block length when the block data transfer mode is selected: When DATALENGTH is not a multiple of DBLOCKSIZE, the transfered data is truncated at a multiple of DBLOCKSIZE. (Any remain data will not be transfered.) When DDR = 1, DBLOCKSIZE = 0000 shall not be used. (No data will be transfered)

pub fn set_dblocksize(&mut self, val: u8)

Data block size This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). Define the data block length when the block data transfer mode is selected: When DATALENGTH is not a multiple of DBLOCKSIZE, the transfered data is truncated at a multiple of DBLOCKSIZE. (Any remain data will not be transfered.) When DDR = 1, DBLOCKSIZE = 0000 shall not be used. (No data will be transfered)

pub const fn rwstart(&self) -> bool

Read wait start. If this bit is set, read wait operation starts.

pub fn set_rwstart(&mut self, val: bool)

Read wait start. If this bit is set, read wait operation starts.

pub const fn rwstop(&self) -> bool

Read wait stop This bit is written by firmware and auto cleared by hardware when the DPSM moves from the READ_WAIT state to the WAIT_R or IDLE state.

pub fn set_rwstop(&mut self, val: bool)

Read wait stop This bit is written by firmware and auto cleared by hardware when the DPSM moves from the READ_WAIT state to the WAIT_R or IDLE state.

pub const fn rwmod(&self) -> bool

Read wait mode. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub fn set_rwmod(&mut self, val: bool)

Read wait mode. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub const fn sdioen(&self) -> bool

SD I/O interrupt enable functions This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). If this bit is set, the DPSM enables the SD I/O card specific interrupt operation.

pub fn set_sdioen(&mut self, val: bool)

SD I/O interrupt enable functions This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). If this bit is set, the DPSM enables the SD I/O card specific interrupt operation.

pub const fn bootacken(&self) -> bool

Enable the reception of the boot acknowledgment. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub fn set_bootacken(&mut self, val: bool)

Enable the reception of the boot acknowledgment. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0).

pub const fn fiforst(&self) -> bool

FIFO reset, will flush any remaining data. This bit can only be written by firmware when IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit will only take effect when a transfer error or transfer hold occurs.

pub fn set_fiforst(&mut self, val: bool)

FIFO reset, will flush any remaining data. This bit can only be written by firmware when IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit will only take effect when a transfer error or transfer hold occurs.

Trait Implementations§

§

impl Clone for Dctrl

§

fn clone(&self) -> Dctrl

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
§

impl Default for Dctrl

§

fn default() -> Dctrl

Returns the “default value” for a type. Read more
§

impl PartialEq for Dctrl

§

fn eq(&self, other: &Dctrl) -> 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.
§

impl Copy for Dctrl

§

impl Eq for Dctrl

§

impl StructuralEq for Dctrl

§

impl StructuralPartialEq for Dctrl

Auto Trait Implementations§

§

impl RefUnwindSafe for Dctrl

§

impl Send for Dctrl

§

impl Sync for Dctrl

§

impl Unpin for Dctrl

§

impl UnwindSafe for Dctrl

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.