[package] name = "esp-hal-common" version = "0.1.0" authors = [ "Jesse Braham ", "Björn Quentin ", ] edition = "2021" description = "HAL implementations for peripherals common among Espressif devices; should not be used directly" repository = "https://github.com/esp-rs/esp-hal" license = "MIT OR Apache-2.0" [dependencies] cfg-if = "1.0" embedded-hal = { version = "0.2", features = ["unproven"] } nb = "1.0" paste = "1.0" procmacros = { path = "../esp-hal-procmacros", package = "esp-hal-procmacros" } void = { version = "1.0", default-features = false } # RISC-V riscv = { version = "0.7", optional = true } riscv-atomic-emulation-trap = { version = "0.1", optional = true } # Xtensa xtensa-lx = { version = "0.6", optional = true } # IMPORTANT: # Each supported device MUST have its PAC included below along with a # corresponding feature. We rename the PAC packages because we cannot # have dependencies and features with the same names. esp32_pac = { package = "esp32", git = "https://github.com/esp-rs/esp-pacs.git", branch = "with_source", optional = true } esp32c3_pac = { package = "esp32c3", git = "https://github.com/esp-rs/esp-pacs.git", branch = "with_source", optional = true } esp32s2_pac = { package = "esp32s2", git = "https://github.com/esp-rs/esp-pacs.git", branch = "with_source", optional = true } esp32s3_pac = { package = "esp32s3", git = "https://github.com/esp-rs/esp-pacs.git", branch = "with_source", optional = true } [features] esp32 = [ "esp32_pac/rt", "xtensa", "dual_core"] esp32c3 = ["esp32c3_pac/rt", "risc_v", "single_core"] esp32s2 = ["esp32s2_pac/rt", "xtensa", "single_core"] esp32s3 = ["esp32s3_pac/rt", "xtensa", "dual_core"] # Architecture (should not be enabled directly, but instead by a PAC's feature) risc_v = ["riscv", "riscv-atomic-emulation-trap"] xtensa = ["procmacros/rtc_slow", "xtensa-lx/esp32"] # Core Count (should not be enabled directly, but instead by a PAC's feature) single_core = [] dual_core = []