stm32f0/stm32f0x1/exti/
imr.rs1pub type R = crate::R<IMRrs>;
3pub type W = crate::W<IMRrs>;
5#[cfg_attr(feature = "defmt", derive(defmt::Format))]
9#[derive(Clone, Copy, Debug, PartialEq, Eq)]
10pub enum INTERRUPT_MASK {
11 Masked = 0,
13 Unmasked = 1,
15}
16impl From<INTERRUPT_MASK> for bool {
17 #[inline(always)]
18 fn from(variant: INTERRUPT_MASK) -> Self {
19 variant as u8 != 0
20 }
21}
22pub type MR0_R = crate::BitReader<INTERRUPT_MASK>;
24impl MR0_R {
25 #[inline(always)]
27 pub const fn variant(&self) -> INTERRUPT_MASK {
28 match self.bits {
29 false => INTERRUPT_MASK::Masked,
30 true => INTERRUPT_MASK::Unmasked,
31 }
32 }
33 #[inline(always)]
35 pub fn is_masked(&self) -> bool {
36 *self == INTERRUPT_MASK::Masked
37 }
38 #[inline(always)]
40 pub fn is_unmasked(&self) -> bool {
41 *self == INTERRUPT_MASK::Unmasked
42 }
43}
44pub type MR0_W<'a, REG> = crate::BitWriter<'a, REG, INTERRUPT_MASK>;
46impl<'a, REG> MR0_W<'a, REG>
47where
48 REG: crate::Writable + crate::RegisterSpec,
49{
50 #[inline(always)]
52 pub fn masked(self) -> &'a mut crate::W<REG> {
53 self.variant(INTERRUPT_MASK::Masked)
54 }
55 #[inline(always)]
57 pub fn unmasked(self) -> &'a mut crate::W<REG> {
58 self.variant(INTERRUPT_MASK::Unmasked)
59 }
60}
61pub use MR0_R as MR1_R;
63pub use MR0_R as MR2_R;
65pub use MR0_R as MR3_R;
67pub use MR0_R as MR4_R;
69pub use MR0_R as MR5_R;
71pub use MR0_R as MR6_R;
73pub use MR0_R as MR7_R;
75pub use MR0_R as MR8_R;
77pub use MR0_R as MR9_R;
79pub use MR0_R as MR10_R;
81pub use MR0_R as MR11_R;
83pub use MR0_R as MR12_R;
85pub use MR0_R as MR13_R;
87pub use MR0_R as MR14_R;
89pub use MR0_R as MR15_R;
91pub use MR0_R as MR16_R;
93pub use MR0_R as MR17_R;
95pub use MR0_R as MR18_R;
97pub use MR0_R as MR19_R;
99pub use MR0_R as MR20_R;
101pub use MR0_R as MR21_R;
103pub use MR0_R as MR22_R;
105pub use MR0_R as MR23_R;
107pub use MR0_R as MR24_R;
109pub use MR0_R as MR25_R;
111pub use MR0_R as MR26_R;
113pub use MR0_R as MR27_R;
115pub use MR0_W as MR1_W;
117pub use MR0_W as MR2_W;
119pub use MR0_W as MR3_W;
121pub use MR0_W as MR4_W;
123pub use MR0_W as MR5_W;
125pub use MR0_W as MR6_W;
127pub use MR0_W as MR7_W;
129pub use MR0_W as MR8_W;
131pub use MR0_W as MR9_W;
133pub use MR0_W as MR10_W;
135pub use MR0_W as MR11_W;
137pub use MR0_W as MR12_W;
139pub use MR0_W as MR13_W;
141pub use MR0_W as MR14_W;
143pub use MR0_W as MR15_W;
145pub use MR0_W as MR16_W;
147pub use MR0_W as MR17_W;
149pub use MR0_W as MR18_W;
151pub use MR0_W as MR19_W;
153pub use MR0_W as MR20_W;
155pub use MR0_W as MR21_W;
157pub use MR0_W as MR22_W;
159pub use MR0_W as MR23_W;
161pub use MR0_W as MR24_W;
163pub use MR0_W as MR25_W;
165pub use MR0_W as MR26_W;
167pub use MR0_W as MR27_W;
169impl R {
170 #[inline(always)]
172 pub fn mr0(&self) -> MR0_R {
173 MR0_R::new((self.bits & 1) != 0)
174 }
175 #[inline(always)]
177 pub fn mr1(&self) -> MR1_R {
178 MR1_R::new(((self.bits >> 1) & 1) != 0)
179 }
180 #[inline(always)]
182 pub fn mr2(&self) -> MR2_R {
183 MR2_R::new(((self.bits >> 2) & 1) != 0)
184 }
185 #[inline(always)]
187 pub fn mr3(&self) -> MR3_R {
188 MR3_R::new(((self.bits >> 3) & 1) != 0)
189 }
190 #[inline(always)]
192 pub fn mr4(&self) -> MR4_R {
193 MR4_R::new(((self.bits >> 4) & 1) != 0)
194 }
195 #[inline(always)]
197 pub fn mr5(&self) -> MR5_R {
198 MR5_R::new(((self.bits >> 5) & 1) != 0)
199 }
200 #[inline(always)]
202 pub fn mr6(&self) -> MR6_R {
203 MR6_R::new(((self.bits >> 6) & 1) != 0)
204 }
205 #[inline(always)]
207 pub fn mr7(&self) -> MR7_R {
208 MR7_R::new(((self.bits >> 7) & 1) != 0)
209 }
210 #[inline(always)]
212 pub fn mr8(&self) -> MR8_R {
213 MR8_R::new(((self.bits >> 8) & 1) != 0)
214 }
215 #[inline(always)]
217 pub fn mr9(&self) -> MR9_R {
218 MR9_R::new(((self.bits >> 9) & 1) != 0)
219 }
220 #[inline(always)]
222 pub fn mr10(&self) -> MR10_R {
223 MR10_R::new(((self.bits >> 10) & 1) != 0)
224 }
225 #[inline(always)]
227 pub fn mr11(&self) -> MR11_R {
228 MR11_R::new(((self.bits >> 11) & 1) != 0)
229 }
230 #[inline(always)]
232 pub fn mr12(&self) -> MR12_R {
233 MR12_R::new(((self.bits >> 12) & 1) != 0)
234 }
235 #[inline(always)]
237 pub fn mr13(&self) -> MR13_R {
238 MR13_R::new(((self.bits >> 13) & 1) != 0)
239 }
240 #[inline(always)]
242 pub fn mr14(&self) -> MR14_R {
243 MR14_R::new(((self.bits >> 14) & 1) != 0)
244 }
245 #[inline(always)]
247 pub fn mr15(&self) -> MR15_R {
248 MR15_R::new(((self.bits >> 15) & 1) != 0)
249 }
250 #[inline(always)]
252 pub fn mr16(&self) -> MR16_R {
253 MR16_R::new(((self.bits >> 16) & 1) != 0)
254 }
255 #[inline(always)]
257 pub fn mr17(&self) -> MR17_R {
258 MR17_R::new(((self.bits >> 17) & 1) != 0)
259 }
260 #[inline(always)]
262 pub fn mr18(&self) -> MR18_R {
263 MR18_R::new(((self.bits >> 18) & 1) != 0)
264 }
265 #[inline(always)]
267 pub fn mr19(&self) -> MR19_R {
268 MR19_R::new(((self.bits >> 19) & 1) != 0)
269 }
270 #[inline(always)]
272 pub fn mr20(&self) -> MR20_R {
273 MR20_R::new(((self.bits >> 20) & 1) != 0)
274 }
275 #[inline(always)]
277 pub fn mr21(&self) -> MR21_R {
278 MR21_R::new(((self.bits >> 21) & 1) != 0)
279 }
280 #[inline(always)]
282 pub fn mr22(&self) -> MR22_R {
283 MR22_R::new(((self.bits >> 22) & 1) != 0)
284 }
285 #[inline(always)]
287 pub fn mr23(&self) -> MR23_R {
288 MR23_R::new(((self.bits >> 23) & 1) != 0)
289 }
290 #[inline(always)]
292 pub fn mr24(&self) -> MR24_R {
293 MR24_R::new(((self.bits >> 24) & 1) != 0)
294 }
295 #[inline(always)]
297 pub fn mr25(&self) -> MR25_R {
298 MR25_R::new(((self.bits >> 25) & 1) != 0)
299 }
300 #[inline(always)]
302 pub fn mr26(&self) -> MR26_R {
303 MR26_R::new(((self.bits >> 26) & 1) != 0)
304 }
305 #[inline(always)]
307 pub fn mr27(&self) -> MR27_R {
308 MR27_R::new(((self.bits >> 27) & 1) != 0)
309 }
310}
311impl core::fmt::Debug for R {
312 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
313 f.debug_struct("IMR")
314 .field("mr0", &self.mr0())
315 .field("mr1", &self.mr1())
316 .field("mr2", &self.mr2())
317 .field("mr3", &self.mr3())
318 .field("mr4", &self.mr4())
319 .field("mr5", &self.mr5())
320 .field("mr6", &self.mr6())
321 .field("mr7", &self.mr7())
322 .field("mr8", &self.mr8())
323 .field("mr9", &self.mr9())
324 .field("mr10", &self.mr10())
325 .field("mr11", &self.mr11())
326 .field("mr12", &self.mr12())
327 .field("mr13", &self.mr13())
328 .field("mr14", &self.mr14())
329 .field("mr15", &self.mr15())
330 .field("mr16", &self.mr16())
331 .field("mr17", &self.mr17())
332 .field("mr18", &self.mr18())
333 .field("mr19", &self.mr19())
334 .field("mr20", &self.mr20())
335 .field("mr21", &self.mr21())
336 .field("mr22", &self.mr22())
337 .field("mr23", &self.mr23())
338 .field("mr24", &self.mr24())
339 .field("mr25", &self.mr25())
340 .field("mr26", &self.mr26())
341 .field("mr27", &self.mr27())
342 .finish()
343 }
344}
345impl W {
346 #[inline(always)]
348 pub fn mr0(&mut self) -> MR0_W<IMRrs> {
349 MR0_W::new(self, 0)
350 }
351 #[inline(always)]
353 pub fn mr1(&mut self) -> MR1_W<IMRrs> {
354 MR1_W::new(self, 1)
355 }
356 #[inline(always)]
358 pub fn mr2(&mut self) -> MR2_W<IMRrs> {
359 MR2_W::new(self, 2)
360 }
361 #[inline(always)]
363 pub fn mr3(&mut self) -> MR3_W<IMRrs> {
364 MR3_W::new(self, 3)
365 }
366 #[inline(always)]
368 pub fn mr4(&mut self) -> MR4_W<IMRrs> {
369 MR4_W::new(self, 4)
370 }
371 #[inline(always)]
373 pub fn mr5(&mut self) -> MR5_W<IMRrs> {
374 MR5_W::new(self, 5)
375 }
376 #[inline(always)]
378 pub fn mr6(&mut self) -> MR6_W<IMRrs> {
379 MR6_W::new(self, 6)
380 }
381 #[inline(always)]
383 pub fn mr7(&mut self) -> MR7_W<IMRrs> {
384 MR7_W::new(self, 7)
385 }
386 #[inline(always)]
388 pub fn mr8(&mut self) -> MR8_W<IMRrs> {
389 MR8_W::new(self, 8)
390 }
391 #[inline(always)]
393 pub fn mr9(&mut self) -> MR9_W<IMRrs> {
394 MR9_W::new(self, 9)
395 }
396 #[inline(always)]
398 pub fn mr10(&mut self) -> MR10_W<IMRrs> {
399 MR10_W::new(self, 10)
400 }
401 #[inline(always)]
403 pub fn mr11(&mut self) -> MR11_W<IMRrs> {
404 MR11_W::new(self, 11)
405 }
406 #[inline(always)]
408 pub fn mr12(&mut self) -> MR12_W<IMRrs> {
409 MR12_W::new(self, 12)
410 }
411 #[inline(always)]
413 pub fn mr13(&mut self) -> MR13_W<IMRrs> {
414 MR13_W::new(self, 13)
415 }
416 #[inline(always)]
418 pub fn mr14(&mut self) -> MR14_W<IMRrs> {
419 MR14_W::new(self, 14)
420 }
421 #[inline(always)]
423 pub fn mr15(&mut self) -> MR15_W<IMRrs> {
424 MR15_W::new(self, 15)
425 }
426 #[inline(always)]
428 pub fn mr16(&mut self) -> MR16_W<IMRrs> {
429 MR16_W::new(self, 16)
430 }
431 #[inline(always)]
433 pub fn mr17(&mut self) -> MR17_W<IMRrs> {
434 MR17_W::new(self, 17)
435 }
436 #[inline(always)]
438 pub fn mr18(&mut self) -> MR18_W<IMRrs> {
439 MR18_W::new(self, 18)
440 }
441 #[inline(always)]
443 pub fn mr19(&mut self) -> MR19_W<IMRrs> {
444 MR19_W::new(self, 19)
445 }
446 #[inline(always)]
448 pub fn mr20(&mut self) -> MR20_W<IMRrs> {
449 MR20_W::new(self, 20)
450 }
451 #[inline(always)]
453 pub fn mr21(&mut self) -> MR21_W<IMRrs> {
454 MR21_W::new(self, 21)
455 }
456 #[inline(always)]
458 pub fn mr22(&mut self) -> MR22_W<IMRrs> {
459 MR22_W::new(self, 22)
460 }
461 #[inline(always)]
463 pub fn mr23(&mut self) -> MR23_W<IMRrs> {
464 MR23_W::new(self, 23)
465 }
466 #[inline(always)]
468 pub fn mr24(&mut self) -> MR24_W<IMRrs> {
469 MR24_W::new(self, 24)
470 }
471 #[inline(always)]
473 pub fn mr25(&mut self) -> MR25_W<IMRrs> {
474 MR25_W::new(self, 25)
475 }
476 #[inline(always)]
478 pub fn mr26(&mut self) -> MR26_W<IMRrs> {
479 MR26_W::new(self, 26)
480 }
481 #[inline(always)]
483 pub fn mr27(&mut self) -> MR27_W<IMRrs> {
484 MR27_W::new(self, 27)
485 }
486}
487pub struct IMRrs;
493impl crate::RegisterSpec for IMRrs {
494 type Ux = u32;
495}
496impl crate::Readable for IMRrs {}
498impl crate::Writable for IMRrs {
500 type Safety = crate::Unsafe;
501}
502impl crate::Resettable for IMRrs {
504 const RESET_VALUE: u32 = 0x0f94_0000;
505}