cargo: also hide thread api behind thread cfg
This commit is contained in:
21
src/main.rs
21
src/main.rs
@@ -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![
|
||||
|
Reference in New Issue
Block a user