cargo: also hide thread api behind thread cfg

This commit is contained in:
2024-10-30 19:59:19 +01:00
parent f803d8fe93
commit b7995423d7
3 changed files with 35 additions and 27 deletions

View File

@@ -29,9 +29,15 @@ use crate::smart_leds_lib::spi::SPIDisplay;
use crate::time::Periodically;
use crate::geometry::{Coordinates, VirtualCoordinates};
use crate::render::{Shader, Surfaces, Surface, SimpleSurface};
use crate::render::{Shader, Surfaces, Surface};
use crate::task::Task;
use crate::platform::{DisplayInit};
use crate::platform::DisplayInit;
#[cfg(feature="threads")]
use crate::render::SharedSurface;
#[cfg(not(feature="threads"))]
use crate::render::SimpleSurface;
struct IdleTask<T: Surface> {
frame: u8,
@@ -84,14 +90,19 @@ fn main() {
log::info!("Setting up display");
#[cfg(feature="threads")]
type SurfaceType = SharedSurface;
#[cfg(not(feature="threads"))]
type SurfaceType = SimpleSurface;
#[cfg(feature="spi")]
let mut display = SPIDisplay::new_display::<SimpleSurface>();
let mut display = SPIDisplay::new_display::<SurfaceType>();
#[cfg(feature="embedded-graphics")]
let mut display = PonderjarTarget::new_display::<SimpleSurface>();
let mut display = PonderjarTarget::new_display::<SurfaceType>();
#[cfg(feature="rmt")]
let mut display = Ws2812Esp32Rmt::new_display::<SimpleSurface>();
let mut display = Ws2812Esp32Rmt::new_display::<SurfaceType>();
log::info!("Creating runner");
let mut runner = task::Scheduler::new(vec![