s32k142w_pac/rcm/
verid.rs

1#[doc = "Register `VERID` reader"]
2pub struct R(crate::R<VERID_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<VERID_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<VERID_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<VERID_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Feature Specification Number\n\nValue on reset: 3"]
17#[derive(Clone, Copy, Debug, PartialEq)]
18#[repr(u16)]
19pub enum FEATURE_A {
20    #[doc = "3: Standard feature set."]
21    FEATURE_3 = 3,
22}
23impl From<FEATURE_A> for u16 {
24    #[inline(always)]
25    fn from(variant: FEATURE_A) -> Self {
26        variant as _
27    }
28}
29#[doc = "Field `FEATURE` reader - Feature Specification Number"]
30pub struct FEATURE_R(crate::FieldReader<u16, FEATURE_A>);
31impl FEATURE_R {
32    #[inline(always)]
33    pub(crate) fn new(bits: u16) -> Self {
34        FEATURE_R(crate::FieldReader::new(bits))
35    }
36    #[doc = r"Get enumerated values variant"]
37    #[inline(always)]
38    pub fn variant(&self) -> Option<FEATURE_A> {
39        match self.bits {
40            3 => Some(FEATURE_A::FEATURE_3),
41            _ => None,
42        }
43    }
44    #[doc = "Checks if the value of the field is `FEATURE_3`"]
45    #[inline(always)]
46    pub fn is_feature_3(&self) -> bool {
47        **self == FEATURE_A::FEATURE_3
48    }
49}
50impl core::ops::Deref for FEATURE_R {
51    type Target = crate::FieldReader<u16, FEATURE_A>;
52    #[inline(always)]
53    fn deref(&self) -> &Self::Target {
54        &self.0
55    }
56}
57#[doc = "Field `MINOR` reader - Minor Version Number"]
58pub struct MINOR_R(crate::FieldReader<u8, u8>);
59impl MINOR_R {
60    #[inline(always)]
61    pub(crate) fn new(bits: u8) -> Self {
62        MINOR_R(crate::FieldReader::new(bits))
63    }
64}
65impl core::ops::Deref for MINOR_R {
66    type Target = crate::FieldReader<u8, u8>;
67    #[inline(always)]
68    fn deref(&self) -> &Self::Target {
69        &self.0
70    }
71}
72#[doc = "Field `MAJOR` reader - Major Version Number"]
73pub struct MAJOR_R(crate::FieldReader<u8, u8>);
74impl MAJOR_R {
75    #[inline(always)]
76    pub(crate) fn new(bits: u8) -> Self {
77        MAJOR_R(crate::FieldReader::new(bits))
78    }
79}
80impl core::ops::Deref for MAJOR_R {
81    type Target = crate::FieldReader<u8, u8>;
82    #[inline(always)]
83    fn deref(&self) -> &Self::Target {
84        &self.0
85    }
86}
87impl R {
88    #[doc = "Bits 0:15 - Feature Specification Number"]
89    #[inline(always)]
90    pub fn feature(&self) -> FEATURE_R {
91        FEATURE_R::new((self.bits & 0xffff) as u16)
92    }
93    #[doc = "Bits 16:23 - Minor Version Number"]
94    #[inline(always)]
95    pub fn minor(&self) -> MINOR_R {
96        MINOR_R::new(((self.bits >> 16) & 0xff) as u8)
97    }
98    #[doc = "Bits 24:31 - Major Version Number"]
99    #[inline(always)]
100    pub fn major(&self) -> MAJOR_R {
101        MAJOR_R::new(((self.bits >> 24) & 0xff) as u8)
102    }
103}
104#[doc = "Version ID Register\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 [verid](index.html) module"]
105pub struct VERID_SPEC;
106impl crate::RegisterSpec for VERID_SPEC {
107    type Ux = u32;
108}
109#[doc = "`read()` method returns [verid::R](R) reader structure"]
110impl crate::Readable for VERID_SPEC {
111    type Reader = R;
112}
113#[doc = "`reset()` method sets VERID to value 0x0300_0003"]
114impl crate::Resettable for VERID_SPEC {
115    #[inline(always)]
116    fn reset_value() -> Self::Ux {
117        0x0300_0003
118    }
119}