1#[doc = "Register `SYST_CALIB` reader"]
2pub type R = crate::R<SYST_CALIB_SPEC>;
3#[doc = "Field `TENMS` reader - An optional Reload value to be used for 10ms (100Hz) timing, subject to system clock skew errors. If the value reads as 0, the calibration value is not known."]
4pub type TENMS_R = crate::FieldReader<u32>;
5#[doc = "Field `SKEW` reader - If reads as 1, the calibration value for 10ms is inexact (due to clock frequency)."]
6pub type SKEW_R = crate::BitReader;
7#[doc = "Field `NOREF` reader - If reads as 1, the Reference clock is not provided - the CLKSOURCE bit of the SysTick Control and Status register will be forced to 1 and cannot be cleared to 0."]
8pub type NOREF_R = crate::BitReader;
9impl R {
10#[doc = "Bits 0:23 - An optional Reload value to be used for 10ms (100Hz) timing, subject to system clock skew errors. If the value reads as 0, the calibration value is not known."]
11 #[inline(always)]
12pub fn tenms(&self) -> TENMS_R {
13 TENMS_R::new(self.bits & 0x00ff_ffff)
14 }
15#[doc = "Bit 30 - If reads as 1, the calibration value for 10ms is inexact (due to clock frequency)."]
16 #[inline(always)]
17pub fn skew(&self) -> SKEW_R {
18 SKEW_R::new(((self.bits >> 30) & 1) != 0)
19 }
20#[doc = "Bit 31 - If reads as 1, the Reference clock is not provided - the CLKSOURCE bit of the SysTick Control and Status register will be forced to 1 and cannot be cleared to 0."]
21 #[inline(always)]
22pub fn noref(&self) -> NOREF_R {
23 NOREF_R::new(((self.bits >> 31) & 1) != 0)
24 }
25}
26#[doc = "Use the SysTick Calibration Value Register to enable software to scale to any required speed using divide and multiply.
2728You can [`read`](crate::generic::Reg::read) this register and get [`syst_calib::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
29pub struct SYST_CALIB_SPEC;
30impl crate::RegisterSpec for SYST_CALIB_SPEC {
31type Ux = u32;
32}
33#[doc = "`read()` method returns [`syst_calib::R`](R) reader structure"]
34impl crate::Readable for SYST_CALIB_SPEC {}
35#[doc = "`reset()` method sets SYST_CALIB to value 0"]
36impl crate::Resettable for SYST_CALIB_SPEC {
37const RESET_VALUE: u32 = 0;
38}