1#![doc = include_str!("../README.md")]
2#![no_std]
3#![allow(const_evaluatable_unchecked, incomplete_features, rustdoc::bare_urls)]
4#![cfg_attr(feature = "module_neopixel", feature(generic_const_exprs))]
5
6pub use rgb;
8
9pub mod devices;
10pub mod modules;
11pub mod prelude {
12 #[cfg(feature = "module_adc")]
13 pub use super::modules::adc::*;
14 #[cfg(feature = "module_encoder")]
15 pub use super::modules::encoder::*;
16 #[cfg(feature = "module_gpio")]
17 pub use super::modules::gpio::*;
18 #[cfg(feature = "module_keypad")]
19 pub use super::modules::keypad::*;
20 #[cfg(feature = "module_neopixel")]
21 pub use super::modules::neopixel::*;
22 #[cfg(feature = "module_timer")]
23 pub use super::modules::timer::*;
24 pub use super::{
25 devices::{SeesawDevice, SeesawDeviceInit},
26 driver::{DriverExt, SeesawDriver},
27 modules::{status::*, HardwareId},
28 };
29}
30mod driver;
31pub use driver::*;
32
33#[derive(Copy, Clone, Debug)]
34#[cfg_attr(feature = "defmt", derive(defmt::Format))]
35pub enum SeesawError<E> {
36 I2c(E),
38 InvalidHardwareId(u8),
40}