#streaming #oscilloscope #pico-scope #pico-technology

pico-device

Unofficial Rust bindings and wrappers for Pico Technology oscilloscope drivers

7 releases

0.3.1 May 12, 2021
0.3.0 Apr 14, 2021
0.2.1 Mar 26, 2021
0.1.4 Nov 18, 2020

#1489 in Hardware support


Used in 3 crates

MIT license

190KB
4.5K SLoC

pico-device

PicoDevice implementation for 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.

When a PicoDevice is created, it is opened, its channels and capabilities are automatically detected and then it is closed.

Example

use pico_common::Driver;
use pico_driver::LoadDriverExt;
use pico_device::PicoDevice;

// Load the required driver
let driver = Driver::PS2000.try_load()?;

// Try and open the first available ps2000 device
let device1 = PicoDevice::try_open(&driver, None)?;

// Try and open devices by serial
let device2 = PicoDevice::try_open(&driver, Some("ABC/123"))?;
let device3 = PicoDevice::try_open(&driver, Some("ABC/987"))?;

License: MIT


lib.rs:

PicoDevice implementation for 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.

When a PicoDevice is created, it is opened, its channels and capabilities are automatically detected and then it is closed.

Example

use pico_common::Driver;
use pico_driver::LoadDriverExt;
use pico_device::PicoDevice;

// Load the required driver
let driver = Driver::PS2000.try_load()?;

// Try and open the first available ps2000 device
let device1 = PicoDevice::try_open(&driver, None)?;

// Try and open devices by serial
let device2 = PicoDevice::try_open(&driver, Some("ABC/123"))?;
let device3 = PicoDevice::try_open(&driver, Some("ABC/987"))?;

Dependencies

~4MB
~83K SLoC