[package] name = "esp32c6-hal" version = "0.8.0" edition = "2021" rust-version = "1.67.0" description = "HAL for ESP32-C6 microcontrollers" repository = "https://github.com/esp-rs/esp-hal" license = "MIT OR Apache-2.0" keywords = [ "embedded", "embedded-hal", "esp", "esp32c6", "no-std", ] categories = [ "embedded", "hardware-support", "no-std", ] [package.metadata.docs.rs] targets = ["riscv32imac-unknown-none-elf"] [dependencies] document-features = "0.2.7" esp-hal = { version = "0.15.0", features = ["esp32c6"], path = "../esp-hal" } embassy-time-driver = { version = "0.1.0", optional = true } [dev-dependencies] aes = "0.8.3" critical-section = "1.1.2" crypto-bigint = { version = "0.5.5", default-features = false} elliptic-curve = { version = "0.13.8", default-features = false, features = ["sec1"] } embassy-executor = { version = "0.5.0", features = ["nightly"] } embassy-sync = "0.5.0" embassy-time = "0.3.0" embedded-graphics = "0.8.1" embedded-hal-1 = { version = "1.0.0", package = "embedded-hal" } embedded-hal-async = "1.0.0" embedded-can = "0.4.1" embedded-io-async = "0.6.1" embedded-hal-bus = "0.1.0" esp-backtrace = { version = "0.10.0", features = ["esp32c6", "panic-handler", "exception-handler", "print-uart"] } esp-hal-smartled = { version = "0.8.0", features = ["esp32c6"], path = "../esp-hal-smartled" } esp-println = { version = "0.8.0", features = ["esp32c6"] } heapless = "0.8.0" hex-literal = "0.4.1" hmac = { version = "0.12.1", default-features = false } lis3dh-async = "0.9.1" p192 = { version = "0.13.0", default-features = false, features = ["arithmetic"] } p256 = { version = "0.13.2", default-features = false, features = ["arithmetic"] } sha2 = { version = "0.10.8", default-features = false} smart-leds = "0.4.0" ssd1306 = "0.8.4" static_cell = { version = "2.0.0", features = ["nightly"] } [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"] ## TODO: ??? flip-link = ["esp-hal/flip-link"] ## 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 [[example]] name = "spi_eh1_loopback" required-features = ["eh1"] [[example]] name = "spi_eh1_device_loopback" required-features = ["eh1"] [[example]] name = "embassy_hello_world" required-features = ["embassy", "embassy-executor-thread"] [[example]] name = "embassy_multiprio" required-features = ["embassy", "embassy-executor-thread", "embassy-executor-interrupt"] [[example]] name = "embassy_wait" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_spi" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "interrupt_preemption" required-features = ["interrupt-preemption"] [[example]] name = "embassy_serial" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_i2c" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "direct-vectoring" required-features = ["direct-vectoring"] [[example]] name = "embassy_rmt_tx" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_rmt_rx" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_i2s_sound" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_i2s_read" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_parl_io_tx" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_parl_io_rx" required-features = ["embassy", "async", "embassy-executor-thread"] [[example]] name = "embassy_usb_serial_jtag" required-features = ["embassy", "async", "embassy-executor-thread"]