[package]
edition = "2024"
name = "desperado"
version = "0.2.1"
authors = ["Xavier Olive <git@xoolive.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Iterate and stream I/Q samples from stdin, files, TCP streams and SDR devices"
documentation = "https://docs.rs/desperado"
readme = "readme.md"
keywords = [
"radio",
"decoder",
"sdr",
"dsp",
]
license = "MIT"
repository = "https://github.com/xoolive/desperado"
[features]
adaptive = ["dep:rubato"]
audio = [
"adaptive",
"dep:tinyaudio",
"dep:crossbeam",
"rtlsdr",
"soapy",
"clap",
]
clap = ["dep:clap"]
default = []
pluto = [
"dep:pluto-sdr",
"dep:industrial-io",
]
rtlsdr = [
"dep:rtl-sdr-rs",
"dep:rusb",
]
soapy = ["dep:soapysdr"]
waterfall = [
"dep:plotters",
"dep:rustfft",
"clap",
]
[lib]
name = "desperado"
path = "src/lib.rs"
[[example]]
name = "file_iter"
path = "examples/file_iter.rs"
required-features = ["clap"]
[[example]]
name = "file_stream"
path = "examples/file_stream.rs"
required-features = ["clap"]
[[example]]
name = "rtlsdr_fm"
path = "examples/rtlsdr_fm.rs"
required-features = ["audio"]
[[example]]
name = "waterfall"
path = "examples/waterfall.rs"
required-features = ["waterfall"]
[[test]]
name = "helpers"
path = "tests/helpers.rs"
[[test]]
name = "iq_conversion_test"
path = "tests/iq_conversion_test.rs"
[[test]]
name = "iqread_test"
path = "tests/iqread_test.rs"
[dependencies.clap]
version = "4.5.53"
features = [
"color",
"derive",
"wrap_help",
"env",
]
optional = true
[dependencies.crossbeam]
version = "0.8.4"
optional = true
[dependencies.dirs]
version = "6.0.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.industrial-io]
version = "0.5.2"
optional = true
[dependencies.num-complex]
version = "0.4.6"
[dependencies.plotters]
version = "0.3.7"
optional = true
[dependencies.pluto-sdr]
version = "0.1.1"
optional = true
[dependencies.rtl-sdr-rs]
version = "0.2"
optional = true
[dependencies.rubato]
version = "0.16.2"
optional = true
[dependencies.rusb]
version = "0.9"
optional = true
[dependencies.rustfft]
version = "6.4.1"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.soapysdr]
version = "0.4.4"
optional = true
[dependencies.tinyaudio]
version = "2.0.0"
optional = true
[dependencies.tokio]
version = "1.48.0"
features = ["full"]
[dev-dependencies.approx]
version = "0.5.1"