1#![cfg_attr(feature = "document-features", doc = document_features::document_features!())]
5#![no_std]
8#![cfg_attr(all(test, not(miri)), no_main)]
9#![cfg_attr(all(test, miri), feature(start))]
10#![cfg_attr(docsrs, feature(doc_cfg))]
11#![deny(rustdoc::broken_intra_doc_links)]
12
13#[cfg(any(feature = "alloc", docsrs))]
14#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
15extern crate alloc;
16
17pub mod bluetooth;
18pub mod datetime;
19pub mod dialogs;
20pub mod dolphin;
21pub mod furi;
22pub mod gpio;
23pub mod gui;
24pub mod io;
25pub mod locale;
26pub mod macros;
27pub mod notification;
28pub mod path;
29pub mod prelude;
30pub mod serial;
31pub mod storage;
32pub mod toolbox;
33pub mod version;
34
35#[doc(hidden)]
36pub mod __macro_support {
37 use crate::furi::log::Level;
38
39 pub use ufmt;
41
42 pub use crate::furi::string::FuriString;
43
44 pub use flipperzero_sys as __sys;
51
52 pub fn __level_to_furi(level: Level) -> __sys::FuriLogLevel {
59 level.to_furi()
60 }
61}
62
63flipperzero_test::tests_runner!(
64 name = "flipperzero-rs Unit Tests",
65 stack_size = 4096,
66 [
67 crate::furi::log::metadata::tests,
68 crate::furi::message_queue::tests,
69 crate::furi::rng::tests,
70 crate::furi::string::tests,
71 crate::furi::sync::tests,
72 crate::furi::time::tests,
73 crate::gpio::i2c::tests,
74 crate::toolbox::crc32::tests,
75 ]
78);