lpc13xx_pac/lpc1342/i2c/
mask.rs

1#[doc = "Register `MASK%s` reader"]
2pub struct R(crate::R<MASK_SPEC>);
3impl core::ops::Deref for R {
4    type Target = crate::R<MASK_SPEC>;
5    #[inline(always)]
6    fn deref(&self) -> &Self::Target {
7        &self.0
8    }
9}
10impl From<crate::R<MASK_SPEC>> for R {
11    #[inline(always)]
12    fn from(reader: crate::R<MASK_SPEC>) -> Self {
13        R(reader)
14    }
15}
16#[doc = "Register `MASK%s` writer"]
17pub struct W(crate::W<MASK_SPEC>);
18impl core::ops::Deref for W {
19    type Target = crate::W<MASK_SPEC>;
20    #[inline(always)]
21    fn deref(&self) -> &Self::Target {
22        &self.0
23    }
24}
25impl core::ops::DerefMut for W {
26    #[inline(always)]
27    fn deref_mut(&mut self) -> &mut Self::Target {
28        &mut self.0
29    }
30}
31impl From<crate::W<MASK_SPEC>> for W {
32    #[inline(always)]
33    fn from(writer: crate::W<MASK_SPEC>) -> Self {
34        W(writer)
35    }
36}
37#[doc = "Field `MASK` reader - Mask bits."]
38pub type MASK_R = crate::FieldReader<u8, u8>;
39#[doc = "Field `MASK` writer - Mask bits."]
40pub type MASK_W<'a, const O: u8> = crate::FieldWriter<'a, u32, MASK_SPEC, u8, u8, 7, O>;
41impl R {
42    #[doc = "Bits 1:7 - Mask bits."]
43    #[inline(always)]
44    pub fn mask(&self) -> MASK_R {
45        MASK_R::new(((self.bits >> 1) & 0x7f) as u8)
46    }
47}
48impl W {
49    #[doc = "Bits 1:7 - Mask bits."]
50    #[inline(always)]
51    pub fn mask(&mut self) -> MASK_W<1> {
52        MASK_W::new(self)
53    }
54    #[doc = "Writes raw bits to the register."]
55    #[inline(always)]
56    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
57        self.0.bits(bits);
58        self
59    }
60}
61#[doc = "I2C Slave address mask register n. This mask register is associated with I2ADRn to determine an address match. The mask register has no effect when comparing to the General Call address (0000000).\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [mask](index.html) module"]
62pub struct MASK_SPEC;
63impl crate::RegisterSpec for MASK_SPEC {
64    type Ux = u32;
65}
66#[doc = "`read()` method returns [mask::R](R) reader structure"]
67impl crate::Readable for MASK_SPEC {
68    type Reader = R;
69}
70#[doc = "`write(|w| ..)` method takes [mask::W](W) writer structure"]
71impl crate::Writable for MASK_SPEC {
72    type Writer = W;
73}
74#[doc = "`reset()` method sets MASK%s to value 0"]
75impl crate::Resettable for MASK_SPEC {
76    #[inline(always)]
77    fn reset_value() -> Self::Ux {
78        0
79    }
80}