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}