Skip to content

Instantly share code, notes, and snippets.

@dylanede
Last active May 20, 2017 13:29
Show Gist options
  • Save dylanede/6aaafb9f7eb4e330bf77c2fb724d01ea to your computer and use it in GitHub Desktop.
Save dylanede/6aaafb9f7eb4e330bf77c2fb724d01ea to your computer and use it in GitHub Desktop.
Possible API for LimeSuite in Rust
let specs = lime_suite::connected_devices()?;
let device = specs[0].open()?.unwrap();
device.init()?; // put into default state
device.set_sample_rate(10.0e6)?;
let channel = &device.channels(Dir::Rx)?[0];
channel.set_enabled(true)?;
channel.set_frequency(1575.42e6)?;
channel.antennas()?["LNA_H"].select()?;
let stream = channel.create_stream(StreamConfig::<i16> {
fifo_size: 1024 * 128,
throughput_vs_latency: 1.0
})?;
let len = 16384;
let mut buffer = vec![Sample::zero(); len];
stream.start()?;
for i in 0..100 {
let samples_read = stream.read(&mut buffer, Some(Timestamp(i*len)), Flush(false), Duration::milliseconds(200))?;
let samples = &buffer[0..samples_read];
// do stuff with samples here
}
stream.stop()?;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment