esp-lp-hal 0.1.0

HAL for low-power RISC-V coprocessors found in ESP32 devices
[package]
name         = "esp-lp-hal"
version      = "0.1.0"
edition      = "2021"
rust-version = "1.76.0"
description  = "HAL for low-power RISC-V coprocessors found in ESP32 devices"
repository   = "https://github.com/esp-rs/esp-hal"
license      = "MIT OR Apache-2.0"

[lib]
bench = false
test  = false

keywords = [
    "embedded",
    "embedded-hal",
    "esp",
    "esp32",
    "no-std",
]
categories = [
    "embedded",
    "hardware-support",
    "no-std",
]

[dependencies]
cfg-if            = "1.0.0"
document-features = "0.2.10"
embedded-hal      = { version = "1.0.0",  optional = true }
embedded-hal-02   = { version = "0.2.7",  optional = true, features = ["unproven"], package = "embedded-hal" }
embedded-hal-nb   = { version = "1.0.0",  optional = true }
embedded-io       = { version = "0.6.1",  optional = true }
esp32c6-lp        = { version = "0.3.0", features = ["critical-section"], optional = true }
esp32s2-ulp       = { version = "0.3.0", features = ["critical-section"], optional = true }
esp32s3-ulp       = { version = "0.3.0", features = ["critical-section"], optional = true }
nb                = { version = "1.1.0",  optional = true }
paste             = { version = "1.0.15", optional = true }
procmacros        = { version = "0.12.0", package = "esp-hal-procmacros", path = "../esp-hal-procmacros" }
riscv             = { version = "0.11.1", features = ["critical-section-single-hart"] }

[dev-dependencies]
panic-halt = "0.2.0"

[build-dependencies]
esp-build = { version = "0.1.0", path = "../esp-build" }

[features]
default = ["embedded-hal"]

## Enable debug features in the HAL (used for development).
debug = [
    "esp32c6-lp?/impl-register-debug",
    "esp32s2-ulp?/impl-register-debug",
    "esp32s3-ulp?/impl-register-debug",
]

# Chip Support Feature Flags
# Target the ESP32-C6.
esp32c6 = ["dep:esp32c6-lp",  "procmacros/is-lp-core", "dep:nb", "dep:paste"]
# Target the ESP32-S2.
esp32s2 = ["dep:esp32s2-ulp", "procmacros/is-ulp-core"]
# Target the ESP32-S3.
esp32s3 = ["dep:esp32s3-ulp", "procmacros/is-ulp-core"]

#! ### Trait Implementation Feature Flags
## Implement the traits defined in the `0.2.x` release of `embedded-hal`.
embedded-hal-02 = ["dep:embedded-hal-02"]
## Implement the traits defined in the `1.0.0` releases of `embedded-hal` and
## `embedded-hal-nb` for the relevant peripherals.
embedded-hal = ["dep:embedded-hal", "dep:embedded-hal-nb"]
## Implement the traits defined in `embedded-io` for the relevant peripherals.
embedded-io = ["dep:embedded-io"]

[[example]]
name              = "blinky"
required-features = ["embedded-hal-02"]

[[example]]
name              = "i2c"
required-features = ["embedded-hal-02", "esp32c6"]

[[example]]
name              = "uart"
required-features = ["embedded-hal-02", "esp32c6"]

[lints.rust]
unexpected_cfgs = "allow"