[package] edition = "2021" name = "renderbug-embassy" rust-version = "1.86" version = "0.1.0" [[bin]] name = "renderbug-embassy" path = "./src/bin/main.rs" [features] default = ["real-output", "oled"] real-output = [] simulation = ["dep:rmp"] radio = [ "dep:bleps", "dep:esp-wifi" ] motion = ["mpu", "gps"] max-usb-power = [] wokwi = ["max-usb-power"] mpu = ["dep:mpu6050-dmp"] gps = ["dep:nmea"] oled = ["dep:ssd1306", "dep:embedded-graphics"] demo = [] [dependencies] # The basic requirements for all features figments = { path = "../figments/figments/", features = ["alloc", "embedded-graphics"] } figments-render = { path = "../figments/figments-render/", features = ["smart-leds", "micromath"], default-features = false } esp-bootloader-esp-idf = { version = "0.2.0", features = ["esp32s3"] } esp-hal = { version = "=1.0.0-rc.0", features = [ "esp32s3", "log-04", "unstable", ] } esp-alloc = "0.8.0" esp-backtrace = { version = "0.17.0", features = [ "esp32s3", "exception-handler", "panic-handler", "println", ] } esp-println = { version = "0.15.0", features = ["esp32s3", "log-04"] } # for more networking protocol support see https://crates.io/crates/edge-net critical-section = "1.2.0" embassy-executor = { version = "0.7.0", features = [ "log", "task-arena-size-98304", ] } embassy-time = { version = "0.5.0", features = ["log"] } esp-hal-embassy = { version = "0.9.0", features = [ "esp32s3", "log-04" ] } log = "0.4.27" static_cell = "2.1.1" rgb = "0.8.52" # esp-hal-smartled = { version = "0.15.0", features = ["esp32c3"] } esp-hal-smartled = { git = "https://github.com/esp-rs/esp-hal-community.git", features = ["esp32s3"] } smart-leds = "0.4.0" embassy-sync = "0.7.2" embassy-embedded-hal = "0.5.0" embedded-hal-async = "1.0.0" nalgebra = { version = "0.33.2", default-features = false, features = ["alloc", "libm"] } xtensa-lx-rt = { version = "*", features = ["float-save-restore"] } futures = { version = "0.3.31", default-features = false, features = ["async-await"] } micromath = "2.1.0" # Telemetry outputs esp-wifi = { version = "0.15.0", optional = true, features = [ "builtin-scheduler", "esp-alloc", "esp32s3", "log-04", "wifi", "ble" ] } bleps = { git = "https://github.com/bjoernQ/bleps", optional = true, package = "bleps", rev = "a5148d8ae679e021b78f53fd33afb8bb35d0b62e", features = [ "macros", "async"] } embedded-graphics = { version = "0.8.1", features = ["nalgebra_support"], optional = true} ssd1306 = { version = "0.10.0", features = ["async"], optional = true } # Sensors nmea = { version = "0.7.0", optional = true, default-features = false, features = [ "GGA", "GSA", "GSV", "RMC", "VTG", "GLL", "GST", ] } mpu6050-dmp = { version = "0.6.1", features = ["async"], optional = true } # Simulation rmp = { version = "0.8.14", optional = true, default-features = false } [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 = 'fat' opt-level = 's' overflow-checks = false [build-dependencies] image = "0.25" rmp = "0.8" csv = "1.3"