36 lines
1.3 KiB
Rust
36 lines
1.3 KiB
Rust
#![no_std]
|
|
#![no_main]
|
|
|
|
use embassy_executor::Spawner;
|
|
use esp_hal::clock::CpuClock;
|
|
use esp_hal::timer::systimer::SystemTimer;
|
|
use log::*;
|
|
use esp_backtrace as _;
|
|
|
|
use renderbug_bike::logging::RenderbugLogger;
|
|
use renderbug_bike::tasks::simulation::{SimDataStream, SimDataTable};
|
|
use renderbug_bike::simdata::*;
|
|
|
|
esp_bootloader_esp_idf::esp_app_desc!();
|
|
|
|
#[esp_rtos::main]
|
|
async fn main(spawner: Spawner) {
|
|
|
|
esp_alloc::heap_allocator!(size: 100000);
|
|
|
|
RenderbugLogger::init_logger();
|
|
|
|
let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
|
|
let peripherals = esp_hal::init(config);
|
|
let sys_timer = SystemTimer::new(peripherals.SYSTIMER);
|
|
esp_rtos::start(sys_timer.alarm0);
|
|
|
|
let mut storage = renderbug_bike::storage::SharedFlash::new(esp_storage::FlashStorage::new(peripherals.FLASH));
|
|
let mut partition_buf = [8; 1024];
|
|
let partitions = esp_bootloader_esp_idf::partitions::read_partition_table(&mut storage, &mut partition_buf).unwrap();
|
|
|
|
let sim_partition = SimDataTable::find_partition(storage, partitions).expect("Could not find sim data partition!");
|
|
info!("Got partition: {sim_partition:?}");
|
|
SimDataTable::create(sim_partition).expect("Could not write empty sim partition");
|
|
error!("Overwrote sim data partition with a blank stream table");
|
|
} |