[package]
name = "autd3-driver"
version = "22.0.1"
authors = ["shun suzuki <suzuki@hapis.k.u-tokyo.ac.jp>"]
edition = "2021"
license = "MIT"
description = "AUTD3 driver"
repository = "https://github.com/shinolab/autd3-rs"
readme = "README.md"
keywords = ["autd"]

[dependencies]
serde = { version = "1.0.188", features = ["derive"], optional = true }
bitflags = "2.0.2"
thiserror = "1.0.31"
nalgebra = { version = "0.32.3", default-features = false, features = ["std"] }
bitvec = "1.0.1"
tokio = { version = "1.34.0", features = ["time"] }
autd3-derive = { path = "../autd3-derive", version = "22.0.1" }
async-trait = { version = "0.1.77", optional = true }
num-complex = { version = "0.4.4", default-features = false, features = ["std"] }

[target.'cfg(windows)'.dependencies]
windows = { version = "0.52.0", features = ["Win32_Media_Multimedia", "Win32_System_Threading", "Win32_Foundation"] }

[target.'cfg(not(windows))'.dependencies]
libc = "0.2.144"

[dev-dependencies]
rand = "0.8.5"
assert_approx_eq = "1.1.0"
itertools = "0.12.0"
memoffset = "0.9.0"
serde_json = "1.0.107"
tokio = { version = "1.34.0", features = ["macros", "rt-multi-thread"] }
autd3 = { path = "../autd3", version = "22.0.1" }
anyhow = "1.0.79"

[features]
default = ["derive"]
single_float = []
async-trait = ["dep:async-trait"]
use_meter = []
serde = ["dep:serde"]
derive = []
