pub type R = crate::R<PTPPPSCRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum PPSFREQ {
Hz1 = 0,
Hz2 = 1,
Hz4 = 2,
Hz8 = 3,
Hz16 = 4,
Hz32 = 5,
Hz64 = 6,
Hz128 = 7,
Hz256 = 8,
Hz512 = 9,
Hz1024 = 10,
Hz2048 = 11,
Hz4096 = 12,
Hz8192 = 13,
Hz16384 = 14,
Hz32768 = 15,
}
impl From<PPSFREQ> for u8 {
#[inline(always)]
fn from(variant: PPSFREQ) -> Self {
variant as _
}
}
impl crate::FieldSpec for PPSFREQ {
type Ux = u8;
}
impl crate::IsEnum for PPSFREQ {}
pub type PPSFREQ_R = crate::FieldReader<PPSFREQ>;
impl PPSFREQ_R {
#[inline(always)]
pub const fn variant(&self) -> PPSFREQ {
match self.bits {
0 => PPSFREQ::Hz1,
1 => PPSFREQ::Hz2,
2 => PPSFREQ::Hz4,
3 => PPSFREQ::Hz8,
4 => PPSFREQ::Hz16,
5 => PPSFREQ::Hz32,
6 => PPSFREQ::Hz64,
7 => PPSFREQ::Hz128,
8 => PPSFREQ::Hz256,
9 => PPSFREQ::Hz512,
10 => PPSFREQ::Hz1024,
11 => PPSFREQ::Hz2048,
12 => PPSFREQ::Hz4096,
13 => PPSFREQ::Hz8192,
14 => PPSFREQ::Hz16384,
15 => PPSFREQ::Hz32768,
_ => unreachable!(),
}
}
#[inline(always)]
pub fn is_hz_1(&self) -> bool {
*self == PPSFREQ::Hz1
}
#[inline(always)]
pub fn is_hz_2(&self) -> bool {
*self == PPSFREQ::Hz2
}
#[inline(always)]
pub fn is_hz_4(&self) -> bool {
*self == PPSFREQ::Hz4
}
#[inline(always)]
pub fn is_hz_8(&self) -> bool {
*self == PPSFREQ::Hz8
}
#[inline(always)]
pub fn is_hz_16(&self) -> bool {
*self == PPSFREQ::Hz16
}
#[inline(always)]
pub fn is_hz_32(&self) -> bool {
*self == PPSFREQ::Hz32
}
#[inline(always)]
pub fn is_hz_64(&self) -> bool {
*self == PPSFREQ::Hz64
}
#[inline(always)]
pub fn is_hz_128(&self) -> bool {
*self == PPSFREQ::Hz128
}
#[inline(always)]
pub fn is_hz_256(&self) -> bool {
*self == PPSFREQ::Hz256
}
#[inline(always)]
pub fn is_hz_512(&self) -> bool {
*self == PPSFREQ::Hz512
}
#[inline(always)]
pub fn is_hz_1024(&self) -> bool {
*self == PPSFREQ::Hz1024
}
#[inline(always)]
pub fn is_hz_2048(&self) -> bool {
*self == PPSFREQ::Hz2048
}
#[inline(always)]
pub fn is_hz_4096(&self) -> bool {
*self == PPSFREQ::Hz4096
}
#[inline(always)]
pub fn is_hz_8192(&self) -> bool {
*self == PPSFREQ::Hz8192
}
#[inline(always)]
pub fn is_hz_16384(&self) -> bool {
*self == PPSFREQ::Hz16384
}
#[inline(always)]
pub fn is_hz_32768(&self) -> bool {
*self == PPSFREQ::Hz32768
}
}
impl R {
#[inline(always)]
pub fn ppsfreq(&self) -> PPSFREQ_R {
PPSFREQ_R::new((self.bits & 0x0f) as u8)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PTPPPSCR")
.field("ppsfreq", &self.ppsfreq())
.finish()
}
}
pub struct PTPPPSCRrs;
impl crate::RegisterSpec for PTPPPSCRrs {
type Ux = u32;
}
impl crate::Readable for PTPPPSCRrs {}
impl crate::Resettable for PTPPPSCRrs {}