stm32f3_staging/stm32f373/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 MR0 {
11 Masked = 0,
13 Unmasked = 1,
15}
16impl From<MR0> for bool {
17 #[inline(always)]
18 fn from(variant: MR0) -> Self {
19 variant as u8 != 0
20 }
21}
22pub type MR0_R = crate::BitReader<MR0>;
24impl MR0_R {
25 #[inline(always)]
27 pub const fn variant(&self) -> MR0 {
28 match self.bits {
29 false => MR0::Masked,
30 true => MR0::Unmasked,
31 }
32 }
33 #[inline(always)]
35 pub fn is_masked(&self) -> bool {
36 *self == MR0::Masked
37 }
38 #[inline(always)]
40 pub fn is_unmasked(&self) -> bool {
41 *self == MR0::Unmasked
42 }
43}
44pub type MR0_W<'a, REG> = crate::BitWriter<'a, REG, MR0>;
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(MR0::Masked)
54 }
55 #[inline(always)]
57 pub fn unmasked(self) -> &'a mut crate::W<REG> {
58 self.variant(MR0::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_R as MR28_R;
117pub use MR0_W as MR1_W;
119pub use MR0_W as MR2_W;
121pub use MR0_W as MR3_W;
123pub use MR0_W as MR4_W;
125pub use MR0_W as MR5_W;
127pub use MR0_W as MR6_W;
129pub use MR0_W as MR7_W;
131pub use MR0_W as MR8_W;
133pub use MR0_W as MR9_W;
135pub use MR0_W as MR10_W;
137pub use MR0_W as MR11_W;
139pub use MR0_W as MR12_W;
141pub use MR0_W as MR13_W;
143pub use MR0_W as MR14_W;
145pub use MR0_W as MR15_W;
147pub use MR0_W as MR16_W;
149pub use MR0_W as MR17_W;
151pub use MR0_W as MR18_W;
153pub use MR0_W as MR19_W;
155pub use MR0_W as MR20_W;
157pub use MR0_W as MR21_W;
159pub use MR0_W as MR22_W;
161pub use MR0_W as MR23_W;
163pub use MR0_W as MR24_W;
165pub use MR0_W as MR25_W;
167pub use MR0_W as MR26_W;
169pub use MR0_W as MR27_W;
171pub use MR0_W as MR28_W;
173impl R {
174 #[inline(always)]
176 pub fn mr0(&self) -> MR0_R {
177 MR0_R::new((self.bits & 1) != 0)
178 }
179 #[inline(always)]
181 pub fn mr1(&self) -> MR1_R {
182 MR1_R::new(((self.bits >> 1) & 1) != 0)
183 }
184 #[inline(always)]
186 pub fn mr2(&self) -> MR2_R {
187 MR2_R::new(((self.bits >> 2) & 1) != 0)
188 }
189 #[inline(always)]
191 pub fn mr3(&self) -> MR3_R {
192 MR3_R::new(((self.bits >> 3) & 1) != 0)
193 }
194 #[inline(always)]
196 pub fn mr4(&self) -> MR4_R {
197 MR4_R::new(((self.bits >> 4) & 1) != 0)
198 }
199 #[inline(always)]
201 pub fn mr5(&self) -> MR5_R {
202 MR5_R::new(((self.bits >> 5) & 1) != 0)
203 }
204 #[inline(always)]
206 pub fn mr6(&self) -> MR6_R {
207 MR6_R::new(((self.bits >> 6) & 1) != 0)
208 }
209 #[inline(always)]
211 pub fn mr7(&self) -> MR7_R {
212 MR7_R::new(((self.bits >> 7) & 1) != 0)
213 }
214 #[inline(always)]
216 pub fn mr8(&self) -> MR8_R {
217 MR8_R::new(((self.bits >> 8) & 1) != 0)
218 }
219 #[inline(always)]
221 pub fn mr9(&self) -> MR9_R {
222 MR9_R::new(((self.bits >> 9) & 1) != 0)
223 }
224 #[inline(always)]
226 pub fn mr10(&self) -> MR10_R {
227 MR10_R::new(((self.bits >> 10) & 1) != 0)
228 }
229 #[inline(always)]
231 pub fn mr11(&self) -> MR11_R {
232 MR11_R::new(((self.bits >> 11) & 1) != 0)
233 }
234 #[inline(always)]
236 pub fn mr12(&self) -> MR12_R {
237 MR12_R::new(((self.bits >> 12) & 1) != 0)
238 }
239 #[inline(always)]
241 pub fn mr13(&self) -> MR13_R {
242 MR13_R::new(((self.bits >> 13) & 1) != 0)
243 }
244 #[inline(always)]
246 pub fn mr14(&self) -> MR14_R {
247 MR14_R::new(((self.bits >> 14) & 1) != 0)
248 }
249 #[inline(always)]
251 pub fn mr15(&self) -> MR15_R {
252 MR15_R::new(((self.bits >> 15) & 1) != 0)
253 }
254 #[inline(always)]
256 pub fn mr16(&self) -> MR16_R {
257 MR16_R::new(((self.bits >> 16) & 1) != 0)
258 }
259 #[inline(always)]
261 pub fn mr17(&self) -> MR17_R {
262 MR17_R::new(((self.bits >> 17) & 1) != 0)
263 }
264 #[inline(always)]
266 pub fn mr18(&self) -> MR18_R {
267 MR18_R::new(((self.bits >> 18) & 1) != 0)
268 }
269 #[inline(always)]
271 pub fn mr19(&self) -> MR19_R {
272 MR19_R::new(((self.bits >> 19) & 1) != 0)
273 }
274 #[inline(always)]
276 pub fn mr20(&self) -> MR20_R {
277 MR20_R::new(((self.bits >> 20) & 1) != 0)
278 }
279 #[inline(always)]
281 pub fn mr21(&self) -> MR21_R {
282 MR21_R::new(((self.bits >> 21) & 1) != 0)
283 }
284 #[inline(always)]
286 pub fn mr22(&self) -> MR22_R {
287 MR22_R::new(((self.bits >> 22) & 1) != 0)
288 }
289 #[inline(always)]
291 pub fn mr23(&self) -> MR23_R {
292 MR23_R::new(((self.bits >> 23) & 1) != 0)
293 }
294 #[inline(always)]
296 pub fn mr24(&self) -> MR24_R {
297 MR24_R::new(((self.bits >> 24) & 1) != 0)
298 }
299 #[inline(always)]
301 pub fn mr25(&self) -> MR25_R {
302 MR25_R::new(((self.bits >> 25) & 1) != 0)
303 }
304 #[inline(always)]
306 pub fn mr26(&self) -> MR26_R {
307 MR26_R::new(((self.bits >> 26) & 1) != 0)
308 }
309 #[inline(always)]
311 pub fn mr27(&self) -> MR27_R {
312 MR27_R::new(((self.bits >> 27) & 1) != 0)
313 }
314 #[inline(always)]
316 pub fn mr28(&self) -> MR28_R {
317 MR28_R::new(((self.bits >> 28) & 1) != 0)
318 }
319}
320impl core::fmt::Debug for R {
321 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
322 f.debug_struct("IMR")
323 .field("mr0", &self.mr0())
324 .field("mr1", &self.mr1())
325 .field("mr2", &self.mr2())
326 .field("mr3", &self.mr3())
327 .field("mr4", &self.mr4())
328 .field("mr5", &self.mr5())
329 .field("mr6", &self.mr6())
330 .field("mr7", &self.mr7())
331 .field("mr8", &self.mr8())
332 .field("mr9", &self.mr9())
333 .field("mr10", &self.mr10())
334 .field("mr11", &self.mr11())
335 .field("mr12", &self.mr12())
336 .field("mr13", &self.mr13())
337 .field("mr14", &self.mr14())
338 .field("mr15", &self.mr15())
339 .field("mr16", &self.mr16())
340 .field("mr17", &self.mr17())
341 .field("mr18", &self.mr18())
342 .field("mr19", &self.mr19())
343 .field("mr20", &self.mr20())
344 .field("mr21", &self.mr21())
345 .field("mr22", &self.mr22())
346 .field("mr23", &self.mr23())
347 .field("mr24", &self.mr24())
348 .field("mr25", &self.mr25())
349 .field("mr26", &self.mr26())
350 .field("mr27", &self.mr27())
351 .field("mr28", &self.mr28())
352 .finish()
353 }
354}
355impl W {
356 #[inline(always)]
358 pub fn mr0(&mut self) -> MR0_W<IMRrs> {
359 MR0_W::new(self, 0)
360 }
361 #[inline(always)]
363 pub fn mr1(&mut self) -> MR1_W<IMRrs> {
364 MR1_W::new(self, 1)
365 }
366 #[inline(always)]
368 pub fn mr2(&mut self) -> MR2_W<IMRrs> {
369 MR2_W::new(self, 2)
370 }
371 #[inline(always)]
373 pub fn mr3(&mut self) -> MR3_W<IMRrs> {
374 MR3_W::new(self, 3)
375 }
376 #[inline(always)]
378 pub fn mr4(&mut self) -> MR4_W<IMRrs> {
379 MR4_W::new(self, 4)
380 }
381 #[inline(always)]
383 pub fn mr5(&mut self) -> MR5_W<IMRrs> {
384 MR5_W::new(self, 5)
385 }
386 #[inline(always)]
388 pub fn mr6(&mut self) -> MR6_W<IMRrs> {
389 MR6_W::new(self, 6)
390 }
391 #[inline(always)]
393 pub fn mr7(&mut self) -> MR7_W<IMRrs> {
394 MR7_W::new(self, 7)
395 }
396 #[inline(always)]
398 pub fn mr8(&mut self) -> MR8_W<IMRrs> {
399 MR8_W::new(self, 8)
400 }
401 #[inline(always)]
403 pub fn mr9(&mut self) -> MR9_W<IMRrs> {
404 MR9_W::new(self, 9)
405 }
406 #[inline(always)]
408 pub fn mr10(&mut self) -> MR10_W<IMRrs> {
409 MR10_W::new(self, 10)
410 }
411 #[inline(always)]
413 pub fn mr11(&mut self) -> MR11_W<IMRrs> {
414 MR11_W::new(self, 11)
415 }
416 #[inline(always)]
418 pub fn mr12(&mut self) -> MR12_W<IMRrs> {
419 MR12_W::new(self, 12)
420 }
421 #[inline(always)]
423 pub fn mr13(&mut self) -> MR13_W<IMRrs> {
424 MR13_W::new(self, 13)
425 }
426 #[inline(always)]
428 pub fn mr14(&mut self) -> MR14_W<IMRrs> {
429 MR14_W::new(self, 14)
430 }
431 #[inline(always)]
433 pub fn mr15(&mut self) -> MR15_W<IMRrs> {
434 MR15_W::new(self, 15)
435 }
436 #[inline(always)]
438 pub fn mr16(&mut self) -> MR16_W<IMRrs> {
439 MR16_W::new(self, 16)
440 }
441 #[inline(always)]
443 pub fn mr17(&mut self) -> MR17_W<IMRrs> {
444 MR17_W::new(self, 17)
445 }
446 #[inline(always)]
448 pub fn mr18(&mut self) -> MR18_W<IMRrs> {
449 MR18_W::new(self, 18)
450 }
451 #[inline(always)]
453 pub fn mr19(&mut self) -> MR19_W<IMRrs> {
454 MR19_W::new(self, 19)
455 }
456 #[inline(always)]
458 pub fn mr20(&mut self) -> MR20_W<IMRrs> {
459 MR20_W::new(self, 20)
460 }
461 #[inline(always)]
463 pub fn mr21(&mut self) -> MR21_W<IMRrs> {
464 MR21_W::new(self, 21)
465 }
466 #[inline(always)]
468 pub fn mr22(&mut self) -> MR22_W<IMRrs> {
469 MR22_W::new(self, 22)
470 }
471 #[inline(always)]
473 pub fn mr23(&mut self) -> MR23_W<IMRrs> {
474 MR23_W::new(self, 23)
475 }
476 #[inline(always)]
478 pub fn mr24(&mut self) -> MR24_W<IMRrs> {
479 MR24_W::new(self, 24)
480 }
481 #[inline(always)]
483 pub fn mr25(&mut self) -> MR25_W<IMRrs> {
484 MR25_W::new(self, 25)
485 }
486 #[inline(always)]
488 pub fn mr26(&mut self) -> MR26_W<IMRrs> {
489 MR26_W::new(self, 26)
490 }
491 #[inline(always)]
493 pub fn mr27(&mut self) -> MR27_W<IMRrs> {
494 MR27_W::new(self, 27)
495 }
496 #[inline(always)]
498 pub fn mr28(&mut self) -> MR28_W<IMRrs> {
499 MR28_W::new(self, 28)
500 }
501}
502pub struct IMRrs;
508impl crate::RegisterSpec for IMRrs {
509 type Ux = u32;
510}
511impl crate::Readable for IMRrs {}
513impl crate::Writable for IMRrs {
515 type Safety = crate::Unsafe;
516 const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
517 const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
518}
519impl crate::Resettable for IMRrs {
521 const RESET_VALUE: u32 = 0x1f80_0000;
522}