[package] edition = "2024" name = "renderbug-bike" rust-version = "1.92" version = "0.1.0" default-run = "renderbug-bike" [[bin]] name = "renderbug-bike" path = "./src/bin/main.rs" [features] default = ["radio", "i2c", "mpu6050", "oled"] dual-core = [] simulation = [] radio = [ "dep:esp-radio", "dep:reqwless", "dep:trouble-host", "esp-rtos/esp-radio" ] i2c = ["dep:nmea"] mpu6050 = ["i2c", "dep:mpu6050-dmp"] max-usb-power = [] wokwi = ["max-usb-power"] oled = ["dep:ssd1306", "dep:display-interface"] rtt = ["dep:rtt-target"] demo = [] [dependencies] # The basic requirements for all features figments = { path = "../figments/figments/", features = ["alloc", "embedded-graphics", "log-04"] } figments-render = { path = "../figments/figments-render/", features = ["smart-leds", "micromath", "log-04"], default-features = false } figments-esp32-ws2812-dma = { path = "../figments/figments-esp32-ws2812-dma/", features = ["esp32s3"] } esp-bootloader-esp-idf = { version = "0.4.0", features = ["esp32s3"] } esp-hal = { version = "1.0.0", features = [ "esp32s3", "unstable", "log-04" ] } esp-alloc = { version = "0.9.0", default-features = false, features = ["internal-heap-stats"] } esp-backtrace = { version = "0.18", features = ["esp32s3", "halt-cores", "panic-handler", "println"] } esp-println = { version = "0.16", 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.9.0", default-features = false, features = [ "log", ] } embassy-time = { version = "0.5.0", default-features = false, features = ["log"] } esp-rtos = { version = "0.2.0", features = [ "embassy", "esp-alloc", "esp32s3", # "rtos-trace", "log-04" ] } log = "0.4" static_cell = "2.1.1" rgb = "0.8.52" 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"] } micromath = "2.1.0" enumset = "1.1.10" enum-map = "2.7.3" portable-atomic = { version = "1.11", features = ["critical-section"] } embassy-futures = { version = "0.1.2", features = ["log"] } embedded-graphics = { version = "0.8.1", features = ["nalgebra_support"] } ssd1306 = { version = "0.10.0", features = ["async"], optional = true } display-interface = { version = "0.5.0", optional = true } # Telemetry outputs esp-radio = { version = "*", optional = true, features = [ "esp-alloc", "esp32s3", "log-04", "wifi", "ble", "coex", "unstable" ] } embassy-net = { version = "0.7.1", features = ["alloc", "dns", "medium-ethernet", "proto-ipv4", "tcp", "udp", "dhcpv4"] } reqwless = { version = "0.13.0", optional = true, features = ["log", "alloc"] } trouble-host = { version = "0.5.1", optional = true, features = ["log"] } # Sensors nmea = { version = "0.7.0", optional = true, default-features = false, features = [ "GGA", "GSA", "GSV", "RMC", "VTG", "GLL", "GST", "all-sentences" ] } mpu6050-dmp = { version = "0.6.1", features = ["async"], optional = true } # RTT debugging rtt-target = { version = "0.6.2", optional = true } # Simulation esp-storage = { version = "0.7.0", features = ["esp32s3", "critical-section"] } embedded-storage = "0.3.1" rmp = { path = "../msgpack-rust/rmp/", default-features = false } heapless = { version = "0.9.1", features = ["portable-atomic"] } num-traits = { version = "0.2.19", default-features = false } rtos-trace = { version = "0.2.1", default-features = false, features = ["trace_impl"] } embedded-sdmmc = "0.9.0" embedded-hal-bus = "0.3.0" embedded-hal = "1.0.0" embedded-io = "0.6.1" [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 [profile.dev.package.esp-radio] opt-level = 3 [build-dependencies] image = "0.25" rmp = { path = "../msgpack-rust/rmp/" } csv = "1.3"