This repository has been archived on 2026-08-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
donglora/vendor/esp-hal/src/config.rs
T
swaitsandClaude Opus 4.6 3102fc747a feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support:
- Splash screen on boot (1.5s) with project name, version, board
- Dashboard showing radio state, config, counters, RSSI/SNR
- RSSI history sparkline (64-sample ring buffer, 2px-wide bars)
- DisplayOn/DisplayOff host commands routed via dedicated channel
- Pure render functions against generic DrawTarget (no hardware coupling)
- Display on/off control bypasses radio task entirely

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:42:54 -06:00

61 lines
1.7 KiB
Rust

//! # Configuration
//!
//! ## Overview
//! This module contains the initial configuration for the system.
//!
//! ## Configuration
//! In the [`esp_hal::init()`][crate::init] method, we can configure different
//! parameters for the system:
//! - CPU clock configuration.
//! - Watchdog configuration.
//!
//! ## Examples
//!
//! ### Default initialization
//!
//! ```rust, no_run
#![doc = crate::before_snippet!()]
//! let peripherals = esp_hal::init(esp_hal::Config::default());
//! # }
//! ```
//!
//! ### Custom initialization
//! ```rust, no_run
#![doc = crate::before_snippet!()]
//! let mut config = esp_hal::Config::default();
//! config.cpu_clock = CpuClock::max();
//! config.watchdog.rwdt =
//! esp_hal::config::WatchdogStatus::Enabled(fugit::MicrosDurationU64::millis(1000 as u64));
//! let peripherals = esp_hal::init(config);
//! # }
//! ```
/// Watchdog status.
#[derive(Default, PartialEq)]
pub enum WatchdogStatus {
/// Enables a watchdog timer with the specified timeout.
Enabled(fugit::MicrosDurationU64),
/// Disables the watchdog timer.
#[default]
Disabled,
}
/// Watchdog configuration.
#[non_exhaustive]
#[derive(Default)]
pub struct WatchdogConfig {
#[cfg(not(any(esp32, esp32s2)))]
/// Enable the super watchdog timer, which has a trigger time of slightly
/// less than one second.
pub swd: bool,
/// Configures the reset watchdog timer.
pub rwdt: WatchdogStatus,
/// Configures the `timg0` watchdog timer.
pub timg0: WatchdogStatus,
#[cfg(timg1)]
/// Configures the `timg1` watchdog timer.
///
/// By default, the bootloader does not enable this watchdog timer.
pub timg1: WatchdogStatus,
}