atsamd_hal/peripherals/adc/d5x/
pin.rs1use crate::adc::*;
2use crate::gpio::pin::*;
3use atsamd_hal_macros::hal_cfg;
4
5macro_rules! adc_pins {
6 (
7 $(
8 $( #[$cfg:meta] )?
9 $PinId:ident: ($Adc:ident, $CHAN:literal)
10 ),+
11 $(,)?
12 ) => {
13 crate::paste::item! {
14 $(
15 $( #[$cfg] )?
16 impl AdcPin<$Adc> for Pin<$PinId, AlternateB> {
17 const CHANNEL: u8 = $CHAN;
18 }
19 )+
20 }
21 };
22}
23
24adc_pins! {
25 #[hal_cfg("pa02")]
26 PA02: (Adc0, 0),
27 #[hal_cfg("pa03")]
28 PA03: (Adc0, 1),
29 #[hal_cfg("pb08")]
30 PB08: (Adc0, 2),
31 #[hal_cfg("pb09")]
32 PB09: (Adc0, 3),
33 #[hal_cfg("pa04")]
34 PA04: (Adc0, 4),
35 #[hal_cfg("pa05")]
36 PA05: (Adc0, 5),
37 #[hal_cfg("pa06")]
38 PA06: (Adc0, 6),
39 #[hal_cfg("pa07")]
40 PA07: (Adc0, 7),
41 #[hal_cfg("pa08")]
42 PA08: (Adc0, 8),
43 #[hal_cfg("pa09")]
44 PA09: (Adc0, 9),
45 #[hal_cfg("pa10")]
46 PA10: (Adc0, 10),
47 #[hal_cfg("pa11")]
48 PA11: (Adc0, 11),
49 #[hal_cfg("pb00")]
50 PB00: (Adc0, 12),
51 #[hal_cfg("pb01")]
52 PB01: (Adc0, 13),
53 #[hal_cfg("pb02")]
54 PB02: (Adc0, 14),
55 #[hal_cfg("pb03")]
56 PB03: (Adc0, 15),
57
58 #[hal_cfg("pb08")]
59 PB08: (Adc1, 0),
60 #[hal_cfg("pb09")]
61 PB09: (Adc1, 1),
62 #[hal_cfg("pa08")]
63 PA08: (Adc1, 2),
64 #[hal_cfg("pa09")]
65 PA09: (Adc1, 3),
66 #[hal_cfg("pc02")]
67 PC02: (Adc1, 4),
68 #[hal_cfg("pc03")]
69 PC03: (Adc1, 5),
70 #[hal_cfg("pb04")]
71 PB04: (Adc1, 6),
72 #[hal_cfg("pb05")]
73 PB05: (Adc1, 7),
74 #[hal_cfg("pb06")]
75 PB06: (Adc1, 8),
76 #[hal_cfg("pb07")]
77 PB07: (Adc1, 9),
78 #[hal_cfg("pc00")]
79 PC00: (Adc1, 10),
80 #[hal_cfg("pc01")]
81 PC01: (Adc1, 11),
82 #[hal_cfg("pc30")]
83 PC30: (Adc1, 12),
84 #[hal_cfg("pc31")]
85 PC31: (Adc1, 13),
86 #[hal_cfg("pd00")]
87 PD00: (Adc1, 14),
88 #[hal_cfg("pd01")]
89 PD01: (Adc1, 15),
90}