pub type R = crate::R<RIRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RTR {
Data = 0,
Remote = 1,
}
impl From<RTR> for bool {
#[inline(always)]
fn from(variant: RTR) -> Self {
variant as u8 != 0
}
}
pub type RTR_R = crate::BitReader<RTR>;
impl RTR_R {
#[inline(always)]
pub const fn variant(&self) -> RTR {
match self.bits {
false => RTR::Data,
true => RTR::Remote,
}
}
#[inline(always)]
pub fn is_data(&self) -> bool {
*self == RTR::Data
}
#[inline(always)]
pub fn is_remote(&self) -> bool {
*self == RTR::Remote
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum IDE {
Standard = 0,
Extended = 1,
}
impl From<IDE> for bool {
#[inline(always)]
fn from(variant: IDE) -> Self {
variant as u8 != 0
}
}
pub type IDE_R = crate::BitReader<IDE>;
impl IDE_R {
#[inline(always)]
pub const fn variant(&self) -> IDE {
match self.bits {
false => IDE::Standard,
true => IDE::Extended,
}
}
#[inline(always)]
pub fn is_standard(&self) -> bool {
*self == IDE::Standard
}
#[inline(always)]
pub fn is_extended(&self) -> bool {
*self == IDE::Extended
}
}
pub type EXID_R = crate::FieldReader<u32>;
pub type STID_R = crate::FieldReader<u16>;
impl R {
#[inline(always)]
pub fn rtr(&self) -> RTR_R {
RTR_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn ide(&self) -> IDE_R {
IDE_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn exid(&self) -> EXID_R {
EXID_R::new((self.bits >> 3) & 0x0003_ffff)
}
#[inline(always)]
pub fn stid(&self) -> STID_R {
STID_R::new(((self.bits >> 21) & 0x07ff) as u16)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("RIR")
.field("stid", &self.stid())
.field("exid", &self.exid())
.field("ide", &self.ide())
.field("rtr", &self.rtr())
.finish()
}
}
pub struct RIRrs;
impl crate::RegisterSpec for RIRrs {
type Ux = u32;
}
impl crate::Readable for RIRrs {}
impl crate::Resettable for RIRrs {}