Streams gap-less data from Pico Technology oscilloscope drivers.
This is a sub crate that you probably don't want to use directly. Try the top level
pico-sdk
crate which exposes everything from here.
Once streaming is started, a PicoStreamingDevice
returns StreamingEvent
s. The possible events
and Connected
, Disconnected
and Data
. The Data
event contains raw Vec<i16>
samples for
each enabled channel that can easily be scaled to the channel units (ie. Volts, Amps, etc).
```rust
// Get a streaming device from a configured PicoDevice let streamdevice = device.tostreaming_device();
// Subscribe to streaming events on a background thread
let streamsubscription = streamdevice
.events
.subscribeonthread(Box::new(move |event| {
// Handle the data event
if let StreamingEvent::Data { length, samplespersecond, channels } = event
{
// iterate though the channels
for (ch, rawblock) in channels.iter() {
// Scale all the raw samples
let scaledsamples: Vec
// Start streaming with a sample rate of 1k streamdevice.start(1000)?; ```
License: MIT