pub type R = crate::R<IFrs>;
pub type StartR = crate::BitReader;
pub type RstartR = crate::BitReader;
pub type AddrR = crate::BitReader;
pub type TxcR = crate::BitReader;
pub type TxblR = crate::BitReader;
pub type RxdatavR = crate::BitReader;
pub type AckR = crate::BitReader;
pub type NackR = crate::BitReader;
pub type MstopR = crate::BitReader;
pub type ArblostR = crate::BitReader;
pub type BuserrR = crate::BitReader;
pub type BusholdR = crate::BitReader;
pub type TxofR = crate::BitReader;
pub type RxufR = crate::BitReader;
pub type BitoR = crate::BitReader;
pub type CltoR = crate::BitReader;
pub type SstopR = crate::BitReader;
pub type RxfullR = crate::BitReader;
pub type ClerrR = crate::BitReader;
impl R {
#[inline(always)]
pub fn start(&self) -> StartR {
StartR::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn rstart(&self) -> RstartR {
RstartR::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn addr(&self) -> AddrR {
AddrR::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn txc(&self) -> TxcR {
TxcR::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn txbl(&self) -> TxblR {
TxblR::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn rxdatav(&self) -> RxdatavR {
RxdatavR::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn ack(&self) -> AckR {
AckR::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn nack(&self) -> NackR {
NackR::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn mstop(&self) -> MstopR {
MstopR::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn arblost(&self) -> ArblostR {
ArblostR::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn buserr(&self) -> BuserrR {
BuserrR::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn bushold(&self) -> BusholdR {
BusholdR::new(((self.bits >> 11) & 1) != 0)
}
#[inline(always)]
pub fn txof(&self) -> TxofR {
TxofR::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn rxuf(&self) -> RxufR {
RxufR::new(((self.bits >> 13) & 1) != 0)
}
#[inline(always)]
pub fn bito(&self) -> BitoR {
BitoR::new(((self.bits >> 14) & 1) != 0)
}
#[inline(always)]
pub fn clto(&self) -> CltoR {
CltoR::new(((self.bits >> 15) & 1) != 0)
}
#[inline(always)]
pub fn sstop(&self) -> SstopR {
SstopR::new(((self.bits >> 16) & 1) != 0)
}
#[inline(always)]
pub fn rxfull(&self) -> RxfullR {
RxfullR::new(((self.bits >> 17) & 1) != 0)
}
#[inline(always)]
pub fn clerr(&self) -> ClerrR {
ClerrR::new(((self.bits >> 18) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IF")
.field("start", &self.start())
.field("rstart", &self.rstart())
.field("addr", &self.addr())
.field("txc", &self.txc())
.field("txbl", &self.txbl())
.field("rxdatav", &self.rxdatav())
.field("ack", &self.ack())
.field("nack", &self.nack())
.field("mstop", &self.mstop())
.field("arblost", &self.arblost())
.field("buserr", &self.buserr())
.field("bushold", &self.bushold())
.field("txof", &self.txof())
.field("rxuf", &self.rxuf())
.field("bito", &self.bito())
.field("clto", &self.clto())
.field("sstop", &self.sstop())
.field("rxfull", &self.rxfull())
.field("clerr", &self.clerr())
.finish()
}
}
pub struct IFrs;
impl crate::RegisterSpec for IFrs {
type Ux = u32;
}
impl crate::Readable for IFrs {}
impl crate::Resettable for IFrs {
const RESET_VALUE: u32 = 0x10;
}