1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
#[doc = "Register `LFCLKSTAT` reader"] pub struct R(crate::R<LFCLKSTAT_SPEC>); impl core::ops::Deref for R { type Target = crate::R<LFCLKSTAT_SPEC>; #[inline(always)] fn deref(&self) -> &Self::Target { &self.0 } } impl From<crate::R<LFCLKSTAT_SPEC>> for R { #[inline(always)] fn from(reader: crate::R<LFCLKSTAT_SPEC>) -> Self { R(reader) } } #[doc = "Source of LFCLK\n\nValue on reset: 0"] #[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] pub enum SRC_A { #[doc = "0: 32.768 kHz RC oscillator"] RC = 0, #[doc = "1: 32.768 kHz crystal oscillator"] XTAL = 1, #[doc = "2: 32.768 kHz synthesized from HFCLK"] SYNTH = 2, } impl From<SRC_A> for u8 { #[inline(always)] fn from(variant: SRC_A) -> Self { variant as _ } } #[doc = "Field `SRC` reader - Source of LFCLK"] pub struct SRC_R(crate::FieldReader<u8, SRC_A>); impl SRC_R { pub(crate) fn new(bits: u8) -> Self { SRC_R(crate::FieldReader::new(bits)) } #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> Option<SRC_A> { match self.bits { 0 => Some(SRC_A::RC), 1 => Some(SRC_A::XTAL), 2 => Some(SRC_A::SYNTH), _ => None, } } #[doc = "Checks if the value of the field is `RC`"] #[inline(always)] pub fn is_rc(&self) -> bool { **self == SRC_A::RC } #[doc = "Checks if the value of the field is `XTAL`"] #[inline(always)] pub fn is_xtal(&self) -> bool { **self == SRC_A::XTAL } #[doc = "Checks if the value of the field is `SYNTH`"] #[inline(always)] pub fn is_synth(&self) -> bool { **self == SRC_A::SYNTH } } impl core::ops::Deref for SRC_R { type Target = crate::FieldReader<u8, SRC_A>; #[inline(always)] fn deref(&self) -> &Self::Target { &self.0 } } #[doc = "LFCLK state\n\nValue on reset: 0"] #[derive(Clone, Copy, Debug, PartialEq)] pub enum STATE_A { #[doc = "0: LFCLK not running"] NOTRUNNING = 0, #[doc = "1: LFCLK running"] RUNNING = 1, } impl From<STATE_A> for bool { #[inline(always)] fn from(variant: STATE_A) -> Self { variant as u8 != 0 } } #[doc = "Field `STATE` reader - LFCLK state"] pub struct STATE_R(crate::FieldReader<bool, STATE_A>); impl STATE_R { pub(crate) fn new(bits: bool) -> Self { STATE_R(crate::FieldReader::new(bits)) } #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> STATE_A { match self.bits { false => STATE_A::NOTRUNNING, true => STATE_A::RUNNING, } } #[doc = "Checks if the value of the field is `NOTRUNNING`"] #[inline(always)] pub fn is_not_running(&self) -> bool { **self == STATE_A::NOTRUNNING } #[doc = "Checks if the value of the field is `RUNNING`"] #[inline(always)] pub fn is_running(&self) -> bool { **self == STATE_A::RUNNING } } impl core::ops::Deref for STATE_R { type Target = crate::FieldReader<bool, STATE_A>; #[inline(always)] fn deref(&self) -> &Self::Target { &self.0 } } impl R { #[doc = "Bits 0:1 - Source of LFCLK"] #[inline(always)] pub fn src(&self) -> SRC_R { SRC_R::new((self.bits & 0x03) as u8) } #[doc = "Bit 16 - LFCLK state"] #[inline(always)] pub fn state(&self) -> STATE_R { STATE_R::new(((self.bits >> 16) & 0x01) != 0) } } #[doc = "LFCLK status\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [lfclkstat](index.html) module"] pub struct LFCLKSTAT_SPEC; impl crate::RegisterSpec for LFCLKSTAT_SPEC { type Ux = u32; } #[doc = "`read()` method returns [lfclkstat::R](R) reader structure"] impl crate::Readable for LFCLKSTAT_SPEC { type Reader = R; } #[doc = "`reset()` method sets LFCLKSTAT to value 0"] impl crate::Resettable for LFCLKSTAT_SPEC { #[inline(always)] fn reset_value() -> Self::Ux { 0 } }