[package] name = "acid-firmware" version = "0.1.0" authors = ['Jakub "Limeth" Hlusička'] description = "Firmware for the ACID keyboard" homepage = "https://github.com/haobogu/rmk" repository = "https://github.com/haobogu/rmk" edition = "2024" [features] default = ["ble", "usb-log"] no-usb = ["rmk/_no_usb"] ble = ["rmk/esp32s3_ble"] # Use alternative logging via GPIO5 as RX and GPIO12 as TX. # Disables default logging via USB. # Does not support esp-println's `println!`. alt-log = [] # Standard logging implementation over USB. usb-log = ["esp-backtrace/panic-handler"] [dependencies] rmk = { version = "0.8.2", default-features = false, features = [ "log", "storage", "vial", ] } embassy-executor = { version = "0.9", features = ["log"] } embassy-time = { version = "0.5.0", features = ["log"] } embassy-embedded-hal = "0.5.0" embassy-sync = { version = "0.7.2", features = ["log"] } esp-backtrace = { version = "0.18", default-features = false, features = [ "esp32s3", "println", ] } esp-hal = { version = "1.0", features = ["esp32s3", "unstable", "psram", "log-04"] } esp-storage = { version = "0.8.0", features = ["esp32s3"] } esp-alloc = { version = "0.9.0" } esp-println = { version = "0.16.0", features = ["esp32s3", "log-04"] } esp-radio = { version = "0.17", features = ["esp32s3", "unstable", "ble"] } esp-rtos = { version = "0.2", features = ["esp32s3", "esp-radio", "embassy"] } esp-bootloader-esp-idf = { version = "0.4", features = ["esp32s3", "log-04"] } bt-hci = { version = "0.6" } rand_core = { version = "0.6", default-features = false } static_cell = "2" lazy_static = { version = "1.5.0", features = ["spin_no_std"], default-features = false } log = "0.4.29" bitflags = "2.10.0" paste = "1.0.15" itertools = { version = "0.14.0", default-features = false } bytemuck = "1.24.0" slint = { version = "1.14.1", default-features = false, features = ["compat-1-2", "libm", "log", "unsafe-single-threaded", "renderer-software"]} critical-section = "1.2.0" # Crates for serial UART CLI embedded-cli = { version = "0.2.1", default-features = false, features = ["help", "macros"] } embedded-io = "0.6.1" [build-dependencies] xz2 = "0.1.7" json = "0.12" const-gen = "1.6" embuild = "0.33" cc = "1.2.9" slint-build = "1.14.1" gix = { version = "0.76.0", default-features = false, features = ["max-performance", "status"] } [[bin]] name = "acid-firmware" test = false bench = false [profile.release-with-debug] inherits = "release" debug = true [profile.dev.package.esp-storage] opt-level = 3 [profile.dev] # Rust debug is too slow. # For debug builds always builds with some optimization opt-level = "s" [profile.release] codegen-units = 1 # LLVM can perform better optimizations using a single thread debug = 2 debug-assertions = false incremental = false lto = 'thin' opt-level = 3 overflow-checks = false