pub type R = crate::R<ICRrs>;
pub type W = crate::W<ICRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CCRCFAILCW {
Clear = 1,
}
impl From<CCRCFAILCW> for bool {
#[inline(always)]
fn from(variant: CCRCFAILCW) -> Self {
variant as u8 != 0
}
}
pub type CCRCFAILC_R = crate::BitReader<CCRCFAILCW>;
impl CCRCFAILC_R {
#[inline(always)]
pub const fn variant(&self) -> Option<CCRCFAILCW> {
match self.bits {
true => Some(CCRCFAILCW::Clear),
_ => None,
}
}
#[inline(always)]
pub fn is_clear(&self) -> bool {
*self == CCRCFAILCW::Clear
}
}
pub type CCRCFAILC_W<'a, REG> = crate::BitWriter<'a, REG, CCRCFAILCW>;
impl<'a, REG> CCRCFAILC_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn clear(self) -> &'a mut crate::W<REG> {
self.variant(CCRCFAILCW::Clear)
}
}
pub use CCRCFAILC_R as DCRCFAILC_R;
pub use CCRCFAILC_R as CTIMEOUTC_R;
pub use CCRCFAILC_R as DTIMEOUTC_R;
pub use CCRCFAILC_R as TXUNDERRC_R;
pub use CCRCFAILC_R as RXOVERRC_R;
pub use CCRCFAILC_R as CMDRENDC_R;
pub use CCRCFAILC_R as CMDSENTC_R;
pub use CCRCFAILC_R as DATAENDC_R;
pub use CCRCFAILC_R as STBITERRC_R;
pub use CCRCFAILC_R as DBCKENDC_R;
pub use CCRCFAILC_R as SDIOITC_R;
pub use CCRCFAILC_R as CEATAENDC_R;
pub use CCRCFAILC_W as DCRCFAILC_W;
pub use CCRCFAILC_W as CTIMEOUTC_W;
pub use CCRCFAILC_W as DTIMEOUTC_W;
pub use CCRCFAILC_W as TXUNDERRC_W;
pub use CCRCFAILC_W as RXOVERRC_W;
pub use CCRCFAILC_W as CMDRENDC_W;
pub use CCRCFAILC_W as CMDSENTC_W;
pub use CCRCFAILC_W as DATAENDC_W;
pub use CCRCFAILC_W as STBITERRC_W;
pub use CCRCFAILC_W as DBCKENDC_W;
pub use CCRCFAILC_W as SDIOITC_W;
pub use CCRCFAILC_W as CEATAENDC_W;
impl R {
#[inline(always)]
pub fn ccrcfailc(&self) -> CCRCFAILC_R {
CCRCFAILC_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn dcrcfailc(&self) -> DCRCFAILC_R {
DCRCFAILC_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn ctimeoutc(&self) -> CTIMEOUTC_R {
CTIMEOUTC_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn dtimeoutc(&self) -> DTIMEOUTC_R {
DTIMEOUTC_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn txunderrc(&self) -> TXUNDERRC_R {
TXUNDERRC_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn rxoverrc(&self) -> RXOVERRC_R {
RXOVERRC_R::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn cmdrendc(&self) -> CMDRENDC_R {
CMDRENDC_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn cmdsentc(&self) -> CMDSENTC_R {
CMDSENTC_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn dataendc(&self) -> DATAENDC_R {
DATAENDC_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn stbiterrc(&self) -> STBITERRC_R {
STBITERRC_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn dbckendc(&self) -> DBCKENDC_R {
DBCKENDC_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn sdioitc(&self) -> SDIOITC_R {
SDIOITC_R::new(((self.bits >> 22) & 1) != 0)
}
#[inline(always)]
pub fn ceataendc(&self) -> CEATAENDC_R {
CEATAENDC_R::new(((self.bits >> 23) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ICR")
.field("ccrcfailc", &self.ccrcfailc())
.field("ceataendc", &self.ceataendc())
.field("sdioitc", &self.sdioitc())
.field("dbckendc", &self.dbckendc())
.field("stbiterrc", &self.stbiterrc())
.field("dataendc", &self.dataendc())
.field("cmdsentc", &self.cmdsentc())
.field("cmdrendc", &self.cmdrendc())
.field("rxoverrc", &self.rxoverrc())
.field("txunderrc", &self.txunderrc())
.field("dtimeoutc", &self.dtimeoutc())
.field("ctimeoutc", &self.ctimeoutc())
.field("dcrcfailc", &self.dcrcfailc())
.finish()
}
}
impl W {
#[inline(always)]
pub fn ccrcfailc(&mut self) -> CCRCFAILC_W<ICRrs> {
CCRCFAILC_W::new(self, 0)
}
#[inline(always)]
pub fn dcrcfailc(&mut self) -> DCRCFAILC_W<ICRrs> {
DCRCFAILC_W::new(self, 1)
}
#[inline(always)]
pub fn ctimeoutc(&mut self) -> CTIMEOUTC_W<ICRrs> {
CTIMEOUTC_W::new(self, 2)
}
#[inline(always)]
pub fn dtimeoutc(&mut self) -> DTIMEOUTC_W<ICRrs> {
DTIMEOUTC_W::new(self, 3)
}
#[inline(always)]
pub fn txunderrc(&mut self) -> TXUNDERRC_W<ICRrs> {
TXUNDERRC_W::new(self, 4)
}
#[inline(always)]
pub fn rxoverrc(&mut self) -> RXOVERRC_W<ICRrs> {
RXOVERRC_W::new(self, 5)
}
#[inline(always)]
pub fn cmdrendc(&mut self) -> CMDRENDC_W<ICRrs> {
CMDRENDC_W::new(self, 6)
}
#[inline(always)]
pub fn cmdsentc(&mut self) -> CMDSENTC_W<ICRrs> {
CMDSENTC_W::new(self, 7)
}
#[inline(always)]
pub fn dataendc(&mut self) -> DATAENDC_W<ICRrs> {
DATAENDC_W::new(self, 8)
}
#[inline(always)]
pub fn stbiterrc(&mut self) -> STBITERRC_W<ICRrs> {
STBITERRC_W::new(self, 9)
}
#[inline(always)]
pub fn dbckendc(&mut self) -> DBCKENDC_W<ICRrs> {
DBCKENDC_W::new(self, 10)
}
#[inline(always)]
pub fn sdioitc(&mut self) -> SDIOITC_W<ICRrs> {
SDIOITC_W::new(self, 22)
}
#[inline(always)]
pub fn ceataendc(&mut self) -> CEATAENDC_W<ICRrs> {
CEATAENDC_W::new(self, 23)
}
}
pub struct ICRrs;
impl crate::RegisterSpec for ICRrs {
type Ux = u32;
}
impl crate::Readable for ICRrs {}
impl crate::Writable for ICRrs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for ICRrs {}