1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#[doc = "Register `PING` reader"]
pub struct R(crate::R<PING_SPEC>);
impl core::ops::Deref for R {
    type Target = crate::R<PING_SPEC>;
    #[inline(always)]
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}
impl From<crate::R<PING_SPEC>> for R {
    #[inline(always)]
    fn from(reader: crate::R<PING_SPEC>) -> Self {
        R(reader)
    }
}
#[doc = "Register `PING` writer"]
pub struct W(crate::W<PING_SPEC>);
impl core::ops::Deref for W {
    type Target = crate::W<PING_SPEC>;
    #[inline(always)]
    fn deref(&self) -> &Self::Target {
        &self.0
    }
}
impl core::ops::DerefMut for W {
    #[inline(always)]
    fn deref_mut(&mut self) -> &mut Self::Target {
        &mut self.0
    }
}
impl From<crate::W<PING_SPEC>> for W {
    #[inline(always)]
    fn from(writer: crate::W<PING_SPEC>) -> Self {
        W(writer)
    }
}
#[doc = "Field `PG0` reader - Pin G0"]
pub type PG0_R = crate::BitReader<bool>;
#[doc = "Field `PG0` writer - Pin G0"]
pub type PG0_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG1` reader - Pin G1"]
pub type PG1_R = crate::BitReader<bool>;
#[doc = "Field `PG1` writer - Pin G1"]
pub type PG1_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG2` reader - Pin G2"]
pub type PG2_R = crate::BitReader<bool>;
#[doc = "Field `PG2` writer - Pin G2"]
pub type PG2_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG3` reader - Pin G3"]
pub type PG3_R = crate::BitReader<bool>;
#[doc = "Field `PG3` writer - Pin G3"]
pub type PG3_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG4` reader - Pin G4"]
pub type PG4_R = crate::BitReader<bool>;
#[doc = "Field `PG4` writer - Pin G4"]
pub type PG4_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG5` reader - Pin G5"]
pub type PG5_R = crate::BitReader<bool>;
#[doc = "Field `PG5` writer - Pin G5"]
pub type PG5_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG6` reader - Pin G6"]
pub type PG6_R = crate::BitReader<bool>;
#[doc = "Field `PG6` writer - Pin G6"]
pub type PG6_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
#[doc = "Field `PG7` reader - Pin G7"]
pub type PG7_R = crate::BitReader<bool>;
#[doc = "Field `PG7` writer - Pin G7"]
pub type PG7_W<'a, const O: u8> = crate::BitWriter<'a, u8, PING_SPEC, bool, O>;
impl R {
    #[doc = "Bit 0 - Pin G0"]
    #[inline(always)]
    pub fn pg0(&self) -> PG0_R {
        PG0_R::new((self.bits & 1) != 0)
    }
    #[doc = "Bit 1 - Pin G1"]
    #[inline(always)]
    pub fn pg1(&self) -> PG1_R {
        PG1_R::new(((self.bits >> 1) & 1) != 0)
    }
    #[doc = "Bit 2 - Pin G2"]
    #[inline(always)]
    pub fn pg2(&self) -> PG2_R {
        PG2_R::new(((self.bits >> 2) & 1) != 0)
    }
    #[doc = "Bit 3 - Pin G3"]
    #[inline(always)]
    pub fn pg3(&self) -> PG3_R {
        PG3_R::new(((self.bits >> 3) & 1) != 0)
    }
    #[doc = "Bit 4 - Pin G4"]
    #[inline(always)]
    pub fn pg4(&self) -> PG4_R {
        PG4_R::new(((self.bits >> 4) & 1) != 0)
    }
    #[doc = "Bit 5 - Pin G5"]
    #[inline(always)]
    pub fn pg5(&self) -> PG5_R {
        PG5_R::new(((self.bits >> 5) & 1) != 0)
    }
    #[doc = "Bit 6 - Pin G6"]
    #[inline(always)]
    pub fn pg6(&self) -> PG6_R {
        PG6_R::new(((self.bits >> 6) & 1) != 0)
    }
    #[doc = "Bit 7 - Pin G7"]
    #[inline(always)]
    pub fn pg7(&self) -> PG7_R {
        PG7_R::new(((self.bits >> 7) & 1) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - Pin G0"]
    #[inline(always)]
    #[must_use]
    pub fn pg0(&mut self) -> PG0_W<0> {
        PG0_W::new(self)
    }
    #[doc = "Bit 1 - Pin G1"]
    #[inline(always)]
    #[must_use]
    pub fn pg1(&mut self) -> PG1_W<1> {
        PG1_W::new(self)
    }
    #[doc = "Bit 2 - Pin G2"]
    #[inline(always)]
    #[must_use]
    pub fn pg2(&mut self) -> PG2_W<2> {
        PG2_W::new(self)
    }
    #[doc = "Bit 3 - Pin G3"]
    #[inline(always)]
    #[must_use]
    pub fn pg3(&mut self) -> PG3_W<3> {
        PG3_W::new(self)
    }
    #[doc = "Bit 4 - Pin G4"]
    #[inline(always)]
    #[must_use]
    pub fn pg4(&mut self) -> PG4_W<4> {
        PG4_W::new(self)
    }
    #[doc = "Bit 5 - Pin G5"]
    #[inline(always)]
    #[must_use]
    pub fn pg5(&mut self) -> PG5_W<5> {
        PG5_W::new(self)
    }
    #[doc = "Bit 6 - Pin G6"]
    #[inline(always)]
    #[must_use]
    pub fn pg6(&mut self) -> PG6_W<6> {
        PG6_W::new(self)
    }
    #[doc = "Bit 7 - Pin G7"]
    #[inline(always)]
    #[must_use]
    pub fn pg7(&mut self) -> PG7_W<7> {
        PG7_W::new(self)
    }
    #[doc = "Writes raw bits to the register."]
    #[inline(always)]
    pub unsafe fn bits(&mut self, bits: u8) -> &mut Self {
        self.0.bits(bits);
        self
    }
}
#[doc = "Input Pins, Port G\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 [ping](index.html) module"]
pub struct PING_SPEC;
impl crate::RegisterSpec for PING_SPEC {
    type Ux = u8;
}
#[doc = "`read()` method returns [ping::R](R) reader structure"]
impl crate::Readable for PING_SPEC {
    type Reader = R;
}
#[doc = "`write(|w| ..)` method takes [ping::W](W) writer structure"]
impl crate::Writable for PING_SPEC {
    type Writer = W;
    const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
    const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
}
#[doc = "`reset()` method sets PING to value 0"]
impl crate::Resettable for PING_SPEC {
    const RESET_VALUE: Self::Ux = 0;
}