py32f0/py32f030/i2c/
sr2.rspub struct R(crate::R<SR2_SPEC>);
impl core::ops::Deref for R {
type Target = crate::R<SR2_SPEC>;
#[inline(always)]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl From<crate::R<SR2_SPEC>> for R {
#[inline(always)]
fn from(reader: crate::R<SR2_SPEC>) -> Self {
R(reader)
}
}
pub type MSL_R = crate::BitReader<MSLR_A>;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum MSLR_A {
Slave = 0,
Master = 1,
}
impl From<MSLR_A> for bool {
#[inline(always)]
fn from(variant: MSLR_A) -> Self {
variant as u8 != 0
}
}
impl MSL_R {
#[inline(always)]
pub fn variant(&self) -> MSLR_A {
match self.bits {
false => MSLR_A::Slave,
true => MSLR_A::Master,
}
}
#[inline(always)]
pub fn is_slave(&self) -> bool {
*self == MSLR_A::Slave
}
#[inline(always)]
pub fn is_master(&self) -> bool {
*self == MSLR_A::Master
}
}
pub type BUSY_R = crate::BitReader<BUSYR_A>;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum BUSYR_A {
NotBusy = 0,
Busy = 1,
}
impl From<BUSYR_A> for bool {
#[inline(always)]
fn from(variant: BUSYR_A) -> Self {
variant as u8 != 0
}
}
impl BUSY_R {
#[inline(always)]
pub fn variant(&self) -> BUSYR_A {
match self.bits {
false => BUSYR_A::NotBusy,
true => BUSYR_A::Busy,
}
}
#[inline(always)]
pub fn is_not_busy(&self) -> bool {
*self == BUSYR_A::NotBusy
}
#[inline(always)]
pub fn is_busy(&self) -> bool {
*self == BUSYR_A::Busy
}
}
pub type TRA_R = crate::BitReader<TRAR_A>;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TRAR_A {
Received = 0,
Transferred = 1,
}
impl From<TRAR_A> for bool {
#[inline(always)]
fn from(variant: TRAR_A) -> Self {
variant as u8 != 0
}
}
impl TRA_R {
#[inline(always)]
pub fn variant(&self) -> TRAR_A {
match self.bits {
false => TRAR_A::Received,
true => TRAR_A::Transferred,
}
}
#[inline(always)]
pub fn is_received(&self) -> bool {
*self == TRAR_A::Received
}
#[inline(always)]
pub fn is_transferred(&self) -> bool {
*self == TRAR_A::Transferred
}
}
pub type GENCALL_R = crate::BitReader<GENCALLR_A>;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum GENCALLR_A {
NoGeneralCallRecv = 0,
GeneralCallRecv = 1,
}
impl From<GENCALLR_A> for bool {
#[inline(always)]
fn from(variant: GENCALLR_A) -> Self {
variant as u8 != 0
}
}
impl GENCALL_R {
#[inline(always)]
pub fn variant(&self) -> GENCALLR_A {
match self.bits {
false => GENCALLR_A::NoGeneralCallRecv,
true => GENCALLR_A::GeneralCallRecv,
}
}
#[inline(always)]
pub fn is_no_general_call_recv(&self) -> bool {
*self == GENCALLR_A::NoGeneralCallRecv
}
#[inline(always)]
pub fn is_general_call_recv(&self) -> bool {
*self == GENCALLR_A::GeneralCallRecv
}
}
pub type DUALF_R = crate::BitReader<bool>;
pub type PEC_R = crate::FieldReader<u8, u8>;
impl R {
#[inline(always)]
pub fn msl(&self) -> MSL_R {
MSL_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn busy(&self) -> BUSY_R {
BUSY_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn tra(&self) -> TRA_R {
TRA_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn gencall(&self) -> GENCALL_R {
GENCALL_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn dualf(&self) -> DUALF_R {
DUALF_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn pec(&self) -> PEC_R {
PEC_R::new(((self.bits >> 8) & 0xff) as u8)
}
}
pub struct SR2_SPEC;
impl crate::RegisterSpec for SR2_SPEC {
type Ux = u32;
}
impl crate::Readable for SR2_SPEC {
type Reader = R;
}
impl crate::Resettable for SR2_SPEC {
const RESET_VALUE: Self::Ux = 0;
}