[package] name = "server" version = "0.1.0" edition = "2024" rust-version = "1.86" [lints] workspace = true [dependencies] ethercrab = "0.6" ethercat_hal = { path = "../ethercat-hal" } control_core = { path = "../control-core" } units = { path = "../units" } machines = { path = "../machines"} serde = "1.0.217" anyhow = "1.0.100" bitvec = "1.0.1" libc = "0.2" # concurrency smol = "2.0.2" tokio = { version = "1.45.1", features = ["rt-multi-thread"] } regex = "1.11.3" # web serde_json = "1.0.143" socketioxide = { version = "0.17.2", features = ["msgpack"] } tower-http = { version = "0.6.6", features = ["cors", "trace", "fs"] } axum = { version = "0.8.6", features = ["macros"] } # serial serialport = "4.7.3" #tracing tracing = { version = "0.1.41", features = ["attributes"] } tracing-journald = { version = "0.3.1", optional = true } tracing-subscriber = { version = "0.3.20", features = [ "env-filter", "chrono", "registry", ] } utils = { version = "0.1.0", path="../utils" } spin_sleep = "1.3.3" dhat = { version = "0.3.3", optional = true } ctrlc = { version = "3.3", optional = true } [dev-dependencies] approx = "0.5.1" textplots = "0.8.7" [features] default = ["tracing-fmt"] never_type = [] tracing-fmt = [] tracing-journald = ["dep:tracing-journald"] mock-machine = [] memory-locking = [] io-uring = [] development-build = ["ctrlc"] heap-profile = ["dhat"] [profile.release] codegen-units = 1 lto = "fat"