[package] name = "hal-sim" version = "0.5.1" edition = "2021" categories = ["embedded", "hardware-support", "simulation"] keywords = ["hal", "embedded", "simulation", "wasm"] description = "An embedded-hal and embedded-graphics Display simulator." repository = "https://github.com/ivmarkov/hal-sim" license = "MIT OR Apache-2.0" readme = "README.md" rust-version = "1.75" [patch.crates-io] yewdux-middleware = {git = "https://github.com/ivmarkov/yewdux-middleware" } [features] default = ["ui", "io"] sim = ["nb", "embedded-hal", "embedded-hal-async", "embedded-hal02", "embedded-graphics-core"] io = ["sim", "futures", "embassy-futures", "embassy-sync", "channel-bridge"] ui = ["yew", "yewdux", "yewdux-middleware", "wasm-logger", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "itertools", "gloo-timers", "gloo-net", "channel-bridge/wasm"] [dependencies] serde = { version = "1", default-features = false, features = ["derive"] } heapless = { version = "0.8", features = ["serde"] } log = "0.4" # sim nb = { version = "1", optional = true } embedded-hal02 = { package = "embedded-hal", version = "0.2", features = ["unproven"], optional = true } embedded-hal = { version = "1", optional = true } embedded-hal-async = { version = "1", optional = true } embedded-graphics-core = { version = "0.4", optional = true } # web futures = { version = "0.3", optional = true } embassy-futures = { version = "0.1", optional = true } embassy-sync = { version = "0.5", optional = true } channel-bridge = { version = "0.8", default-features = false, optional = true } # ui yew = { version = "0.21", default-features = false, optional = true, features = ["csr"] } yewdux = { version = "0.10", default-features = false, optional = true } yewdux-middleware = { version = "0.3", optional = true } wasm-logger = { version = "0.2", optional = true } wasm-bindgen = { version = "0.2", optional = true } wasm-bindgen-futures = { version = "0.4", optional = true } web-sys = { version = "0.3", optional = true, features = ["console", "CanvasRenderingContext2d", "ImageData", "HtmlCanvasElement"] } itertools = { version = "0.11", optional = true } gloo-timers = { version = "0.3", optional = true } gloo-net = { version = "0.4", optional = true, features = ["websocket"] }