arduino_mkrzero/pins.rs
1//! Pin definitions for the Arduino MkrZero board
2//!
3//! Built-in pin definitions are defined here for each pin,
4//! and additional pin capabilities, such as the timer/counter or waveform
5//! output, and alternate sercom pad definitsions must be defined separately.
6
7use super::hal;
8
9hal::bsp_pins! {
10 PA02 {
11 /// PA02: Analog DAC output / ADC input 0, digital pin 15.
12 aliases: {
13 PushPullOutput: D15
14 AlternateB: Dac0
15 AlternateB: A0
16 }
17 }
18 PA03 {
19 /// PA03: ADC/DAC reference voltage.
20 aliases: {
21 AlternateB: ARef
22 }
23 }
24 PA04 {
25 /// PA04: Analog input 3, digital pin 18.
26 aliases: {
27 PushPullOutput: D18
28 AlternateB: A3
29 }
30 }
31 PA05 {
32 /// PA05: Analog input 4, digital pin 19.
33 aliases: {
34 PushPullOutput: D19
35 AlternateB: A4
36 }
37 }
38 PA06 {
39 /// PA06: Analog input 5, digital pin 20.
40 aliases: {
41 PushPullOutput: D20
42 AlternateB: A5
43 }
44 }
45 PA07 {
46 /// PA07: Analog input 6, digital pin 21.
47 aliases: {
48 PushPullOutput: D21
49 AlternateB: A6
50 }
51 }
52 PA08 {
53 /// PA08: Sercom 2 SDA, digital pin 11.
54 aliases: {
55 PushPullOutput: D11
56 AlternateD: I2cSda
57 }
58 }
59 PA09 {
60 /// PA09: Sercom 2 SCL, digital pin 12.
61 aliases: {
62 PushPullOutput: D12
63 AlternateD: I2cScl
64 }
65 }
66 PA10 {
67 /// PA10: Digital pin 2.
68 aliases: {
69 PushPullOutput: D2
70 }
71 }
72 PA11 {
73 /// PA11: Digital pin 3.
74 aliases: {
75 PushPullOutput: D3
76 }
77 }
78 PA12 {
79 /// PA12: SD Card COPI.
80 aliases: {
81 AlternateD: SdCopi
82 }
83 }
84 PA13 {
85 /// PA13: SD Card SCK.
86 aliases: {
87 AlternateD: SdSck
88 }
89 }
90 PA14 {
91 /// PA14: SD Card SS. Operated either by the peripheral or by an output GPIO pin.
92 aliases: {
93 PushPullOutput: SdSsGpio
94 AlternateD: SdSs
95 }
96 }
97 PA15 {
98 /// PA15: SD Card CIPO.
99 aliases: {
100 AlternateD: SdCipo
101 }
102 }
103 PA16 {
104 /// PA16: Sercom 1 SPI COPI, digital pin 8.
105 aliases: {
106 PushPullOutput: D8
107 AlternateC: SpiCopi
108 }
109 }
110 PA17 {
111 /// PA17: Sercom 1 SPI SCK, digital pin 9
112 aliases: {
113 PushPullOutput: D9
114 AlternateC: SpiSck
115 }
116 }
117 PA18 {
118 /// PA18: USB Input Detection
119 aliases: {
120 FloatingDisabled: UsbId
121 }
122 }
123 PA19 {
124 /// PA19: Main SPI CIPO, digital pin 10
125 aliases: {
126 PushPullOutput: D10
127 AlternateC: SpiCipo
128 }
129 }
130 PA20 {
131 /// PA20: Digital pin 6
132 aliases: {
133 PushPullOutput: D6
134 }
135 }
136 PA21 {
137 /// PA21: Digital pin 7
138 aliases: {
139 PushPullOutput: D7
140 }
141 }
142 PA22 {
143 /// PA22: Digital pin 0
144 aliases: {
145 PushPullOutput: D0
146 }
147 }
148 PA23 {
149 /// PA23: Digital pin 1
150 aliases: {
151 PushPullOutput: D1
152 }
153 }
154 PA24 {
155 /// PA24: USB Negative
156 aliases: {
157 AlternateG: UsbN
158 }
159 }
160 PA25 {
161 /// PA25: USB Positive
162 aliases: {
163 AlternateG: UsbP
164 }
165 }
166 PA27 {
167 /// PA27: SD Card Detect
168 // FloatingInput: SdCd
169 }
170 PB02 {
171 /// PB02: Analog input 1, digital pin 16
172 aliases: {
173 AlternateB: A1
174 PushPullOutput: D16
175 }
176 }
177 PB03 {
178 /// PB03: Analog input 2, digital pin 17
179 aliases: {
180 AlternateB: A2
181 PushPullOutput: D17
182 }
183 }
184 PB08 {
185 /// PB08: LED
186 aliases: {
187 PushPullOutput: Led
188 }
189 }
190 PB09 {
191 /// PB09: Battery voltage sensor
192 aliases: {
193 AlternateB: VBatt
194 }
195 }
196 PB10 {
197 /// PB10: Digital pin 4
198 aliases: {
199 PushPullOutput: D4
200 }
201 }
202 PB11 {
203 /// PB11: Digital pin 5
204 aliases: {
205 PushPullOutput: D5
206 }
207 }
208 PB22 {
209 /// PB22: UART Tx
210 aliases: {
211 AlternateD: UartTx
212 }
213 }
214 PB23 {
215 /// PB22: UART Rx
216 aliases: {
217 AlternateD: UartRx
218 }
219 }
220}