esp-hal/esp32p4-hal/Cargo.toml

98 lines
3.6 KiB
TOML

[package]
name = "esp32p4-hal"
version = "0.1.0"
edition = "2021"
rust-version = "1.67.0"
description = "HAL for ESP32-P4 microcontrollers"
repository = "https://github.com/esp-rs/esp-hal"
license = "MIT OR Apache-2.0"
keywords = [
"embedded",
"embedded-hal",
"esp",
"esp32p4",
"no-std",
]
categories = [
"embedded",
"hardware-support",
"no-std",
]
[package.metadata.docs.rs]
targets = ["riscv32imafc-unknown-none-elf"]
[dependencies]
document-features = "0.2.7"
esp-hal = { version = "0.15.0", features = ["esp32p4"], path = "../esp-hal" }
embassy-time-driver = { version = "0.1.0", optional = true }
[dev-dependencies]
embassy-time = "0.3.0"
esp-backtrace = { version = "0.10.0", features = ["esp32p4", "exception-handler", "panic-handler", "println"] }
esp-println = { version = "0.8.0", features = ["esp32p4"] }
[features]
default = ["embassy-integrated-timers", "rt", "vectored", "zero-rtc-bss"]
## Enable debug features in the HAL (used for development).
debug = ["esp-hal/debug"]
## Enable direct interrupt vectoring.
direct-vectoring = ["esp-hal/direct-vectoring"]
## Enable interrupt preemption.
interrupt-preemption = ["esp-hal/interrupt-preemption"]
## Enable logging output using the `log` crate.
log = ["esp-hal/log", "esp-println/log"]
## Enable runtime support.
rt = ["esp-hal/rt-riscv"]
## Enable interrupt vectoring.
vectored = ["esp-hal/vectored"]
#! ### Trait Implementation Feature Flags
## Enable support for asynchronous operation, with interfaces provided by
## `embedded-hal-async` and `embedded-io-async`.
async = ["esp-hal/async"]
## Implement `defmt::Format` on certain types.
defmt = ["esp-hal/defmt", "esp-println/defmt-espflash"]
## Implement the traits defined in the `1.0.0` releases of `embedded-hal` and
## `embedded-hal-nb` for the relevant peripherals.
eh1 = ["esp-hal/eh1"]
## Implement the traits defined in `embedded-io` for certain peripherals.
embedded-io = ["esp-hal/embedded-io"]
## Implement the `ufmt_write::uWrite` trait for certain peripherals.
ufmt = ["esp-hal/ufmt"]
#! ### Memory Initialization Feature Flags
## Zero the `.bss` section of low-power memory.
zero-rtc-bss = ["esp-hal/rv-zero-rtc-bss"]
## Initialize the `.data` section of memory.
init-data = ["esp-hal/rv-init-data"]
## Initialize the `.data` section of low-power memory.
init-rtc-data = ["esp-hal/rv-init-rtc-data"]
#! ### Embassy Feature Flags
## Enable support for `embassy`, a modern asynchronous embedded framework.
embassy = ["esp-hal/embassy"]
## Use the interrupt-mode embassy executor.
embassy-executor-interrupt = ["esp-hal/embassy-executor-interrupt"]
## Use the thread-mode embassy executor.
embassy-executor-thread = ["esp-hal/embassy-executor-thread"]
## Uses hardware timers as alarms for the executors. Using this feature
## limits the number of executors to the number of hardware alarms provided
## by the time driver.
embassy-integrated-timers = ["esp-hal/embassy-integrated-timers"]
## Enable the embassy time driver using the `SYSTIMER` peripheral. The
## `SYSTIMER` peripheral has three alarams available for use.
embassy-time-systick = ["esp-hal/embassy-time-systick", "embassy-time-driver/tick-hz-16_000_000"]
## Enable the embassy time driver using the `TIMG0` peripheral. The `TIMG0`
## peripheral has two alarms available for use.
embassy-time-timg0 = ["esp-hal/embassy-time-timg0", "embassy-time-driver/tick-hz-1_000_000"]
[profile.release]
debug = true
[patch.crates-io]
esp-backtrace = { git = "https://github.com/esp-rs/esp-backtrace", rev = "edf2387" }
esp-println = { git = "https://github.com/esp-rs/esp-println", rev = "1f628e3" }