atsamv71q21/acc/
acc_ver.rs

1#[doc = "Register `ACC_VER` reader"]
2pub struct R(crate::R<ACC_VER_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<ACC_VER_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<ACC_VER_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<ACC_VER_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Field `VERSION` reader - Version of the Hardware Module"]
17pub struct VERSION_R(crate::FieldReader<u16, u16>);
18impl VERSION_R {
19    #[inline(always)]
20    pub(crate) fn new(bits: u16) -> Self {
21        VERSION_R(crate::FieldReader::new(bits))
22    }
23}
24impl core::ops::Deref for VERSION_R {
25    type Target = crate::FieldReader<u16, u16>;
26    #[inline(always)]
27    fn deref(&self) -> &Self::Target {
28        &self.0
29    }
30}
31#[doc = "Field `MFN` reader - Metal Fix Number"]
32pub struct MFN_R(crate::FieldReader<u8, u8>);
33impl MFN_R {
34    #[inline(always)]
35    pub(crate) fn new(bits: u8) -> Self {
36        MFN_R(crate::FieldReader::new(bits))
37    }
38}
39impl core::ops::Deref for MFN_R {
40    type Target = crate::FieldReader<u8, u8>;
41    #[inline(always)]
42    fn deref(&self) -> &Self::Target {
43        &self.0
44    }
45}
46impl R {
47    #[doc = "Bits 0:11 - Version of the Hardware Module"]
48    #[inline(always)]
49    pub fn version(&self) -> VERSION_R {
50        VERSION_R::new((self.bits & 0x0fff) as u16)
51    }
52    #[doc = "Bits 16:18 - Metal Fix Number"]
53    #[inline(always)]
54    pub fn mfn(&self) -> MFN_R {
55        MFN_R::new(((self.bits >> 16) & 0x07) as u8)
56    }
57}
58#[doc = "Version 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 [acc_ver](index.html) module"]
59pub struct ACC_VER_SPEC;
60impl crate::RegisterSpec for ACC_VER_SPEC {
61    type Ux = u32;
62}
63#[doc = "`read()` method returns [acc_ver::R](R) reader structure"]
64impl crate::Readable for ACC_VER_SPEC {
65    type Reader = R;
66}
67#[doc = "`reset()` method sets ACC_VER to value 0"]
68impl crate::Resettable for ACC_VER_SPEC {
69    #[inline(always)]
70    fn reset_value() -> Self::Ux {
71        0
72    }
73}