#[doc = "Reader of register CSR"] pub type R = crate::R; #[doc = "Writer for register CSR"] pub type W = crate::W; #[doc = "Register CSR `reset()`'s with value 0x04"] impl crate::ResetValue for super::CSR { type Type = u32; #[inline(always)] fn reset_value() -> Self::Type { 0x04 } } #[doc = "Enables the counter\n\nValue on reset: 0"] #[derive(Clone, Copy, Debug, PartialEq)] pub enum ENABLE_A { #[doc = "0: counter disabled"] _0 = 0, #[doc = "1: counter enabled"] _1 = 1, } impl From for bool { #[inline(always)] fn from(variant: ENABLE_A) -> Self { variant as u8 != 0 } } #[doc = "Reader of field `ENABLE`"] pub type ENABLE_R = crate::R; impl ENABLE_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> ENABLE_A { match self.bits { false => ENABLE_A::_0, true => ENABLE_A::_1, } } #[doc = "Checks if the value of the field is `_0`"] #[inline(always)] pub fn is_0(&self) -> bool { *self == ENABLE_A::_0 } #[doc = "Checks if the value of the field is `_1`"] #[inline(always)] pub fn is_1(&self) -> bool { *self == ENABLE_A::_1 } } #[doc = "Write proxy for field `ENABLE`"] pub struct ENABLE_W<'a> { w: &'a mut W, } impl<'a> ENABLE_W<'a> { #[doc = r"Writes `variant` to the field"] #[inline(always)] pub fn variant(self, variant: ENABLE_A) -> &'a mut W { { self.bit(variant.into()) } } #[doc = "counter disabled"] #[inline(always)] pub fn _0(self) -> &'a mut W { self.variant(ENABLE_A::_0) } #[doc = "counter enabled"] #[inline(always)] pub fn _1(self) -> &'a mut W { self.variant(ENABLE_A::_1) } #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01); self.w } } #[doc = "Enables SysTick exception request\n\nValue on reset: 0"] #[derive(Clone, Copy, Debug, PartialEq)] pub enum TICKINT_A { #[doc = "0: counting down to 0 does not assert the SysTick exception request"] _0 = 0, #[doc = "1: counting down to 0 asserts the SysTick exception request"] _1 = 1, } impl From for bool { #[inline(always)] fn from(variant: TICKINT_A) -> Self { variant as u8 != 0 } } #[doc = "Reader of field `TICKINT`"] pub type TICKINT_R = crate::R; impl TICKINT_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> TICKINT_A { match self.bits { false => TICKINT_A::_0, true => TICKINT_A::_1, } } #[doc = "Checks if the value of the field is `_0`"] #[inline(always)] pub fn is_0(&self) -> bool { *self == TICKINT_A::_0 } #[doc = "Checks if the value of the field is `_1`"] #[inline(always)] pub fn is_1(&self) -> bool { *self == TICKINT_A::_1 } } #[doc = "Write proxy for field `TICKINT`"] pub struct TICKINT_W<'a> { w: &'a mut W, } impl<'a> TICKINT_W<'a> { #[doc = r"Writes `variant` to the field"] #[inline(always)] pub fn variant(self, variant: TICKINT_A) -> &'a mut W { { self.bit(variant.into()) } } #[doc = "counting down to 0 does not assert the SysTick exception request"] #[inline(always)] pub fn _0(self) -> &'a mut W { self.variant(TICKINT_A::_0) } #[doc = "counting down to 0 asserts the SysTick exception request"] #[inline(always)] pub fn _1(self) -> &'a mut W { self.variant(TICKINT_A::_1) } #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1); self.w } } #[doc = "Indicates the clock source\n\nValue on reset: 1"] #[derive(Clone, Copy, Debug, PartialEq)] pub enum CLKSOURCE_A { #[doc = "0: external clock"] _0 = 0, #[doc = "1: processor clock"] _1 = 1, } impl From for bool { #[inline(always)] fn from(variant: CLKSOURCE_A) -> Self { variant as u8 != 0 } } #[doc = "Reader of field `CLKSOURCE`"] pub type CLKSOURCE_R = crate::R; impl CLKSOURCE_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> CLKSOURCE_A { match self.bits { false => CLKSOURCE_A::_0, true => CLKSOURCE_A::_1, } } #[doc = "Checks if the value of the field is `_0`"] #[inline(always)] pub fn is_0(&self) -> bool { *self == CLKSOURCE_A::_0 } #[doc = "Checks if the value of the field is `_1`"] #[inline(always)] pub fn is_1(&self) -> bool { *self == CLKSOURCE_A::_1 } } #[doc = "Write proxy for field `CLKSOURCE`"] pub struct CLKSOURCE_W<'a> { w: &'a mut W, } impl<'a> CLKSOURCE_W<'a> { #[doc = r"Writes `variant` to the field"] #[inline(always)] pub fn variant(self, variant: CLKSOURCE_A) -> &'a mut W { { self.bit(variant.into()) } } #[doc = "external clock"] #[inline(always)] pub fn _0(self) -> &'a mut W { self.variant(CLKSOURCE_A::_0) } #[doc = "processor clock"] #[inline(always)] pub fn _1(self) -> &'a mut W { self.variant(CLKSOURCE_A::_1) } #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2); self.w } } #[doc = "Reader of field `COUNTFLAG`"] pub type COUNTFLAG_R = crate::R; #[doc = "Write proxy for field `COUNTFLAG`"] pub struct COUNTFLAG_W<'a> { w: &'a mut W, } impl<'a> COUNTFLAG_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 16)) | (((value as u32) & 0x01) << 16); self.w } } impl R { #[doc = "Bit 0 - Enables the counter"] #[inline(always)] pub fn enable(&self) -> ENABLE_R { ENABLE_R::new((self.bits & 0x01) != 0) } #[doc = "Bit 1 - Enables SysTick exception request"] #[inline(always)] pub fn tickint(&self) -> TICKINT_R { TICKINT_R::new(((self.bits >> 1) & 0x01) != 0) } #[doc = "Bit 2 - Indicates the clock source"] #[inline(always)] pub fn clksource(&self) -> CLKSOURCE_R { CLKSOURCE_R::new(((self.bits >> 2) & 0x01) != 0) } #[doc = "Bit 16 - Returns 1 if timer counted to 0 since last time this was read"] #[inline(always)] pub fn countflag(&self) -> COUNTFLAG_R { COUNTFLAG_R::new(((self.bits >> 16) & 0x01) != 0) } } impl W { #[doc = "Bit 0 - Enables the counter"] #[inline(always)] pub fn enable(&mut self) -> ENABLE_W { ENABLE_W { w: self } } #[doc = "Bit 1 - Enables SysTick exception request"] #[inline(always)] pub fn tickint(&mut self) -> TICKINT_W { TICKINT_W { w: self } } #[doc = "Bit 2 - Indicates the clock source"] #[inline(always)] pub fn clksource(&mut self) -> CLKSOURCE_W { CLKSOURCE_W { w: self } } #[doc = "Bit 16 - Returns 1 if timer counted to 0 since last time this was read"] #[inline(always)] pub fn countflag(&mut self) -> COUNTFLAG_W { COUNTFLAG_W { w: self } } }