Revert "updated panic handler"

This reverts commit c4d6ed45f1f57e92be21142b81a1fd2b52a5924f.
This commit is contained in:
Djeeberjr 2025-10-15 15:50:26 +02:00
parent c4d6ed45f1
commit 6fdcf7679f
3 changed files with 9 additions and 43 deletions

11
Cargo.lock generated
View File

@ -78,9 +78,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.9.4" version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
[[package]] [[package]]
name = "bleps" name = "bleps"
@ -714,7 +714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3887eda2917deef3d99e7a5c324f9190714e99055361ad36890dffd0a995b49" checksum = "f3887eda2917deef3d99e7a5c324f9190714e99055361ad36890dffd0a995b49"
dependencies = [ dependencies = [
"bitfield 0.19.1", "bitfield 0.19.1",
"bitflags 2.9.4", "bitflags 2.9.1",
"bytemuck", "bytemuck",
"cfg-if", "cfg-if",
"critical-section", "critical-section",
@ -1058,7 +1058,6 @@ dependencies = [
name = "fw-anwesenheit" name = "fw-anwesenheit"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"bitflags 2.9.4",
"bleps", "bleps",
"chrono", "chrono",
"critical-section", "critical-section",
@ -1413,7 +1412,7 @@ source = "git+https://github.com/sammhicks/picoserve.git?rev=400df53f61137e1bb28
dependencies = [ dependencies = [
"const-sha1", "const-sha1",
"embassy-net", "embassy-net",
"embassy-time 0.5.0", "embassy-time 0.4.0",
"embedded-io-async", "embedded-io-async",
"heapless", "heapless",
"log", "log",
@ -1532,7 +1531,7 @@ version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "679341d22c78c6c649893cbd6c3278dcbe9fc4faa62fea3a9296ae2b50c14625" checksum = "679341d22c78c6c649893cbd6c3278dcbe9fc4faa62fea3a9296ae2b50c14625"
dependencies = [ dependencies = [
"bitflags 2.9.4", "bitflags 2.9.1",
"memchr", "memchr",
"unicase", "unicase",
] ]

View File

@ -70,7 +70,6 @@ embedded-sdmmc = "0.8.0"
embedded-hal-bus = "0.3.0" embedded-hal-bus = "0.3.0"
serde_json = { version = "1.0.143", default-features = false, features = ["alloc"]} serde_json = { version = "1.0.143", default-features = false, features = ["alloc"]}
embassy-futures = { version = "0.1.2", features = ["log"] } embassy-futures = { version = "0.1.2", features = ["log"] }
bitflags = "2.9.4"
[profile.dev] [profile.dev]
# Rust debug is too slow. # Rust debug is too slow.

View File

@ -1,6 +1,4 @@
use core::cell::RefCell; use core::cell::RefCell;
use core::sync::atomic::{AtomicU8, Ordering};
use alloc::string::ToString;
use critical_section::Mutex; use critical_section::Mutex;
use embassy_executor::Spawner; use embassy_executor::Spawner;
use embassy_net::Stack; use embassy_net::Stack;
@ -28,12 +26,9 @@ use esp_hal_smartled::{SmartLedsAdapterAsync, buffer_size_async};
use esp_println::logger::init_logger; use esp_println::logger::init_logger;
use log::{debug, error}; use log::{debug, error};
use crate::FEEDBACK_STATE;
use crate::feedback:: FeedbackState;
use crate::init::network; use crate::init::network;
use crate::init::sd_card::{SDCardPersistence, setup_sdcard}; use crate::init::sd_card::{SDCardPersistence, setup_sdcard};
use crate::init::wifi; use crate::init::wifi;
use bitflags::bitflags;
/************************************************* /*************************************************
* GPIO Pinout Xiao Esp32c6 * GPIO Pinout Xiao Esp32c6
@ -57,38 +52,11 @@ pub const LED_BUFFER_SIZE: usize = NUM_LEDS * 25;
static SD_DET: Mutex<RefCell<Option<Input>>> = Mutex::new(RefCell::new(None)); static SD_DET: Mutex<RefCell<Option<Input>>> = Mutex::new(RefCell::new(None));
static ERR_FLAGS: AtomicU8 = AtomicU8::new(0);
bitflags! {
struct Flags: u8 {
const ERR_FLG_FEEDBACK = 0b00000001;
const ERR_FLG_SDCARD = 0b00000010;
}
}
#[panic_handler] #[panic_handler]
fn panic(info: &core::panic::PanicInfo) -> ! { fn panic(info: &core::panic::PanicInfo) -> ! {
loop {
error!("PANIC: {info}"); error!("PANIC: {info}");
let ordering: Ordering = Ordering::Relaxed;
let bits = ERR_FLAGS.load(ordering);
let flags = Flags::from_bits_truncate(bits);
if !flags.contains(Flags::ERR_FLG_FEEDBACK) {
FEEDBACK_STATE.signal(FeedbackState::Error);
} }
ERR_FLAGS.fetch_or(Flags::ERR_FLG_FEEDBACK.bits(), ordering);
if !flags.contains(Flags::ERR_FLG_SDCARD) {
let info_str = info.to_string();
// TODO: save error string to SD Card
}
ERR_FLAGS.fetch_or(Flags::ERR_FLG_SDCARD.bits(), ordering);
loop {}
} }
esp_bootloader_esp_idf::esp_app_desc!(); esp_bootloader_esp_idf::esp_app_desc!();
@ -169,9 +137,9 @@ fn setup_uart(
uart_tx: GPIO16<'static>, uart_tx: GPIO16<'static>,
uart_rx: GPIO17<'static>, uart_rx: GPIO17<'static>,
) -> Uart<'static, Async> { ) -> Uart<'static, Async> {
let uart_device = Uart::new(uart1, esp_hal::uart::Config::default().with_baudrate(9600)); let uard_device = Uart::new(uart1, esp_hal::uart::Config::default().with_baudrate(9600));
match uart_device { match uard_device {
Ok(block) => block.with_rx(uart_rx).with_tx(uart_tx).into_async(), Ok(block) => block.with_rx(uart_rx).with_tx(uart_tx).into_async(),
Err(e) => { Err(e) => {
error!("Failed to initialize UART: {e}"); error!("Failed to initialize UART: {e}");