m5stack-core 0.6.0

Board support crate for M5Stack Fire27 and CoreS3 (ESP32/ESP32-S3)
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.96"
name = "m5stack-core"
version = "0.6.0"
build = "build.rs"
include = [
    "/src/**/*.rs",
    "/tools/**",
    "/docs/**",
    "/build.rs",
    "/Cargo.toml",
    "/README.md",
    "/CHANGELOG.md",
    "/LICENSE-MIT",
    "/LICENSE-APACHE",
    "/hil.toml.example",
    "/rust-toolchain.toml",
    "/.cargo/config.toml",
    "/.gitignore",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Board support crate for M5Stack Fire27 and CoreS3 (ESP32/ESP32-S3)"
documentation = "https://emobotics-dev.github.io/m5stack-core"
readme = "README.md"
keywords = [
    "esp32",
    "m5stack",
    "embedded",
    "bsp",
    "embassy",
]
categories = [
    "embedded",
    "no-std",
    "hardware-support",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/emobotics-dev/m5stack-core"

[features]
app-desc = ["dep:esp-bootloader-esp-idf"]
ble = ["esp-radio/ble"]
buttons = [
    "dep:async-button",
    "dep:embassy-time-04",
]
coex = [
    "esp-radio/coex",
    "wifi",
    "ble",
]
console-serial = []
cores3 = [
    "esp-hal/esp32s3",
    "esp-radio/esp32s3",
    "esp-sync/esp32s3",
    "esp-bootloader-esp-idf?/esp32s3",
    "esp-rtos?/esp32s3",
]
display = [
    "dep:lcd-async",
    "dep:embassy-embedded-hal",
]
ex-coex = ["coex"]
ex-common = [
    "display",
    "psram",
    "wifi-sta",
    "console-serial",
    "panic-handler",
    "app-desc",
    "dep:esp-rtos",
    "esp-rtos/embassy",
    "esp-rtos/esp-radio",
    "esp-alloc/internal-heap-stats",
]
ex-cores3 = [
    "ex-common",
    "cores3",
    "esp-rtos/esp32s3",
    "esp-rtos/log-04",
    "esp-sync/esp32s3",
    "esp-sync/log-04",
    "esp-bootloader-esp-idf/esp32s3",
    "embassy-executor/log",
    "embassy-time/log",
]
ex-fire27 = [
    "ex-common",
    "fire27",
    "buttons",
    "esp-rtos/esp32",
    "esp-sync/esp32",
    "esp-bootloader-esp-idf/esp32",
]
ex-lvgl = []
ex-multicore = ["multicore"]
ex-probes = []
ex-sd = []
ex-ui-app-core = ["ex-ui-flush-thread"]
ex-ui-flush-thread = ["ex-ui-thread"]
ex-ui-thread = []
fire27 = [
    "esp-hal/esp32",
    "esp-radio/esp32",
    "esp-sync/esp32",
    "esp-bootloader-esp-idf?/esp32",
    "esp-rtos?/esp32",
]
heap = [
    "dep:esp-alloc",
    "dep:allocator-api2",
    "app-desc",
]
identity = ["app-desc"]
multicore = ["dep:esp-rtos"]
panic-handler = []
psram = ["heap"]
search-masks = []
serial-cmd = []
test-fault-inject = []
wifi = ["esp-radio/wifi"]
wifi-ap = [
    "wifi",
    "dep:embassy-net",
]
wifi-sta = [
    "wifi",
    "dep:embassy-net",
]

[lib]
name = "m5stack_core"
path = "src/lib.rs"
test = false
bench = false

[dependencies.allocator-api2]
version = "0.3.0"
features = ["alloc"]
optional = true
default-features = false

[dependencies.async-button]
version = "0.2.0"
optional = true

[dependencies.embassy-embedded-hal]
version = "0.6.0"
features = ["time"]
optional = true

[dependencies.embassy-executor]
version = "0.10.0"
features = ["nightly"]

[dependencies.embassy-futures]
version = "0.1"

[dependencies.embassy-net]
version = "0.9.1"
features = [
    "dhcpv4",
    "proto-ipv4",
    "medium-ethernet",
    "tcp",
    "udp",
    "dns",
]
optional = true
default-features = false

[dependencies.embassy-sync]
version = "0.8"

[dependencies.embassy-time]
version = "0.5.1"

[dependencies.embassy-time-04]
version = "0.4"
optional = true
package = "embassy-time"

[dependencies.embedded-hal]
version = "1.0.0"

[dependencies.embedded-hal-async]
version = "1"

[dependencies.embedded-io-async]
version = "0.7.0"

[dependencies.esp-alloc]
version = "=0.10.0"
optional = true

[dependencies.esp-bootloader-esp-idf]
version = "=0.5.0"
optional = true

[dependencies.esp-hal]
version = "=1.1.2"
features = ["unstable"]

[dependencies.esp-radio]
version = "=0.18.0"
features = [
    "esp-alloc",
    "unstable",
]

[dependencies.esp-rom-sys]
version = "=0.1.4"

[dependencies.esp-rtos]
version = "=0.3.0"
features = ["embassy"]
optional = true

[dependencies.esp-sync]
version = "=0.2.1"

[dependencies.fixed]
version = "1.29.0"

[dependencies.heapless]
version = "0.9.3"
features = ["nightly"]

[dependencies.lcd-async]
version = "0.1.3"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.static_cell]
version = "2.1.1"
features = ["nightly"]

[dependencies.thiserror-no-std]
version = "2.0.2"

[dev-dependencies.aligned]
version = "0.4.2"

[dev-dependencies.embedded-graphics]
version = "0.8.2"

[dev-dependencies.embedded-hal-async]
version = "1"

[dev-dependencies.oxivgl]
version = "=0.8.0"
features = [
    "esp-hal",
    "log-04",
    "rtos-sem",
]

[dev-dependencies.oxivgl-sys]
version = "=0.2.4"
default-features = false

[dev-dependencies.trouble-host]
version = "0.6.0"
features = [
    "default-packet-pool-mtu-255",
    "scan",
    "derive",
]

[profile.dev]
opt-level = "s"

[profile.release]
opt-level = "s"
lto = "fat"
codegen-units = 1
debug = 2
debug-assertions = false
overflow-checks = true
incremental = false