Use RTOS executor for second core

This commit is contained in:
Jakub Hlusička 2025-12-27 23:51:46 +01:00
parent a67991027d
commit b9789b89ac

View file

@ -34,7 +34,7 @@ use esp_hal::uart::Uart;
use esp_hal::{Blocking, ram}; use esp_hal::{Blocking, ram};
use esp_radio::Controller; use esp_radio::Controller;
use esp_radio::ble::controller::BleConnector; use esp_radio::ble::controller::BleConnector;
use esp_rtos::embassy::InterruptExecutor; use esp_rtos::embassy::{Executor, InterruptExecutor};
use esp_storage::FlashStorage; use esp_storage::FlashStorage;
use itertools::chain; use itertools::chain;
use log::{error, info}; use log::{error, info};
@ -239,18 +239,17 @@ async fn main(_spawner: Spawner) {
software_interrupt.software_interrupt1, software_interrupt.software_interrupt1,
second_core_stack, second_core_stack,
move || { move || {
static EXECUTOR: StaticCell<InterruptExecutor<2>> = StaticCell::new(); // static EXECUTOR: StaticCell<InterruptExecutor<2>> = StaticCell::new();
let exec = EXECUTOR.init(InterruptExecutor::new( // let exec = EXECUTOR.init(InterruptExecutor::new(
software_interrupt.software_interrupt2, // software_interrupt.software_interrupt2,
)); // ));
let spawner = exec.start(Priority::Priority3); // let spawner = exec.start(Priority::Priority3);
// spawner.must_spawn(run_lcd_task(st7701s));
static EXECUTOR: StaticCell<Executor> = StaticCell::new();
let executor: &mut Executor = EXECUTOR.init(Executor::new());
executor.run(|spawner| {
spawner.must_spawn(run_lcd_task(st7701s)); spawner.must_spawn(run_lcd_task(st7701s));
// static EXECUTOR: StaticCell<Executor> = StaticCell::new(); });
// let executor: &mut Executor = EXECUTOR.init(Executor::new());
// executor.run(|spawner| {
// let task = run_lcd_task(st7701s);
// spawner.must_spawn(task);
// });
}, },
); );
@ -267,7 +266,7 @@ async fn main(_spawner: Spawner) {
&stack, &stack,
&mut storage, &mut storage,
rmk_config, rmk_config,
) // run_lcd(st7701s) ) //, run_lcd(st7701s)
] ]
.await; .await;
} }