embedded_c_sdk_bind_hal/gpio/
mod.rs

1mod exti;
2mod fast_pin;
3mod pin;
4mod port;
5
6pub use exti::*;
7pub use fast_pin::*;
8pub use pin::*;
9pub use port::*;
10
11pub use crate::ll_api::PinNum;
12pub use crate::ll_api::PortNum;
13pub use embassy_hal_internal::{Peri, PeripheralType};
14
15#[allow(unused)]
16#[macro_export]
17macro_rules! foreach_pin {
18	($($pat:tt => $code:tt;)*) => {
19		macro_rules! __foreach_pin_inner {
20			$(($pat) => $code;)*
21			($_:tt) => {}
22		}
23		__foreach_pin_inner!((PA0, 0, 0));
24		__foreach_pin_inner!((PA1, 0, 1));
25		__foreach_pin_inner!((PA2, 0, 2));
26		__foreach_pin_inner!((PA3, 0, 3));
27		__foreach_pin_inner!((PA4, 0, 4));
28		__foreach_pin_inner!((PA5, 0, 5));
29		__foreach_pin_inner!((PA6, 0, 6));
30		__foreach_pin_inner!((PA7, 0, 7));
31		__foreach_pin_inner!((PA8, 0, 8));
32		__foreach_pin_inner!((PA9, 0, 9));
33		__foreach_pin_inner!((PA10,0,10));
34		__foreach_pin_inner!((PA11,0,11));
35		__foreach_pin_inner!((PA12,0,12));
36		__foreach_pin_inner!((PA13,0,13));
37		__foreach_pin_inner!((PA14,0,14));
38		__foreach_pin_inner!((PA15,0,15));
39		__foreach_pin_inner!((PB0, 1, 0));
40		__foreach_pin_inner!((PB1, 1, 1));
41		__foreach_pin_inner!((PB2, 1, 2));
42		__foreach_pin_inner!((PB3, 1, 3));
43		__foreach_pin_inner!((PB4, 1, 4));
44		__foreach_pin_inner!((PB5, 1, 5));
45		__foreach_pin_inner!((PB6, 1, 6));
46		__foreach_pin_inner!((PB7, 1, 7));
47		__foreach_pin_inner!((PB8, 1, 8));
48		__foreach_pin_inner!((PB9, 1, 9));
49		__foreach_pin_inner!((PB10,1,10));
50		__foreach_pin_inner!((PB11,1,11));
51		__foreach_pin_inner!((PB12,1,12));
52        __foreach_pin_inner!((PB13,1,13));
53        __foreach_pin_inner!((PB14,1,14));
54        __foreach_pin_inner!((PB15,1,15));
55        __foreach_pin_inner!((PC0, 2, 0));
56        __foreach_pin_inner!((PC1, 2, 1));
57        __foreach_pin_inner!((PC2, 2, 2));
58        __foreach_pin_inner!((PC3, 2, 3));
59        __foreach_pin_inner!((PC4, 2, 4));
60        __foreach_pin_inner!((PC5, 2, 5));
61        __foreach_pin_inner!((PC6, 2, 6));
62        __foreach_pin_inner!((PC7, 2, 7));
63        __foreach_pin_inner!((PC8, 2, 8));
64        __foreach_pin_inner!((PC9, 2, 9));
65        __foreach_pin_inner!((PC10,2,10));
66        __foreach_pin_inner!((PC11,2,11));
67        __foreach_pin_inner!((PC12,2,12));
68        __foreach_pin_inner!((PC13,2,13));
69        __foreach_pin_inner!((PC14,2,14));
70        __foreach_pin_inner!((PC15,2,15));
71        __foreach_pin_inner!((PD0, 3, 0));
72        __foreach_pin_inner!((PD1, 3, 1));
73        __foreach_pin_inner!((PD2, 3, 2));
74        __foreach_pin_inner!((PD3, 3, 3));
75        __foreach_pin_inner!((PD4, 3, 4));
76        __foreach_pin_inner!((PD5, 3, 5));
77        __foreach_pin_inner!((PD6, 3, 6));
78        __foreach_pin_inner!((PD7, 3, 7));
79        __foreach_pin_inner!((PD8, 3, 8));
80        __foreach_pin_inner!((PD9, 3, 9));
81        __foreach_pin_inner!((PD10,3,10));
82        __foreach_pin_inner!((PD11,3,11));
83        __foreach_pin_inner!((PD12,3,12));
84        __foreach_pin_inner!((PD13,3,13));
85        __foreach_pin_inner!((PD14,3,14));
86        __foreach_pin_inner!((PD15,3,15));
87        __foreach_pin_inner!((PE0, 4, 0));
88        __foreach_pin_inner!((PE1, 4, 1));
89        __foreach_pin_inner!((PE2, 4, 2));
90        __foreach_pin_inner!((PE3, 4, 3));
91        __foreach_pin_inner!((PE4, 4, 4));
92        __foreach_pin_inner!((PE5, 4, 5));
93        __foreach_pin_inner!((PE6, 4, 6));
94        __foreach_pin_inner!((PE7, 4, 7));
95        __foreach_pin_inner!((PE8, 4, 8));
96        __foreach_pin_inner!((PE9, 4, 9));
97        __foreach_pin_inner!((PE10,4,10));
98        __foreach_pin_inner!((PE11,4,11));
99        __foreach_pin_inner!((PE12,4,12));
100        __foreach_pin_inner!((PE13,4,13));
101        __foreach_pin_inner!((PE14,4,14));
102        __foreach_pin_inner!((PE15,4,15));
103        __foreach_pin_inner!((PF0, 5, 0));
104        __foreach_pin_inner!((PF1, 5, 1));
105        __foreach_pin_inner!((PF2, 5, 2));
106        __foreach_pin_inner!((PF3, 5, 3));
107        __foreach_pin_inner!((PF4, 5, 4));
108        __foreach_pin_inner!((PF5, 5, 5));
109        __foreach_pin_inner!((PF6, 5, 6));
110        __foreach_pin_inner!((PF7, 5, 7));
111        __foreach_pin_inner!((PF8, 5, 8));
112        __foreach_pin_inner!((PF9, 5, 9));
113        __foreach_pin_inner!((PF10,5,10));
114        __foreach_pin_inner!((PF11,5,11));
115        __foreach_pin_inner!((PF12,5,12));
116        __foreach_pin_inner!((PF13,5,13));
117        __foreach_pin_inner!((PF14,5,14));
118        __foreach_pin_inner!((PF15,5,15));
119        __foreach_pin_inner!((PG0, 6, 0));
120        __foreach_pin_inner!((PG1, 6, 1));
121        __foreach_pin_inner!((PG2, 6, 2));
122        __foreach_pin_inner!((PG3, 6, 3));
123        __foreach_pin_inner!((PG4, 6, 4));
124        __foreach_pin_inner!((PG5, 6, 5));
125        __foreach_pin_inner!((PG6, 6, 6));
126        __foreach_pin_inner!((PG7, 6, 7));
127        __foreach_pin_inner!((PG8, 6, 8));
128        __foreach_pin_inner!((PG9, 6, 9));
129        __foreach_pin_inner!((PG10,6,10));
130        __foreach_pin_inner!((PG11,6,11));
131        __foreach_pin_inner!((PG12,6,12));
132        __foreach_pin_inner!((PG13,6,13));
133        __foreach_pin_inner!((PG14,6,14));
134        __foreach_pin_inner!((PG15,6,15));
135        __foreach_pin_inner!((PH0, 7, 0));
136        __foreach_pin_inner!((PH1, 7, 1));
137        __foreach_pin_inner!((PH2, 7, 2));
138        __foreach_pin_inner!((PH3, 7, 3));
139        __foreach_pin_inner!((PH4, 7, 4));
140        __foreach_pin_inner!((PH5, 7, 5));
141        __foreach_pin_inner!((PH6, 7, 6));
142        __foreach_pin_inner!((PH7, 7, 7));
143        __foreach_pin_inner!((PH8, 7, 8));
144        __foreach_pin_inner!((PH9, 7, 9));
145        __foreach_pin_inner!((PH10,7,10));
146        __foreach_pin_inner!((PH11,7,11));
147        __foreach_pin_inner!((PH12,7,12));
148        __foreach_pin_inner!((PH13,7,13));
149        __foreach_pin_inner!((PH14,7,14));
150        __foreach_pin_inner!((PH15,7,15));
151	};
152}