[package]
edition = "2024"
rust-version = "1.86"
name = "m5stack-core"
version = "0.4.1"
build = "build.rs"
exclude = [
".github/",
".devcontainer/",
"CLAUDE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Board support crate for M5Stack Fire27 and CoreS3 (ESP32/ESP32-S3)"
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]
ble = ["esp-radio/ble"]
buttons = ["dep:async-button"]
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",
]
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",
"dep:esp-bootloader-esp-idf",
]
multicore = ["dep:esp-rtos"]
panic-handler = []
psram = ["heap"]
search-masks = []
serial-cmd = []
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.8.0"
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.0"
[dependencies.embedded-hal]
version = "1.0.0"
[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.1"
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.1"
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"
[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