mirror of
https://github.com/Djeeberjr/fw-anwesenheit.git
synced 2026-04-30 10:39:09 +00:00
11
Cargo.lock
generated
11
Cargo.lock
generated
@@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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}");
|
||||||
|
|||||||
Reference in New Issue
Block a user