refactor
This commit is contained in:
+15
-14
@@ -5,6 +5,7 @@ mod backlight;
|
|||||||
mod display;
|
mod display;
|
||||||
mod framebuffer;
|
mod framebuffer;
|
||||||
mod led;
|
mod led;
|
||||||
|
pub mod board;
|
||||||
|
|
||||||
use embedded_graphics::pixelcolor::Rgb565;
|
use embedded_graphics::pixelcolor::Rgb565;
|
||||||
use embedded_graphics::prelude::*;
|
use embedded_graphics::prelude::*;
|
||||||
@@ -24,7 +25,13 @@ const VAL: u8 = 255;
|
|||||||
esp_app_desc!();
|
esp_app_desc!();
|
||||||
|
|
||||||
#[embassy_executor::task]
|
#[embassy_executor::task]
|
||||||
async fn led_task(mut led: led::RgbLed) {
|
async fn led_task(
|
||||||
|
rmt_periph: esp_hal::peripherals::RMT<'static>,
|
||||||
|
led_pin: esp_hal::peripherals::GPIO8<'static>,
|
||||||
|
) {
|
||||||
|
let rmt = Rmt::new(rmt_periph, Rate::from_mhz(80)).expect("Failed to init RMT");
|
||||||
|
let mut led = led::RgbLed::new(rmt.channel0, led_pin).expect("Failed to init RGB LED");
|
||||||
|
|
||||||
let mut frame = 0u32;
|
let mut frame = 0u32;
|
||||||
loop {
|
loop {
|
||||||
let hue = (frame % 256) as u8;
|
let hue = (frame % 256) as u8;
|
||||||
@@ -42,18 +49,21 @@ async fn led_task(mut led: led::RgbLed) {
|
|||||||
#[embassy_executor::task]
|
#[embassy_executor::task]
|
||||||
async fn display_task(
|
async fn display_task(
|
||||||
pins: display::LcdPins,
|
pins: display::LcdPins,
|
||||||
mut fb: framebuffer::Framebuffer,
|
ledc: esp_hal::peripherals::LEDC<'static>,
|
||||||
timer: esp_hal::ledc::timer::Timer<'static, esp_hal::ledc::LowSpeed>,
|
|
||||||
bl_pin: esp_hal::peripherals::GPIO22<'static>,
|
bl_pin: esp_hal::peripherals::GPIO22<'static>,
|
||||||
) {
|
) {
|
||||||
let mut parts = display::init_parts(pins);
|
let mut parts = display::init_parts(pins);
|
||||||
println!("LCD {}x{} initialized", display::WIDTH, display::HEIGHT);
|
println!("LCD {}x{} initialized", display::WIDTH, display::HEIGHT);
|
||||||
|
|
||||||
|
let (_ledc, timer) =
|
||||||
|
backlight::setup_timer(ledc).expect("Failed to init backlight timer");
|
||||||
let mut backlight =
|
let mut backlight =
|
||||||
backlight::LcdBacklight::new(&timer, bl_pin).expect("Failed to init backlight");
|
backlight::LcdBacklight::new(&timer, bl_pin).expect("Failed to init backlight");
|
||||||
backlight.set_level(0.5).unwrap();
|
backlight.set_level(0.5).unwrap();
|
||||||
println!("backlight set to 0.5");
|
println!("backlight set to 0.5");
|
||||||
|
|
||||||
|
let mut fb = framebuffer::Framebuffer;
|
||||||
|
|
||||||
let mut pts = [
|
let mut pts = [
|
||||||
Point::new(86, 20),
|
Point::new(86, 20),
|
||||||
Point::new(61, 50),
|
Point::new(61, 50),
|
||||||
@@ -127,15 +137,7 @@ async fn main(spawner: Spawner) -> ! {
|
|||||||
let timg0 = TimerGroup::new(peripherals.TIMG0);
|
let timg0 = TimerGroup::new(peripherals.TIMG0);
|
||||||
esp_rtos::start(timg0.timer0, peripherals.FROM_CPU_INTR0);
|
esp_rtos::start(timg0.timer0, peripherals.FROM_CPU_INTR0);
|
||||||
|
|
||||||
let led = {
|
spawner.spawn(led_task(peripherals.RMT, peripherals.GPIO8).unwrap());
|
||||||
let rmt = Rmt::new(peripherals.RMT, Rate::from_mhz(80)).expect("Failed to init RMT");
|
|
||||||
led::RgbLed::new(rmt.channel0, peripherals.GPIO8).expect("Failed to init RGB LED")
|
|
||||||
};
|
|
||||||
|
|
||||||
let (_ledc, timer) =
|
|
||||||
backlight::setup_timer(peripherals.LEDC).expect("Failed to init backlight timer");
|
|
||||||
|
|
||||||
spawner.spawn(led_task(led).unwrap());
|
|
||||||
spawner.spawn(display_task(
|
spawner.spawn(display_task(
|
||||||
display::LcdPins {
|
display::LcdPins {
|
||||||
spi2: peripherals.SPI2,
|
spi2: peripherals.SPI2,
|
||||||
@@ -146,8 +148,7 @@ async fn main(spawner: Spawner) -> ! {
|
|||||||
rst: peripherals.GPIO21,
|
rst: peripherals.GPIO21,
|
||||||
dma_ch: peripherals.DMA_CH0,
|
dma_ch: peripherals.DMA_CH0,
|
||||||
},
|
},
|
||||||
framebuffer::Framebuffer,
|
peripherals.LEDC,
|
||||||
timer,
|
|
||||||
peripherals.GPIO22,
|
peripherals.GPIO22,
|
||||||
).unwrap());
|
).unwrap());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user