1#![no_std]
12
13#[cfg(not(any(
14 feature = "stm32l431",
15 feature = "stm32l451",
16 feature = "stm32l471",
17 feature = "stm32l412",
18 feature = "stm32l422",
19 feature = "stm32l432",
20 feature = "stm32l442",
21 feature = "stm32l452",
22 feature = "stm32l462",
23 feature = "stm32l433",
24 feature = "stm32l443",
25 feature = "stm32l475",
26 feature = "stm32l476",
27 feature = "stm32l486",
28 feature = "stm32l496",
29 feature = "stm32l4a6",
30 feature = "stm32l4r9",
39 feature = "stm32l4s9"
40)))]
41compile_error!(
42 "\
43This crate requires one of the following features enabled:
44 stm32l431, stm32l451, stm32l471
45 stm32l412, stm32l422, stm32l432, stm32l442, stm32l452, stm32l462
46 stm32l433, stm32l443
47 stm32l475,
48 stm32l476, stm32l486, stm32l496, stm32l4a6
49 stm32l4r9, stm32l4s9
50"
51);
52
53pub use embedded_hal as hal;
84
85pub use stm32l4;
86#[cfg(any(feature = "stm32l431", feature = "stm32l451", feature = "stm32l471"))]
87pub use stm32l4::stm32l4x1 as pac;
88
89#[cfg(any(feature = "stm32l412", feature = "stm32l422"))]
90pub use stm32l4::stm32l412 as pac;
91#[cfg(any(
92 feature = "stm32l432",
93 feature = "stm32l442",
94 feature = "stm32l452",
95 feature = "stm32l462"
96))]
97pub use stm32l4::stm32l4x2 as pac;
98
99#[cfg(any(feature = "stm32l433", feature = "stm32l443"))]
100pub use stm32l4::stm32l4x3 as pac;
101
102#[cfg(any(feature = "stm32l475"))]
103pub use stm32l4::stm32l4x5 as pac;
104
105#[cfg(any(
106 feature = "stm32l476",
107 feature = "stm32l486",
108 feature = "stm32l496",
109 feature = "stm32l4a6"
110))]
111pub use stm32l4::stm32l4x6 as pac;
112
113#[cfg(any(feature = "stm32l4r9", feature = "stm32l4s9",))]
114pub use stm32l4::stm32l4r9 as pac;
115
116#[cfg(feature = "rt")]
117pub use self::pac::interrupt;
118pub use crate::pac as device;
120pub use crate::pac as stm32;
121
122pub mod traits;
123
124#[cfg(not(any(feature = "stm32l4r9", feature = "stm32l4s9",)))]
125pub mod adc;
126#[cfg(not(any(feature = "stm32l4r9", feature = "stm32l4s9",)))]
127#[cfg(not(any(feature = "stm32l412",)))]
128pub mod can;
129pub mod crc;
130pub mod datetime;
131pub mod delay;
132pub mod dma;
133pub mod dmamux;
134pub mod flash;
135pub mod gpio;
136pub mod i2c;
137pub mod lptimer;
138#[cfg(all(
139 feature = "otg_fs",
140 any(
141 feature = "stm32l475",
142 feature = "stm32l476",
143 feature = "stm32l486",
144 feature = "stm32l496",
145 feature = "stm32l4a6",
146 )
147))]
148pub mod otg_fs;
149pub mod prelude;
150pub mod pwm;
151pub mod pwr;
152#[cfg(not(any(
153 feature = "stm32l433",
154 feature = "stm32l443",
155 feature = "stm32l4r9",
156 feature = "stm32l4s9",
157)))]
158pub mod qspi;
159pub mod rcc;
160pub mod rng;
161pub mod rtc;
162pub mod serial;
163pub mod signature;
164pub mod spi;
165pub mod time;
166pub mod timer;
167pub mod tsc;
168#[cfg(all(
169 feature = "stm32-usbd",
170 any(
171 feature = "stm32l412",
172 feature = "stm32l422",
173 feature = "stm32l432",
174 feature = "stm32l442",
175 feature = "stm32l452",
176 feature = "stm32l462",
177 feature = "stm32l433",
178 feature = "stm32l443"
179 )
180))]
181pub mod usb;
182pub mod watchdog;
183
184mod sealed {
185 pub trait Sealed {}
186}
187pub(crate) use sealed::Sealed;