Trait pico_sdk::driver::PicoDriver[][src]

pub trait PicoDriver: Debug + Send + Sync {
    pub fn get_driver(&self) -> Driver;
pub fn get_version(&self) -> Result<String, PicoError>;
pub fn get_path(&self) -> Result<Option<String>, PicoError>;
pub fn enumerate_units(
        &self
    ) -> Result<Vec<EnumerationResult, Global>, PicoError>;
pub fn open_unit(&self, serial: Option<&str>) -> Result<i16, PicoError>;
pub fn ping_unit(&self, handle: i16) -> Result<(), PicoError>;
pub fn maximum_value(&self, handle: i16) -> Result<i16, PicoError>;
pub fn close(&self, handle: i16) -> Result<(), PicoError>;
pub fn get_unit_info(
        &self,
        handle: i16,
        info_type: PicoInfo
    ) -> Result<String, PicoError>;
pub fn get_channel_ranges(
        &self,
        handle: i16,
        channel: PicoChannel
    ) -> Result<Vec<PicoRange, Global>, PicoError>;
pub fn enable_channel(
        &self,
        handle: i16,
        channel: PicoChannel,
        config: &ChannelConfig
    ) -> Result<(), PicoError>;
pub fn disable_channel(
        &self,
        handle: i16,
        channel: PicoChannel
    ) -> Result<(), PicoError>;
pub fn set_data_buffer(
        &self,
        handle: i16,
        channel: PicoChannel,
        buffer: Arc<RwLock<RawRwLock, Pin<Vec<i16, Global>>>>,
        buffer_len: usize
    ) -> Result<(), PicoError>;
pub fn start_streaming(
        &self,
        handle: i16,
        sample_config: &SampleConfig
    ) -> Result<SampleConfig, PicoError>;
pub fn get_latest_streaming_values(
        &self,
        handle: i16,
        channels: &[PicoChannel],
        callback: Box<dyn FnMut(usize, usize) + 'a, Global>
    ) -> Result<(), PicoError>;
pub fn stop(&self, handle: i16) -> Result<(), PicoError>; pub fn check_version(&self) -> Result<(), DriverLoadError> { ... } }

Common trait implemented for every driver

Required methods

pub fn get_driver(&self) -> Driver[src]

Gets the underlying driver type

pub fn get_version(&self) -> Result<String, PicoError>[src]

Gets the driver version string

pub fn get_path(&self) -> Result<Option<String>, PicoError>[src]

Gets the path to the loaded driver

pub fn enumerate_units(
    &self
) -> Result<Vec<EnumerationResult, Global>, PicoError>
[src]

Returns a list of discovered serial numbers

pub fn open_unit(&self, serial: Option<&str>) -> Result<i16, PicoError>[src]

Opens a device, optionally with a specific serial number

pub fn ping_unit(&self, handle: i16) -> Result<(), PicoError>[src]

Ping a unit to see if it’s still connected

pub fn maximum_value(&self, handle: i16) -> Result<i16, PicoError>[src]

Get the maximum expected ADC value. This is required to scale to volts

pub fn close(&self, handle: i16) -> Result<(), PicoError>[src]

Close the specified unit

pub fn get_unit_info(
    &self,
    handle: i16,
    info_type: PicoInfo
) -> Result<String, PicoError>
[src]

Get one of the unit info strings

pub fn get_channel_ranges(
    &self,
    handle: i16,
    channel: PicoChannel
) -> Result<Vec<PicoRange, Global>, PicoError>
[src]

Get valid ranges for the specified channel

pub fn enable_channel(
    &self,
    handle: i16,
    channel: PicoChannel,
    config: &ChannelConfig
) -> Result<(), PicoError>
[src]

Set up a channel with the supplied config

pub fn disable_channel(
    &self,
    handle: i16,
    channel: PicoChannel
) -> Result<(), PicoError>
[src]

Disable a channel

pub fn set_data_buffer(
    &self,
    handle: i16,
    channel: PicoChannel,
    buffer: Arc<RwLock<RawRwLock, Pin<Vec<i16, Global>>>>,
    buffer_len: usize
) -> Result<(), PicoError>
[src]

Give the driver a buffer to write data into

pub fn start_streaming(
    &self,
    handle: i16,
    sample_config: &SampleConfig
) -> Result<SampleConfig, PicoError>
[src]

Starts the device streaming

pub fn get_latest_streaming_values(
    &self,
    handle: i16,
    channels: &[PicoChannel],
    callback: Box<dyn FnMut(usize, usize) + 'a, Global>
) -> Result<(), PicoError>
[src]

Gets the latest streaming values

pub fn stop(&self, handle: i16) -> Result<(), PicoError>[src]

Stops the device streaming

Loading content...

Provided methods

pub fn check_version(&self) -> Result<(), DriverLoadError>[src]

Check that the driver meets the minimum version tested with these wrappers

Loading content...

Implementors

impl PicoDriver for PS2000Driver[src]

impl PicoDriver for PS2000ADriver[src]

impl PicoDriver for PS3000ADriver[src]

impl PicoDriver for PS4000Driver[src]

impl PicoDriver for PS4000ADriver[src]

impl PicoDriver for PS5000ADriver[src]

impl PicoDriver for PS6000Driver[src]

impl PicoDriver for PS6000ADriver[src]

Loading content...