1#![doc = include_str!("../README.md")]
2#![cfg_attr(target_os = "none", no_std)]
12#![cfg_attr(target_os = "none", no_main)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14#![allow(async_fn_in_trait, reason = "single-threaded embedded")]
15
16#[cfg(all(target_os = "none", not(any(feature = "pico1", feature = "pico2"))))]
18compile_error!("Must enable exactly one board feature: 'pico1' or 'pico2'");
19
20#[cfg(all(target_os = "none", feature = "pico1", feature = "pico2"))]
21compile_error!("Cannot enable both 'pico1' and 'pico2' features simultaneously");
22
23#[cfg(all(target_os = "none", not(any(feature = "arm", feature = "riscv"))))]
25compile_error!("Must enable exactly one architecture feature: 'arm' or 'riscv'");
26
27#[cfg(all(target_os = "none", feature = "arm", feature = "riscv"))]
28compile_error!("Cannot enable both 'arm' and 'riscv' features simultaneously");
29
30#[cfg(all(target_os = "none", feature = "pico1", feature = "riscv"))]
32compile_error!("Pico 1 (RP2040) only supports ARM architecture, not RISC-V");
33
34#[cfg(target_os = "none")]
35pub(crate) mod bit_matrix_led4;
36#[cfg(target_os = "none")]
38#[doc(hidden)]
39pub mod pio_irqs;
40#[cfg(feature = "host")]
41pub mod to_png;
43#[cfg(target_os = "none")]
45pub mod audio_player;
46#[cfg(target_os = "none")]
47pub mod button;
48#[cfg(target_os = "none")]
49pub mod char_lcd;
50#[cfg(all(feature = "wifi", target_os = "none"))]
51pub(crate) mod clock;
52#[cfg(all(feature = "wifi", target_os = "none"))]
53pub mod clock_sync;
54mod error;
55#[cfg(target_os = "none")]
56pub mod flash_array;
57#[cfg(target_os = "none")]
58pub mod ir;
59#[cfg(target_os = "none")]
60pub mod led;
61pub mod led2d;
62#[cfg(target_os = "none")]
63pub mod led4;
64pub mod led_strip;
65#[cfg(target_os = "none")]
66pub mod rfid;
67#[cfg(target_os = "none")]
68pub mod servo;
69#[cfg(target_os = "none")]
70pub mod servo_player;
71#[cfg(target_os = "none")]
72pub(crate) mod time_sync;
73#[cfg(all(feature = "wifi", target_os = "none"))]
74pub mod wifi_auto;
75
76pub use crate::error::{Error, Result};