24 lines
542 B
Rust

#[cfg(feature="embedded-graphics")]
pub mod embedded_graphics_lib;
#[cfg(feature="smart-leds")]
pub mod smart_leds_lib;
pub mod esp32;
pub type DefaultBoard = esp32::Esp32Board;
use crate::render::{Output, Surfaces};
use crate::task::Scheduler;
pub trait Board {
type Output: Output;
type Surfaces: Surfaces;
type Scheduler: Scheduler;
fn take() -> Self;
fn output(&mut self) -> Self::Output;
fn surfaces(&mut self) -> Self::Surfaces;
fn system_tasks(&mut self) -> Self::Scheduler;
fn chip_id() -> u64;
}