Crates.io | seify |
lib.rs | seify |
version | |
source | src |
created_at | 2022-12-31 06:55:23.32584 |
updated_at | 2024-11-08 10:22:28.264092 |
description | Shiny Samples from your Rusty SDR |
homepage | https://www.futuresdr.org |
repository | https://github.com/FutureSDR/seify |
max_upload_size | |
id | 748274 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
A clear path towards a great Rust SDR driver ecosystem.
rusb
, which vendors libusb
.To add a new SDR driver, add a struct, implementing the DeviceTrait
in the src/impls
folder and add feature-gated logic for the driver to the probing/enumeration logic in src/device.rs
.
At the moment, Seify is designed to commit the driver implementations upstream, i.e., there is no plugin system. This will probably be added but is no priority at the moment. While this concentrates maintenance efforts on Seify, it simplifies things for the user, who just add Seify to the project and enables feature flags for their SDR.
use num_complex::Complex32;
use seify::Device;
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let dev = Device::new()?;
let mut samps = [Complex32::new(0.0, 0.0); 1024];
let mut rx = dev.rx_streamer(&[0])?;
rx.activate()?;
let n = rx.read(&mut [&mut samps], 200000)?;
println!("read {n} samples");
Ok(())
}