pub type R = crate::R<ISRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SYNCOKF {
NotSignaled = 0,
Signaled = 1,
}
impl From<SYNCOKF> for bool {
#[inline(always)]
fn from(variant: SYNCOKF) -> Self {
variant as u8 != 0
}
}
pub type SYNCOKF_R = crate::BitReader<SYNCOKF>;
impl SYNCOKF_R {
#[inline(always)]
pub const fn variant(&self) -> SYNCOKF {
match self.bits {
false => SYNCOKF::NotSignaled,
true => SYNCOKF::Signaled,
}
}
#[inline(always)]
pub fn is_not_signaled(&self) -> bool {
*self == SYNCOKF::NotSignaled
}
#[inline(always)]
pub fn is_signaled(&self) -> bool {
*self == SYNCOKF::Signaled
}
}
pub use SYNCOKF_R as SYNCWARNF_R;
pub use SYNCOKF_R as ERRF_R;
pub use SYNCOKF_R as ESYNCF_R;
pub use SYNCOKF_R as SYNCERR_R;
pub use SYNCOKF_R as SYNCMISS_R;
pub use SYNCOKF_R as TRIMOVF_R;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum FEDIR {
UpCounting = 0,
DownCounting = 1,
}
impl From<FEDIR> for bool {
#[inline(always)]
fn from(variant: FEDIR) -> Self {
variant as u8 != 0
}
}
pub type FEDIR_R = crate::BitReader<FEDIR>;
impl FEDIR_R {
#[inline(always)]
pub const fn variant(&self) -> FEDIR {
match self.bits {
false => FEDIR::UpCounting,
true => FEDIR::DownCounting,
}
}
#[inline(always)]
pub fn is_up_counting(&self) -> bool {
*self == FEDIR::UpCounting
}
#[inline(always)]
pub fn is_down_counting(&self) -> bool {
*self == FEDIR::DownCounting
}
}
pub type FECAP_R = crate::FieldReader<u16>;
impl R {
#[inline(always)]
pub fn syncokf(&self) -> SYNCOKF_R {
SYNCOKF_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn syncwarnf(&self) -> SYNCWARNF_R {
SYNCWARNF_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn errf(&self) -> ERRF_R {
ERRF_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn esyncf(&self) -> ESYNCF_R {
ESYNCF_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn syncerr(&self) -> SYNCERR_R {
SYNCERR_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn syncmiss(&self) -> SYNCMISS_R {
SYNCMISS_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn trimovf(&self) -> TRIMOVF_R {
TRIMOVF_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn fedir(&self) -> FEDIR_R {
FEDIR_R::new(((self.bits >> 15) & 1) != 0)
}
#[inline(always)]
pub fn fecap(&self) -> FECAP_R {
FECAP_R::new(((self.bits >> 16) & 0xffff) as u16)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ISR")
.field("fecap", &self.fecap())
.field("fedir", &self.fedir())
.field("syncokf", &self.syncokf())
.field("trimovf", &self.trimovf())
.field("syncmiss", &self.syncmiss())
.field("syncerr", &self.syncerr())
.field("esyncf", &self.esyncf())
.field("errf", &self.errf())
.field("syncwarnf", &self.syncwarnf())
.finish()
}
}
pub struct ISRrs;
impl crate::RegisterSpec for ISRrs {
type Ux = u32;
}
impl crate::Readable for ISRrs {}
impl crate::Resettable for ISRrs {}