pub type R = crate::R<DCTRLrs>;
pub type W = crate::W<DCTRLrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DTEN {
Disabled = 0,
Enabled = 1,
}
impl From<DTEN> for bool {
#[inline(always)]
fn from(variant: DTEN) -> Self {
variant as u8 != 0
}
}
pub type DTEN_R = crate::BitReader<DTEN>;
impl DTEN_R {
#[inline(always)]
pub const fn variant(&self) -> DTEN {
match self.bits {
false => DTEN::Disabled,
true => DTEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == DTEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == DTEN::Enabled
}
}
pub type DTEN_W<'a, REG> = crate::BitWriter<'a, REG, DTEN>;
impl<'a, REG> DTEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(DTEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(DTEN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DTDIR {
ControllerToCard = 0,
CardToController = 1,
}
impl From<DTDIR> for bool {
#[inline(always)]
fn from(variant: DTDIR) -> Self {
variant as u8 != 0
}
}
pub type DTDIR_R = crate::BitReader<DTDIR>;
impl DTDIR_R {
#[inline(always)]
pub const fn variant(&self) -> DTDIR {
match self.bits {
false => DTDIR::ControllerToCard,
true => DTDIR::CardToController,
}
}
#[inline(always)]
pub fn is_controller_to_card(&self) -> bool {
*self == DTDIR::ControllerToCard
}
#[inline(always)]
pub fn is_card_to_controller(&self) -> bool {
*self == DTDIR::CardToController
}
}
pub type DTDIR_W<'a, REG> = crate::BitWriter<'a, REG, DTDIR>;
impl<'a, REG> DTDIR_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn controller_to_card(self) -> &'a mut crate::W<REG> {
self.variant(DTDIR::ControllerToCard)
}
#[inline(always)]
pub fn card_to_controller(self) -> &'a mut crate::W<REG> {
self.variant(DTDIR::CardToController)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DTMODE {
BlockMode = 0,
StreamMode = 1,
}
impl From<DTMODE> for bool {
#[inline(always)]
fn from(variant: DTMODE) -> Self {
variant as u8 != 0
}
}
pub type DTMODE_R = crate::BitReader<DTMODE>;
impl DTMODE_R {
#[inline(always)]
pub const fn variant(&self) -> DTMODE {
match self.bits {
false => DTMODE::BlockMode,
true => DTMODE::StreamMode,
}
}
#[inline(always)]
pub fn is_block_mode(&self) -> bool {
*self == DTMODE::BlockMode
}
#[inline(always)]
pub fn is_stream_mode(&self) -> bool {
*self == DTMODE::StreamMode
}
}
pub type DTMODE_W<'a, REG> = crate::BitWriter<'a, REG, DTMODE>;
impl<'a, REG> DTMODE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn block_mode(self) -> &'a mut crate::W<REG> {
self.variant(DTMODE::BlockMode)
}
#[inline(always)]
pub fn stream_mode(self) -> &'a mut crate::W<REG> {
self.variant(DTMODE::StreamMode)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DMAEN {
Disabled = 0,
Enabled = 1,
}
impl From<DMAEN> for bool {
#[inline(always)]
fn from(variant: DMAEN) -> Self {
variant as u8 != 0
}
}
pub type DMAEN_R = crate::BitReader<DMAEN>;
impl DMAEN_R {
#[inline(always)]
pub const fn variant(&self) -> DMAEN {
match self.bits {
false => DMAEN::Disabled,
true => DMAEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == DMAEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == DMAEN::Enabled
}
}
pub type DMAEN_W<'a, REG> = crate::BitWriter<'a, REG, DMAEN>;
impl<'a, REG> DMAEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAEN::Enabled)
}
}
pub type DBLOCKSIZE_R = crate::FieldReader;
pub type DBLOCKSIZE_W<'a, REG> = crate::FieldWriter<'a, REG, 4, u8, crate::Safe>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RWSTART {
Disabled = 0,
Enabled = 1,
}
impl From<RWSTART> for bool {
#[inline(always)]
fn from(variant: RWSTART) -> Self {
variant as u8 != 0
}
}
pub type RWSTART_R = crate::BitReader<RWSTART>;
impl RWSTART_R {
#[inline(always)]
pub const fn variant(&self) -> RWSTART {
match self.bits {
false => RWSTART::Disabled,
true => RWSTART::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == RWSTART::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == RWSTART::Enabled
}
}
pub type RWSTART_W<'a, REG> = crate::BitWriter<'a, REG, RWSTART>;
impl<'a, REG> RWSTART_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(RWSTART::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(RWSTART::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RWSTOP {
Disabled = 0,
Enabled = 1,
}
impl From<RWSTOP> for bool {
#[inline(always)]
fn from(variant: RWSTOP) -> Self {
variant as u8 != 0
}
}
pub type RWSTOP_R = crate::BitReader<RWSTOP>;
impl RWSTOP_R {
#[inline(always)]
pub const fn variant(&self) -> RWSTOP {
match self.bits {
false => RWSTOP::Disabled,
true => RWSTOP::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == RWSTOP::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == RWSTOP::Enabled
}
}
pub type RWSTOP_W<'a, REG> = crate::BitWriter<'a, REG, RWSTOP>;
impl<'a, REG> RWSTOP_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(RWSTOP::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(RWSTOP::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RWMOD {
D2 = 0,
Ck = 1,
}
impl From<RWMOD> for bool {
#[inline(always)]
fn from(variant: RWMOD) -> Self {
variant as u8 != 0
}
}
pub type RWMOD_R = crate::BitReader<RWMOD>;
impl RWMOD_R {
#[inline(always)]
pub const fn variant(&self) -> RWMOD {
match self.bits {
false => RWMOD::D2,
true => RWMOD::Ck,
}
}
#[inline(always)]
pub fn is_d2(&self) -> bool {
*self == RWMOD::D2
}
#[inline(always)]
pub fn is_ck(&self) -> bool {
*self == RWMOD::Ck
}
}
pub type RWMOD_W<'a, REG> = crate::BitWriter<'a, REG, RWMOD>;
impl<'a, REG> RWMOD_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn d2(self) -> &'a mut crate::W<REG> {
self.variant(RWMOD::D2)
}
#[inline(always)]
pub fn ck(self) -> &'a mut crate::W<REG> {
self.variant(RWMOD::Ck)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SDIOEN {
Disabled = 0,
Enabled = 1,
}
impl From<SDIOEN> for bool {
#[inline(always)]
fn from(variant: SDIOEN) -> Self {
variant as u8 != 0
}
}
pub type SDIOEN_R = crate::BitReader<SDIOEN>;
impl SDIOEN_R {
#[inline(always)]
pub const fn variant(&self) -> SDIOEN {
match self.bits {
false => SDIOEN::Disabled,
true => SDIOEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == SDIOEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == SDIOEN::Enabled
}
}
pub type SDIOEN_W<'a, REG> = crate::BitWriter<'a, REG, SDIOEN>;
impl<'a, REG> SDIOEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(SDIOEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(SDIOEN::Enabled)
}
}
impl R {
#[inline(always)]
pub fn dten(&self) -> DTEN_R {
DTEN_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn dtdir(&self) -> DTDIR_R {
DTDIR_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn dtmode(&self) -> DTMODE_R {
DTMODE_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn dmaen(&self) -> DMAEN_R {
DMAEN_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn dblocksize(&self) -> DBLOCKSIZE_R {
DBLOCKSIZE_R::new(((self.bits >> 4) & 0x0f) as u8)
}
#[inline(always)]
pub fn rwstart(&self) -> RWSTART_R {
RWSTART_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn rwstop(&self) -> RWSTOP_R {
RWSTOP_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn rwmod(&self) -> RWMOD_R {
RWMOD_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn sdioen(&self) -> SDIOEN_R {
SDIOEN_R::new(((self.bits >> 11) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DCTRL")
.field("sdioen", &self.sdioen())
.field("rwmod", &self.rwmod())
.field("rwstop", &self.rwstop())
.field("rwstart", &self.rwstart())
.field("dblocksize", &self.dblocksize())
.field("dmaen", &self.dmaen())
.field("dtmode", &self.dtmode())
.field("dtdir", &self.dtdir())
.field("dten", &self.dten())
.finish()
}
}
impl W {
#[inline(always)]
#[must_use]
pub fn dten(&mut self) -> DTEN_W<DCTRLrs> {
DTEN_W::new(self, 0)
}
#[inline(always)]
#[must_use]
pub fn dtdir(&mut self) -> DTDIR_W<DCTRLrs> {
DTDIR_W::new(self, 1)
}
#[inline(always)]
#[must_use]
pub fn dtmode(&mut self) -> DTMODE_W<DCTRLrs> {
DTMODE_W::new(self, 2)
}
#[inline(always)]
#[must_use]
pub fn dmaen(&mut self) -> DMAEN_W<DCTRLrs> {
DMAEN_W::new(self, 3)
}
#[inline(always)]
#[must_use]
pub fn dblocksize(&mut self) -> DBLOCKSIZE_W<DCTRLrs> {
DBLOCKSIZE_W::new(self, 4)
}
#[inline(always)]
#[must_use]
pub fn rwstart(&mut self) -> RWSTART_W<DCTRLrs> {
RWSTART_W::new(self, 8)
}
#[inline(always)]
#[must_use]
pub fn rwstop(&mut self) -> RWSTOP_W<DCTRLrs> {
RWSTOP_W::new(self, 9)
}
#[inline(always)]
#[must_use]
pub fn rwmod(&mut self) -> RWMOD_W<DCTRLrs> {
RWMOD_W::new(self, 10)
}
#[inline(always)]
#[must_use]
pub fn sdioen(&mut self) -> SDIOEN_W<DCTRLrs> {
SDIOEN_W::new(self, 11)
}
}
pub struct DCTRLrs;
impl crate::RegisterSpec for DCTRLrs {
type Ux = u32;
}
impl crate::Readable for DCTRLrs {}
impl crate::Writable for DCTRLrs {
type Safety = crate::Unsafe;
const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
}
impl crate::Resettable for DCTRLrs {
const RESET_VALUE: u32 = 0;
}