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>
365 lines
6.4 KiB
TOML
365 lines
6.4 KiB
TOML
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
|
#
|
|
# When uploading crates to the registry Cargo will automatically
|
|
# "normalize" Cargo.toml files for maximal compatibility
|
|
# with all versions of Cargo and also rewrite `path` dependencies
|
|
# to registry (e.g., crates.io) dependencies.
|
|
#
|
|
# If you are reading this file be aware that the original Cargo.toml
|
|
# will likely look very different (and much more reasonable).
|
|
# See Cargo.toml.orig for the original contents.
|
|
|
|
[package]
|
|
edition = "2021"
|
|
rust-version = "1.79.0"
|
|
name = "esp-hal"
|
|
version = "0.22.0"
|
|
build = "build.rs"
|
|
links = "esp-hal"
|
|
autolib = false
|
|
autobins = false
|
|
autoexamples = false
|
|
autotests = false
|
|
autobenches = false
|
|
description = "Bare-metal HAL for Espressif devices"
|
|
documentation = "https://docs.esp-rs.org/esp-hal/"
|
|
readme = "README.md"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/esp-rs/esp-hal"
|
|
|
|
[package.metadata.docs.rs]
|
|
default-target = "riscv32imac-unknown-none-elf"
|
|
features = ["esp32c6"]
|
|
rustdoc-args = [
|
|
"--cfg",
|
|
"docsrs",
|
|
]
|
|
|
|
[lib]
|
|
name = "esp_hal"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies.bitfield]
|
|
version = "0.17.0"
|
|
|
|
[dependencies.bitflags]
|
|
version = "2.6.0"
|
|
|
|
[dependencies.bytemuck]
|
|
version = "1.19.0"
|
|
|
|
[dependencies.cfg-if]
|
|
version = "1.0.0"
|
|
|
|
[dependencies.chrono]
|
|
version = "0.4.38"
|
|
default-features = false
|
|
|
|
[dependencies.critical-section]
|
|
version = "1.2.0"
|
|
|
|
[dependencies.defmt]
|
|
version = "0.3.8"
|
|
optional = true
|
|
|
|
[dependencies.delegate]
|
|
version = "0.13.1"
|
|
|
|
[dependencies.digest]
|
|
version = "0.10.7"
|
|
optional = true
|
|
default-features = false
|
|
|
|
[dependencies.document-features]
|
|
version = "0.2.10"
|
|
|
|
[dependencies.embassy-embedded-hal]
|
|
version = "0.2.0"
|
|
|
|
[dependencies.embassy-futures]
|
|
version = "0.1.1"
|
|
|
|
[dependencies.embassy-sync]
|
|
version = "0.6.0"
|
|
|
|
[dependencies.embassy-usb-driver]
|
|
version = "0.1.0"
|
|
optional = true
|
|
|
|
[dependencies.embassy-usb-synopsys-otg]
|
|
version = "0.1.0"
|
|
optional = true
|
|
|
|
[dependencies.embedded-can]
|
|
version = "0.4.1"
|
|
|
|
[dependencies.embedded-hal]
|
|
version = "1.0.0"
|
|
|
|
[dependencies.embedded-hal-02]
|
|
version = "0.2.7"
|
|
features = ["unproven"]
|
|
package = "embedded-hal"
|
|
|
|
[dependencies.embedded-hal-async]
|
|
version = "1.0.0"
|
|
|
|
[dependencies.embedded-hal-nb]
|
|
version = "1.0.0"
|
|
|
|
[dependencies.embedded-io]
|
|
version = "0.6.1"
|
|
|
|
[dependencies.embedded-io-async]
|
|
version = "0.6.1"
|
|
|
|
[dependencies.enumset]
|
|
version = "1.1.5"
|
|
|
|
[dependencies.esp-synopsys-usb-otg]
|
|
version = "0.4.2"
|
|
features = [
|
|
"fs",
|
|
"esp32sx",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32]
|
|
version = "0.34.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32c2]
|
|
version = "0.23.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32c3]
|
|
version = "0.26.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32c6]
|
|
version = "0.17.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32h2]
|
|
version = "0.13.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32s2]
|
|
version = "0.25.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.esp32s3]
|
|
version = "0.29.0"
|
|
features = [
|
|
"critical-section",
|
|
"rt",
|
|
]
|
|
optional = true
|
|
|
|
[dependencies.fugit]
|
|
version = "0.3.7"
|
|
|
|
[dependencies.log]
|
|
version = "0.4.22"
|
|
optional = true
|
|
|
|
[dependencies.nb]
|
|
version = "1.1.0"
|
|
|
|
[dependencies.paste]
|
|
version = "1.0.15"
|
|
|
|
[dependencies.portable-atomic]
|
|
version = "1.9.0"
|
|
default-features = false
|
|
|
|
[dependencies.procmacros]
|
|
version = "0.15.0"
|
|
features = [
|
|
"enum-dispatch",
|
|
"interrupt",
|
|
"ram",
|
|
]
|
|
package = "esp-hal-procmacros"
|
|
|
|
[dependencies.rand_core]
|
|
version = "0.6.4"
|
|
|
|
[dependencies.riscv]
|
|
version = "0.12.1"
|
|
optional = true
|
|
|
|
[dependencies.strum]
|
|
version = "0.26.3"
|
|
features = ["derive"]
|
|
default-features = false
|
|
|
|
[dependencies.ufmt-write]
|
|
version = "0.1.0"
|
|
|
|
[dependencies.usb-device]
|
|
version = "0.3.2"
|
|
optional = true
|
|
|
|
[dependencies.void]
|
|
version = "1.0.2"
|
|
default-features = false
|
|
|
|
[dependencies.xtensa-lx]
|
|
version = "0.9.0"
|
|
optional = true
|
|
|
|
[build-dependencies.basic-toml]
|
|
version = "0.1.9"
|
|
|
|
[build-dependencies.cfg-if]
|
|
version = "1.0.0"
|
|
|
|
[build-dependencies.esp-build]
|
|
version = "0.1.0"
|
|
|
|
[build-dependencies.esp-config]
|
|
version = "0.2.0"
|
|
features = ["build"]
|
|
|
|
[build-dependencies.esp-metadata]
|
|
version = "0.4.0"
|
|
|
|
[build-dependencies.serde]
|
|
version = "1.0.215"
|
|
features = ["derive"]
|
|
|
|
[features]
|
|
__esp_hal_embassy = []
|
|
bluetooth = []
|
|
ci = [
|
|
"defmt",
|
|
"bluetooth",
|
|
]
|
|
debug = [
|
|
"esp32?/impl-register-debug",
|
|
"esp32c2?/impl-register-debug",
|
|
"esp32c3?/impl-register-debug",
|
|
"esp32c6?/impl-register-debug",
|
|
"esp32h2?/impl-register-debug",
|
|
"esp32s2?/impl-register-debug",
|
|
"esp32s3?/impl-register-debug",
|
|
]
|
|
default = []
|
|
defmt = [
|
|
"dep:defmt",
|
|
"embassy-futures/defmt",
|
|
"embassy-sync/defmt",
|
|
"embedded-hal/defmt-03",
|
|
"embedded-io/defmt-03",
|
|
"embedded-io-async/defmt-03",
|
|
"esp32?/defmt",
|
|
"esp32c2?/defmt",
|
|
"esp32c3?/defmt",
|
|
"esp32c6?/defmt",
|
|
"esp32h2?/defmt",
|
|
"esp32s2?/defmt",
|
|
"esp32s3?/defmt",
|
|
"fugit/defmt",
|
|
]
|
|
esp32 = [
|
|
"dep:esp32",
|
|
"xtensa",
|
|
"xtensa-lx/spin",
|
|
"xtensa-lx-rt/esp32",
|
|
]
|
|
esp32c2 = [
|
|
"dep:esp32c2",
|
|
"riscv",
|
|
"portable-atomic/unsafe-assume-single-core",
|
|
]
|
|
esp32c3 = [
|
|
"dep:esp32c3",
|
|
"riscv",
|
|
"portable-atomic/unsafe-assume-single-core",
|
|
"esp-riscv-rt/rtc-ram",
|
|
]
|
|
esp32c6 = [
|
|
"dep:esp32c6",
|
|
"riscv",
|
|
"procmacros/has-lp-core",
|
|
"esp-riscv-rt/rtc-ram",
|
|
]
|
|
esp32h2 = [
|
|
"dep:esp32h2",
|
|
"riscv",
|
|
"esp-riscv-rt/rtc-ram",
|
|
]
|
|
esp32s2 = [
|
|
"dep:esp32s2",
|
|
"xtensa",
|
|
"portable-atomic/critical-section",
|
|
"procmacros/has-ulp-core",
|
|
"xtensa-lx-rt/esp32s2",
|
|
"usb-otg",
|
|
]
|
|
esp32s3 = [
|
|
"dep:esp32s3",
|
|
"xtensa",
|
|
"procmacros/has-ulp-core",
|
|
"xtensa-lx/spin",
|
|
"xtensa-lx-rt/esp32s3",
|
|
"usb-otg",
|
|
]
|
|
flip-link = ["esp-riscv-rt/fix-sp"]
|
|
log = ["dep:log"]
|
|
octal-psram = []
|
|
quad-psram = []
|
|
riscv = [
|
|
"dep:riscv",
|
|
"critical-section/restore-state-u8",
|
|
]
|
|
usb-otg = [
|
|
"dep:embassy-usb-driver",
|
|
"dep:embassy-usb-synopsys-otg",
|
|
"dep:esp-synopsys-usb-otg",
|
|
"dep:usb-device",
|
|
]
|
|
xtensa = [
|
|
"dep:xtensa-lx",
|
|
"critical-section/restore-state-u32",
|
|
]
|
|
|
|
[target.'cfg(target_arch = "riscv32")'.dependencies.esp-riscv-rt]
|
|
version = "0.9.1"
|
|
|
|
[target.'cfg(target_arch = "xtensa")'.dependencies.xtensa-lx-rt]
|
|
version = "0.17.2"
|
|
|
|
[lints.clippy]
|
|
mixed_attributes_style = "allow"
|
|
|
|
[lints.rust.unexpected_cfgs]
|
|
level = "warn"
|
|
priority = 0
|
|
check-cfg = ['cfg(host_os, values("windows"))']
|