98 lines
3.6 KiB
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" }
|