1#![no_std]
3#![deny(missing_docs)]
4#![deny(unsafe_op_in_unsafe_fn)]
11
12extern crate alloc;
13
14#[cfg(any(feature = "simulator", feature = "fatfs", feature = "linux_fbdev"))]
15extern crate std;
16
17#[cfg(feature = "simulator")]
18pub mod app_loader;
19#[cfg(all(
20 feature = "audio",
21 feature = "stm32h747i_disco",
22 any(target_arch = "arm", target_os = "none")
23))]
24pub mod audio_player;
26#[cfg(all(
27 feature = "audio",
28 feature = "stm32h747i_disco",
29 any(target_arch = "arm", target_os = "none")
30))]
31pub mod bdma;
33pub mod blit;
35pub mod board_runtime;
40pub mod compositor;
42pub mod cpu_blitter;
44pub mod display;
46#[cfg(all(
47 feature = "stm32h747i_disco",
48 any(target_arch = "arm", target_os = "none")
49))]
50pub mod display_init;
52#[cfg(all(feature = "dma2d", any(target_arch = "arm", target_os = "none")))]
53pub mod dma2d;
54#[cfg(all(feature = "dma2d", any(target_arch = "arm", target_os = "none")))]
55pub mod dma2d_draw;
57#[cfg(all(
58 feature = "audio",
59 feature = "stm32h747i_disco",
60 any(target_arch = "arm", target_os = "none")
61))]
62pub mod dma_sai;
64#[cfg(all(
65 feature = "stm32h747i_disco",
66 any(target_arch = "arm", target_os = "none")
67))]
68pub mod dsi_cmd_mode;
70pub mod effect;
73pub mod frame_scheduler;
81pub mod frame_sync;
83#[cfg(all(
84 feature = "stm32h747i_disco",
85 any(target_arch = "arm", target_os = "none")
86))]
87pub mod ft5336;
88pub mod gesture;
90pub mod hwcore;
94pub mod input;
96#[cfg(feature = "linux_fbdev")]
97pub mod linux_evdev;
98#[cfg(feature = "linux_fbdev")]
99pub mod linux_fbdev;
100#[cfg(all(
101 feature = "audio",
102 feature = "stm32h747i_disco",
103 any(target_arch = "arm", target_os = "none")
104))]
105pub mod mic_capture;
107#[cfg(all(
108 feature = "stm32h747i_disco",
109 any(target_arch = "arm", target_os = "none")
110))]
111pub mod nt35510;
113pub mod pacing;
118#[cfg(all(
119 feature = "audio",
120 feature = "stm32h747i_disco",
121 any(target_arch = "arm", target_os = "none")
122))]
123pub mod pdm_filter;
125#[cfg(feature = "simulator")]
126pub mod pixels_renderer;
127#[cfg(all(
128 feature = "stm32h747i_disco",
129 any(target_arch = "arm", target_os = "none")
130))]
131pub mod qspi_flash;
133#[cfg(all(
134 feature = "audio",
135 feature = "stm32h747i_disco",
136 any(target_arch = "arm", target_os = "none")
137))]
138#[allow(dead_code)]
140pub mod sai;
141#[cfg(all(
142 feature = "audio",
143 feature = "stm32h747i_disco",
144 any(target_arch = "arm", target_os = "none")
145))]
146pub mod sai4_pdm;
148pub mod screen;
150#[cfg(all(
151 feature = "stm32h747i_disco",
152 feature = "sd_storage",
153 any(target_arch = "arm", target_os = "none")
154))]
155pub mod sd_emmc_adapter;
157#[cfg(all(
158 feature = "stm32h747i_disco",
159 feature = "fatfs_nostd",
160 any(target_arch = "arm", target_os = "none")
161))]
162pub mod sd_fatfs_adapter;
164#[cfg(feature = "simulator")]
165pub mod simulator;
166#[cfg(feature = "ssd1306")]
167pub mod ssd1306;
168#[cfg(feature = "st7789")]
169pub mod st7789;
170#[cfg(all(
171 feature = "stm32h747i_disco",
172 any(target_arch = "arm", target_os = "none")
173))]
174pub mod stm32h747i_disco;
175#[cfg(all(
176 feature = "stm32h747i_disco",
177 any(target_arch = "arm", target_os = "none")
178))]
179pub mod stm32h747i_disco_sd;
180#[cfg(feature = "uefi")]
181pub mod uefi;
182#[cfg(feature = "uefi")]
183pub mod uefi_serial_transport;
185#[cfg(all(
186 feature = "audio",
187 feature = "stm32h747i_disco",
188 any(target_arch = "arm", target_os = "none")
189))]
190pub mod wav;
192#[cfg(feature = "simulator")]
193pub mod wgpu_blitter;
194#[cfg(all(
195 feature = "audio",
196 feature = "stm32h747i_disco",
197 any(target_arch = "arm", target_os = "none")
198))]
199#[allow(dead_code)]
201pub mod wm8994;
202
203#[cfg(feature = "simulator")]
204pub use app_loader::LoadedApp;
205#[cfg(all(
206 feature = "audio",
207 feature = "stm32h747i_disco",
208 any(target_arch = "arm", target_os = "none")
209))]
210pub use audio_player::AudioPlayer;
211pub use blit::{
212 BlitCaps, BlitPlanner, Blitter, BlitterRenderer, PixelFmt, Rect as BlitRect, Surface,
213};
214pub use cpu_blitter::CpuBlitter;
215pub use display::DisplayDriver;
216#[cfg(all(feature = "dma2d", any(target_arch = "arm", target_os = "none")))]
217pub use dma2d::Dma2dBlitter;
218pub use effect::{BlitterSink, CrawlParams, Effect, EffectExt, EffectSink, SubSink};
219#[cfg(all(
220 feature = "stm32h747i_disco",
221 any(target_arch = "arm", target_os = "none")
222))]
223pub use ft5336::Ft5336;
224pub use hwcore::addr::{AddrError, DmaAddr, MmioAddr, PhysAddr};
225pub use hwcore::isr::{IsrChannel, IsrCounter, IsrFlag};
226#[cfg(any(test, feature = "mock_blitter"))]
227pub use hwcore::mock::{MockBlitter, MockOp};
228pub use hwcore::surface::{
229 BackBuffer, BankCollision, BorrowedForDma, FrameBuffer, FrontBuffer, InFlight, Scanout,
230};
231pub use input::{InputDevice, InputEvent};
232#[cfg(feature = "linux_fbdev")]
233pub use linux_evdev::LinuxEvdevInput;
234#[cfg(feature = "linux_fbdev")]
235pub use linux_fbdev::LinuxFbdevDisplay;
236#[cfg(feature = "simulator")]
237pub use pixels_renderer::PixelsRenderer;
238#[cfg(all(
239 feature = "stm32h747i_disco",
240 any(target_arch = "arm", target_os = "none")
241))]
242pub use qspi_flash::{Mt25tlFlash, QspiMemoryMapped};
243pub use rlvgl_core::event::Key;
244#[cfg(all(
245 feature = "audio",
246 feature = "stm32h747i_disco",
247 any(target_arch = "arm", target_os = "none")
248))]
249pub use sai::Sai1Audio;
250pub use screen::{ColorFormat, Rotation, Screen};
251#[cfg(all(
252 feature = "stm32h747i_disco",
253 feature = "sd_storage",
254 any(target_arch = "arm", target_os = "none")
255))]
256pub use sd_emmc_adapter::{DummyTimeSource, SdMmcBlockDev};
257#[cfg(all(
258 feature = "stm32h747i_disco",
259 feature = "fatfs_nostd",
260 any(target_arch = "arm", target_os = "none")
261))]
262pub use sd_fatfs_adapter::{FatfsBlockStream, mount_and_list_assets};
263#[cfg(feature = "simulator")]
264pub use simulator::WgpuDisplay;
265#[cfg(feature = "ssd1306")]
266pub use ssd1306::Ssd1306Display;
267#[cfg(feature = "st7789")]
268pub use st7789::St7789Display;
269#[cfg(all(
270 feature = "stm32h747i_disco",
271 any(target_arch = "arm", target_os = "none")
272))]
273pub use stm32h747i_disco::{Stm32h747iDiscoDisplay, Stm32h747iDiscoInput};
274#[cfg(all(
275 feature = "stm32h747i_disco",
276 any(target_arch = "arm", target_os = "none")
277))]
278pub use stm32h747i_disco_sd::DiscoSdBlockDevice;
279#[cfg(feature = "uefi")]
280pub use uefi::{SyntheticKeyRelease, UefiDisplay, UefiInput};
281#[cfg(feature = "uefi")]
282pub use uefi_serial_transport::UefiSerialTransport;
283#[cfg(all(
284 feature = "audio",
285 feature = "stm32h747i_disco",
286 any(target_arch = "arm", target_os = "none")
287))]
288pub use wav::parse_wav_header;
289#[cfg(feature = "simulator")]
290pub use wgpu_blitter::WgpuBlitter;
291#[cfg(all(
292 feature = "audio",
293 feature = "stm32h747i_disco",
294 any(target_arch = "arm", target_os = "none")
295))]
296pub use wm8994::Wm8994;