d1_pac/spinlock/
spinlock_status.rs

1#[doc = "Register `spinlock_status` reader"]
2pub type R = crate::R<SPINLOCK_STATUS_SPEC>;
3#[doc = "Field `lock_status[0-31]` reader - Lock\\[i\\] status"]
4pub type LOCK_STATUS_R = crate::BitReader<LOCK_STATUS_A>;
5#[doc = "Lock\\[i\\] status\n\nValue on reset: 0"]
6#[derive(Clone, Copy, Debug, PartialEq, Eq)]
7pub enum LOCK_STATUS_A {
8    #[doc = "0: `0`"]
9    FREE = 0,
10    #[doc = "1: `1`"]
11    TAKEN = 1,
12}
13impl From<LOCK_STATUS_A> for bool {
14    #[inline(always)]
15    fn from(variant: LOCK_STATUS_A) -> Self {
16        variant as u8 != 0
17    }
18}
19impl LOCK_STATUS_R {
20    #[doc = "Get enumerated values variant"]
21    #[inline(always)]
22    pub const fn variant(&self) -> LOCK_STATUS_A {
23        match self.bits {
24            false => LOCK_STATUS_A::FREE,
25            true => LOCK_STATUS_A::TAKEN,
26        }
27    }
28    #[doc = "`0`"]
29    #[inline(always)]
30    pub fn is_free(&self) -> bool {
31        *self == LOCK_STATUS_A::FREE
32    }
33    #[doc = "`1`"]
34    #[inline(always)]
35    pub fn is_taken(&self) -> bool {
36        *self == LOCK_STATUS_A::TAKEN
37    }
38}
39impl R {
40    #[doc = "Lock\\[i\\] status\n\nNOTE: `n` is number of field in register. `n == 0` corresponds to `lock0_status` field"]
41    #[inline(always)]
42    pub fn lock_status(&self, n: u8) -> LOCK_STATUS_R {
43        #[allow(clippy::no_effect)]
44        [(); 32][n as usize];
45        LOCK_STATUS_R::new(((self.bits >> n) & 1) != 0)
46    }
47    #[doc = "Bit 0 - Lock\\[i\\] status"]
48    #[inline(always)]
49    pub fn lock0_status(&self) -> LOCK_STATUS_R {
50        LOCK_STATUS_R::new((self.bits & 1) != 0)
51    }
52    #[doc = "Bit 1 - Lock\\[i\\] status"]
53    #[inline(always)]
54    pub fn lock1_status(&self) -> LOCK_STATUS_R {
55        LOCK_STATUS_R::new(((self.bits >> 1) & 1) != 0)
56    }
57    #[doc = "Bit 2 - Lock\\[i\\] status"]
58    #[inline(always)]
59    pub fn lock2_status(&self) -> LOCK_STATUS_R {
60        LOCK_STATUS_R::new(((self.bits >> 2) & 1) != 0)
61    }
62    #[doc = "Bit 3 - Lock\\[i\\] status"]
63    #[inline(always)]
64    pub fn lock3_status(&self) -> LOCK_STATUS_R {
65        LOCK_STATUS_R::new(((self.bits >> 3) & 1) != 0)
66    }
67    #[doc = "Bit 4 - Lock\\[i\\] status"]
68    #[inline(always)]
69    pub fn lock4_status(&self) -> LOCK_STATUS_R {
70        LOCK_STATUS_R::new(((self.bits >> 4) & 1) != 0)
71    }
72    #[doc = "Bit 5 - Lock\\[i\\] status"]
73    #[inline(always)]
74    pub fn lock5_status(&self) -> LOCK_STATUS_R {
75        LOCK_STATUS_R::new(((self.bits >> 5) & 1) != 0)
76    }
77    #[doc = "Bit 6 - Lock\\[i\\] status"]
78    #[inline(always)]
79    pub fn lock6_status(&self) -> LOCK_STATUS_R {
80        LOCK_STATUS_R::new(((self.bits >> 6) & 1) != 0)
81    }
82    #[doc = "Bit 7 - Lock\\[i\\] status"]
83    #[inline(always)]
84    pub fn lock7_status(&self) -> LOCK_STATUS_R {
85        LOCK_STATUS_R::new(((self.bits >> 7) & 1) != 0)
86    }
87    #[doc = "Bit 8 - Lock\\[i\\] status"]
88    #[inline(always)]
89    pub fn lock8_status(&self) -> LOCK_STATUS_R {
90        LOCK_STATUS_R::new(((self.bits >> 8) & 1) != 0)
91    }
92    #[doc = "Bit 9 - Lock\\[i\\] status"]
93    #[inline(always)]
94    pub fn lock9_status(&self) -> LOCK_STATUS_R {
95        LOCK_STATUS_R::new(((self.bits >> 9) & 1) != 0)
96    }
97    #[doc = "Bit 10 - Lock\\[i\\] status"]
98    #[inline(always)]
99    pub fn lock10_status(&self) -> LOCK_STATUS_R {
100        LOCK_STATUS_R::new(((self.bits >> 10) & 1) != 0)
101    }
102    #[doc = "Bit 11 - Lock\\[i\\] status"]
103    #[inline(always)]
104    pub fn lock11_status(&self) -> LOCK_STATUS_R {
105        LOCK_STATUS_R::new(((self.bits >> 11) & 1) != 0)
106    }
107    #[doc = "Bit 12 - Lock\\[i\\] status"]
108    #[inline(always)]
109    pub fn lock12_status(&self) -> LOCK_STATUS_R {
110        LOCK_STATUS_R::new(((self.bits >> 12) & 1) != 0)
111    }
112    #[doc = "Bit 13 - Lock\\[i\\] status"]
113    #[inline(always)]
114    pub fn lock13_status(&self) -> LOCK_STATUS_R {
115        LOCK_STATUS_R::new(((self.bits >> 13) & 1) != 0)
116    }
117    #[doc = "Bit 14 - Lock\\[i\\] status"]
118    #[inline(always)]
119    pub fn lock14_status(&self) -> LOCK_STATUS_R {
120        LOCK_STATUS_R::new(((self.bits >> 14) & 1) != 0)
121    }
122    #[doc = "Bit 15 - Lock\\[i\\] status"]
123    #[inline(always)]
124    pub fn lock15_status(&self) -> LOCK_STATUS_R {
125        LOCK_STATUS_R::new(((self.bits >> 15) & 1) != 0)
126    }
127    #[doc = "Bit 16 - Lock\\[i\\] status"]
128    #[inline(always)]
129    pub fn lock16_status(&self) -> LOCK_STATUS_R {
130        LOCK_STATUS_R::new(((self.bits >> 16) & 1) != 0)
131    }
132    #[doc = "Bit 17 - Lock\\[i\\] status"]
133    #[inline(always)]
134    pub fn lock17_status(&self) -> LOCK_STATUS_R {
135        LOCK_STATUS_R::new(((self.bits >> 17) & 1) != 0)
136    }
137    #[doc = "Bit 18 - Lock\\[i\\] status"]
138    #[inline(always)]
139    pub fn lock18_status(&self) -> LOCK_STATUS_R {
140        LOCK_STATUS_R::new(((self.bits >> 18) & 1) != 0)
141    }
142    #[doc = "Bit 19 - Lock\\[i\\] status"]
143    #[inline(always)]
144    pub fn lock19_status(&self) -> LOCK_STATUS_R {
145        LOCK_STATUS_R::new(((self.bits >> 19) & 1) != 0)
146    }
147    #[doc = "Bit 20 - Lock\\[i\\] status"]
148    #[inline(always)]
149    pub fn lock20_status(&self) -> LOCK_STATUS_R {
150        LOCK_STATUS_R::new(((self.bits >> 20) & 1) != 0)
151    }
152    #[doc = "Bit 21 - Lock\\[i\\] status"]
153    #[inline(always)]
154    pub fn lock21_status(&self) -> LOCK_STATUS_R {
155        LOCK_STATUS_R::new(((self.bits >> 21) & 1) != 0)
156    }
157    #[doc = "Bit 22 - Lock\\[i\\] status"]
158    #[inline(always)]
159    pub fn lock22_status(&self) -> LOCK_STATUS_R {
160        LOCK_STATUS_R::new(((self.bits >> 22) & 1) != 0)
161    }
162    #[doc = "Bit 23 - Lock\\[i\\] status"]
163    #[inline(always)]
164    pub fn lock23_status(&self) -> LOCK_STATUS_R {
165        LOCK_STATUS_R::new(((self.bits >> 23) & 1) != 0)
166    }
167    #[doc = "Bit 24 - Lock\\[i\\] status"]
168    #[inline(always)]
169    pub fn lock24_status(&self) -> LOCK_STATUS_R {
170        LOCK_STATUS_R::new(((self.bits >> 24) & 1) != 0)
171    }
172    #[doc = "Bit 25 - Lock\\[i\\] status"]
173    #[inline(always)]
174    pub fn lock25_status(&self) -> LOCK_STATUS_R {
175        LOCK_STATUS_R::new(((self.bits >> 25) & 1) != 0)
176    }
177    #[doc = "Bit 26 - Lock\\[i\\] status"]
178    #[inline(always)]
179    pub fn lock26_status(&self) -> LOCK_STATUS_R {
180        LOCK_STATUS_R::new(((self.bits >> 26) & 1) != 0)
181    }
182    #[doc = "Bit 27 - Lock\\[i\\] status"]
183    #[inline(always)]
184    pub fn lock27_status(&self) -> LOCK_STATUS_R {
185        LOCK_STATUS_R::new(((self.bits >> 27) & 1) != 0)
186    }
187    #[doc = "Bit 28 - Lock\\[i\\] status"]
188    #[inline(always)]
189    pub fn lock28_status(&self) -> LOCK_STATUS_R {
190        LOCK_STATUS_R::new(((self.bits >> 28) & 1) != 0)
191    }
192    #[doc = "Bit 29 - Lock\\[i\\] status"]
193    #[inline(always)]
194    pub fn lock29_status(&self) -> LOCK_STATUS_R {
195        LOCK_STATUS_R::new(((self.bits >> 29) & 1) != 0)
196    }
197    #[doc = "Bit 30 - Lock\\[i\\] status"]
198    #[inline(always)]
199    pub fn lock30_status(&self) -> LOCK_STATUS_R {
200        LOCK_STATUS_R::new(((self.bits >> 30) & 1) != 0)
201    }
202    #[doc = "Bit 31 - Lock\\[i\\] status"]
203    #[inline(always)]
204    pub fn lock31_status(&self) -> LOCK_STATUS_R {
205        LOCK_STATUS_R::new(((self.bits >> 31) & 1) != 0)
206    }
207}
208#[doc = "Spinlock Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spinlock_status::R`](R).  See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
209pub struct SPINLOCK_STATUS_SPEC;
210impl crate::RegisterSpec for SPINLOCK_STATUS_SPEC {
211    type Ux = u32;
212}
213#[doc = "`read()` method returns [`spinlock_status::R`](R) reader structure"]
214impl crate::Readable for SPINLOCK_STATUS_SPEC {}
215#[doc = "`reset()` method sets spinlock_status to value 0"]
216impl crate::Resettable for SPINLOCK_STATUS_SPEC {
217    const RESET_VALUE: Self::Ux = 0;
218}