[package]
edition = "2021"
name = "mw75"
version = "0.0.6"
authors = ["Eugene Hauptmann"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust client for MW75 Neuro EEG headphones over BLE + RFCOMM using btleplug"
homepage = "https://github.com/eugenehp/mw75"
documentation = "https://docs.rs/mw75"
readme = "README.md"
keywords = [
"exg",
"eeg",
"mw75",
"neuro",
"bci",
]
license = "GPL-3.0"
repository = "https://github.com/eugenehp/mw75"
[features]
audio = [
"dep:bluer",
"dep:rodio",
"dep:tokio-stream",
]
default = ["tui"]
rfcomm = [
"dep:bluer",
"dep:objc2",
"dep:objc2-foundation",
"dep:objc2-io-bluetooth",
"dep:windows",
]
tui = [
"dep:ratatui",
"dep:crossterm",
]
[lib]
name = "mw75"
path = "src/lib.rs"
[[bin]]
name = "ble-probe"
path = "src/bin/ble_probe.rs"
required-features = ["rfcomm"]
[[bin]]
name = "mw75"
path = "src/main.rs"
[[bin]]
name = "mw75-audio"
path = "src/bin/audio.rs"
required-features = ["audio"]
[[bin]]
name = "mw75-tui"
path = "src/bin/tui.rs"
required-features = ["tui"]
[[bin]]
name = "rfcomm-debug"
path = "src/bin/rfcomm_debug.rs"
required-features = ["rfcomm"]
[[bin]]
name = "rfcomm-probe"
path = "src/bin/rfcomm_probe.rs"
required-features = ["rfcomm"]
[dependencies.anyhow]
version = "1"
[dependencies.btleplug]
version = "0.11.8"
[dependencies.env_logger]
version = "0.11"
[dependencies.futures]
version = "0.3"
[dependencies.log]
version = "0.4"
[dependencies.rand]
version = "0.9"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[target.'cfg(target_os = "linux")'.dependencies.bluer]
version = "0.17"
features = ["full"]
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2]
version = "0.6"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-foundation]
version = "0.3"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.objc2-io-bluetooth]
version = "0.3"
features = [
"IOBluetoothObject",
"IOBluetoothDevice",
"IOBluetoothRFCOMMChannel",
"IOBluetoothSDPServiceRecord",
"IOBluetoothSDPUUID",
"IOBluetoothUserNotification",
"IOBluetoothUserLib",
"Bluetooth",
]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Devices_Bluetooth",
"Devices_Bluetooth_Rfcomm",
"Networking_Sockets",
"Storage_Streams",
]
optional = true
[target."cfg(unix)".dependencies.crossterm]
version = "0.29"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(unix)".dependencies.ratatui]
version = "0.30.0"
features = ["crossterm"]
optional = true
[target."cfg(unix)".dependencies.rodio]
version = "0.19"
optional = true
[target."cfg(unix)".dependencies.tokio-stream]
version = "0.1"
optional = true