atsamv71q21/acc/
acc_ver.rs1#[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}