PS3000Loader

Struct PS3000Loader 

Source
pub struct PS3000Loader {
Show 33 fields pub ps3000_apply_fix: Result<unsafe extern "C" fn(u32, u16), Error>, pub ps3000_open_unit: Result<unsafe extern "C" fn() -> i16, Error>, pub ps3000_get_unit_info: Result<unsafe extern "C" fn(handle: i16, string: *mut i8, string_length: i16, line: i16) -> i16, Error>, pub ps3000_flash_led: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>, pub ps3000_close_unit: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>, pub ps3000_set_channel: Result<unsafe extern "C" fn(handle: i16, channel: i16, enabled: i16, dc: i16, range: i16) -> i16, Error>, pub ps3000_get_timebase: Result<unsafe extern "C" fn(handle: i16, timebase: i16, no_of_samples: i32, time_interval: *mut i32, time_units: *mut i16, oversample: i16, max_samples: *mut i32) -> i16, Error>, pub ps3000_set_siggen: Result<unsafe extern "C" fn(handle: i16, wave_type: i16, start_frequency: i32, stop_frequency: i32, increment: f32, dwell_time: i16, repeat: i16, dual_slope: i16) -> i32, Error>, pub ps3000_set_ets: Result<unsafe extern "C" fn(handle: i16, mode: i16, ets_cycles: i16, ets_interleave: i16) -> i32, Error>, pub ps3000_set_trigger: Result<unsafe extern "C" fn(handle: i16, source: i16, threshold: i16, direction: i16, delay: i16, auto_trigger_ms: i16) -> i16, Error>, pub ps3000_set_trigger2: Result<unsafe extern "C" fn(handle: i16, source: i16, threshold: i16, direction: i16, delay: f32, auto_trigger_ms: i16) -> i16, Error>, pub ps3000_run_block: Result<unsafe extern "C" fn(handle: i16, no_of_values: i32, timebase: i16, oversample: i16, time_indisposed_ms: *mut i32) -> i16, Error>, pub ps3000_run_streaming_ns: Result<unsafe extern "C" fn(handle: i16, sample_interval: u32, time_units: PS3000_TIME_UNITS, max_samples: u32, auto_stop: i16, noOfSamplesPerAggregate: u32, overview_buffer_size: u32) -> i16, Error>, pub ps3000_run_streaming: Result<unsafe extern "C" fn(handle: i16, sample_interval_ms: i16, max_samples: i32, windowed: i16) -> i16, Error>, pub ps3000_ready: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>, pub ps3000_stop: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>, pub ps3000_get_values: Result<unsafe extern "C" fn(handle: i16, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, no_of_values: i32) -> i32, Error>, pub ps3000_release_stream_buffer: Result<unsafe extern "C" fn(handle: i16), Error>, pub ps3000_get_times_and_values: Result<unsafe extern "C" fn(handle: i16, times: *mut i32, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, time_units: i16, no_of_values: i32) -> i32, Error>, pub ps3000_open_unit_async: Result<unsafe extern "C" fn() -> i16, Error>, pub ps3000_open_unit_progress: Result<unsafe extern "C" fn(handle: *mut i16, progress_percent: *mut i16) -> i16, Error>, pub ps3000_streaming_ns_get_interval_stateless: Result<unsafe extern "C" fn(handle: i16, nChannels: i16, sample_interval: *mut u32) -> i16, Error>, pub ps3000_get_streaming_last_values: Result<unsafe extern "C" fn(handle: i16, lpGetOverviewBuffersMaxMin: GetOverviewBuffersMaxMin) -> i16, Error>, pub ps3000_overview_buffer_status: Result<unsafe extern "C" fn(handle: i16, previous_buffer_overrun: *mut i16) -> i16, Error>, pub ps3000_get_streaming_values: Result<unsafe extern "C" fn(handle: i16, start_time: *mut f64, pbuffer_a_max: *mut i16, pbuffer_a_min: *mut i16, pbuffer_b_max: *mut i16, pbuffer_b_min: *mut i16, pbuffer_c_max: *mut i16, pbuffer_c_min: *mut i16, pbuffer_d_max: *mut i16, pbuffer_d_min: *mut i16, overflow: *mut i16, triggerAt: *mut u32, triggered: *mut i16, no_of_values: u32, noOfSamplesPerAggregate: u32) -> u32, Error>, pub ps3000_get_streaming_values_no_aggregation: Result<unsafe extern "C" fn(handle: i16, start_time: *mut f64, pbuffer_a: *mut i16, pbuffer_b: *mut i16, pbuffer_c: *mut i16, pbuffer_d: *mut i16, overflow: *mut i16, triggerAt: *mut u32, trigger: *mut i16, no_of_values: u32) -> u32, Error>, pub ps3000_save_streaming_data: Result<unsafe extern "C" fn(handle: i16, lpCallbackFunc: PS3000_CALLBACK_FUNC, dataBuffers: *mut i16, dataBufferSize: i16) -> i16, Error>, pub ps3000SetAdvTriggerChannelProperties: Result<unsafe extern "C" fn(handle: i16, channelProperties: *mut TRIGGER_CHANNEL_PROPERTIES, nChannelProperties: i16, autoTriggerMilliseconds: i32) -> i16, Error>, pub ps3000SetAdvTriggerChannelConditions: Result<unsafe extern "C" fn(handle: i16, conditions: *mut TRIGGER_CONDITIONS, nConditions: i16) -> i16, Error>, pub ps3000SetAdvTriggerChannelDirections: Result<unsafe extern "C" fn(handle: i16, channelA: THRESHOLD_DIRECTION, channelB: THRESHOLD_DIRECTION, channelC: THRESHOLD_DIRECTION, channelD: THRESHOLD_DIRECTION, ext: THRESHOLD_DIRECTION) -> i16, Error>, pub ps3000SetPulseWidthQualifier: Result<unsafe extern "C" fn(handle: i16, conditions: *mut PWQ_CONDITIONS, nConditions: i16, direction: THRESHOLD_DIRECTION, lower: u32, upper: u32, type_: PULSE_WIDTH_TYPE) -> i16, Error>, pub ps3000SetAdvTriggerDelay: Result<unsafe extern "C" fn(handle: i16, delay: u32, preTriggerDelay: f32) -> i16, Error>, pub ps3000PingUnit: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>, /* private fields */
}

Fields§

§ps3000_apply_fix: Result<unsafe extern "C" fn(u32, u16), Error>§ps3000_open_unit: Result<unsafe extern "C" fn() -> i16, Error>§ps3000_get_unit_info: Result<unsafe extern "C" fn(handle: i16, string: *mut i8, string_length: i16, line: i16) -> i16, Error>§ps3000_flash_led: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>§ps3000_close_unit: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>§ps3000_set_channel: Result<unsafe extern "C" fn(handle: i16, channel: i16, enabled: i16, dc: i16, range: i16) -> i16, Error>§ps3000_get_timebase: Result<unsafe extern "C" fn(handle: i16, timebase: i16, no_of_samples: i32, time_interval: *mut i32, time_units: *mut i16, oversample: i16, max_samples: *mut i32) -> i16, Error>§ps3000_set_siggen: Result<unsafe extern "C" fn(handle: i16, wave_type: i16, start_frequency: i32, stop_frequency: i32, increment: f32, dwell_time: i16, repeat: i16, dual_slope: i16) -> i32, Error>§ps3000_set_ets: Result<unsafe extern "C" fn(handle: i16, mode: i16, ets_cycles: i16, ets_interleave: i16) -> i32, Error>§ps3000_set_trigger: Result<unsafe extern "C" fn(handle: i16, source: i16, threshold: i16, direction: i16, delay: i16, auto_trigger_ms: i16) -> i16, Error>§ps3000_set_trigger2: Result<unsafe extern "C" fn(handle: i16, source: i16, threshold: i16, direction: i16, delay: f32, auto_trigger_ms: i16) -> i16, Error>§ps3000_run_block: Result<unsafe extern "C" fn(handle: i16, no_of_values: i32, timebase: i16, oversample: i16, time_indisposed_ms: *mut i32) -> i16, Error>§ps3000_run_streaming_ns: Result<unsafe extern "C" fn(handle: i16, sample_interval: u32, time_units: PS3000_TIME_UNITS, max_samples: u32, auto_stop: i16, noOfSamplesPerAggregate: u32, overview_buffer_size: u32) -> i16, Error>§ps3000_run_streaming: Result<unsafe extern "C" fn(handle: i16, sample_interval_ms: i16, max_samples: i32, windowed: i16) -> i16, Error>§ps3000_ready: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>§ps3000_stop: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>§ps3000_get_values: Result<unsafe extern "C" fn(handle: i16, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, no_of_values: i32) -> i32, Error>§ps3000_release_stream_buffer: Result<unsafe extern "C" fn(handle: i16), Error>§ps3000_get_times_and_values: Result<unsafe extern "C" fn(handle: i16, times: *mut i32, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, time_units: i16, no_of_values: i32) -> i32, Error>§ps3000_open_unit_async: Result<unsafe extern "C" fn() -> i16, Error>§ps3000_open_unit_progress: Result<unsafe extern "C" fn(handle: *mut i16, progress_percent: *mut i16) -> i16, Error>§ps3000_streaming_ns_get_interval_stateless: Result<unsafe extern "C" fn(handle: i16, nChannels: i16, sample_interval: *mut u32) -> i16, Error>§ps3000_get_streaming_last_values: Result<unsafe extern "C" fn(handle: i16, lpGetOverviewBuffersMaxMin: GetOverviewBuffersMaxMin) -> i16, Error>§ps3000_overview_buffer_status: Result<unsafe extern "C" fn(handle: i16, previous_buffer_overrun: *mut i16) -> i16, Error>§ps3000_get_streaming_values: Result<unsafe extern "C" fn(handle: i16, start_time: *mut f64, pbuffer_a_max: *mut i16, pbuffer_a_min: *mut i16, pbuffer_b_max: *mut i16, pbuffer_b_min: *mut i16, pbuffer_c_max: *mut i16, pbuffer_c_min: *mut i16, pbuffer_d_max: *mut i16, pbuffer_d_min: *mut i16, overflow: *mut i16, triggerAt: *mut u32, triggered: *mut i16, no_of_values: u32, noOfSamplesPerAggregate: u32) -> u32, Error>§ps3000_get_streaming_values_no_aggregation: Result<unsafe extern "C" fn(handle: i16, start_time: *mut f64, pbuffer_a: *mut i16, pbuffer_b: *mut i16, pbuffer_c: *mut i16, pbuffer_d: *mut i16, overflow: *mut i16, triggerAt: *mut u32, trigger: *mut i16, no_of_values: u32) -> u32, Error>§ps3000_save_streaming_data: Result<unsafe extern "C" fn(handle: i16, lpCallbackFunc: PS3000_CALLBACK_FUNC, dataBuffers: *mut i16, dataBufferSize: i16) -> i16, Error>§ps3000SetAdvTriggerChannelProperties: Result<unsafe extern "C" fn(handle: i16, channelProperties: *mut TRIGGER_CHANNEL_PROPERTIES, nChannelProperties: i16, autoTriggerMilliseconds: i32) -> i16, Error>§ps3000SetAdvTriggerChannelConditions: Result<unsafe extern "C" fn(handle: i16, conditions: *mut TRIGGER_CONDITIONS, nConditions: i16) -> i16, Error>§ps3000SetAdvTriggerChannelDirections: Result<unsafe extern "C" fn(handle: i16, channelA: THRESHOLD_DIRECTION, channelB: THRESHOLD_DIRECTION, channelC: THRESHOLD_DIRECTION, channelD: THRESHOLD_DIRECTION, ext: THRESHOLD_DIRECTION) -> i16, Error>§ps3000SetPulseWidthQualifier: Result<unsafe extern "C" fn(handle: i16, conditions: *mut PWQ_CONDITIONS, nConditions: i16, direction: THRESHOLD_DIRECTION, lower: u32, upper: u32, type_: PULSE_WIDTH_TYPE) -> i16, Error>§ps3000SetAdvTriggerDelay: Result<unsafe extern "C" fn(handle: i16, delay: u32, preTriggerDelay: f32) -> i16, Error>§ps3000PingUnit: Result<unsafe extern "C" fn(handle: i16) -> i16, Error>

Implementations§

Source§

impl PS3000Loader

Source

pub unsafe fn new<P>(path: P) -> Result<Self, Error>
where P: AsRef<OsStr>,

Source

pub unsafe fn ps3000_apply_fix(&self, a: u32, b: u16)

Source

pub unsafe fn ps3000_open_unit(&self) -> i16

Source

pub unsafe fn ps3000_get_unit_info( &self, handle: i16, string: *mut i8, string_length: i16, line: i16, ) -> i16

Source

pub unsafe fn ps3000_flash_led(&self, handle: i16) -> i16

Source

pub unsafe fn ps3000_close_unit(&self, handle: i16) -> i16

Source

pub unsafe fn ps3000_set_channel( &self, handle: i16, channel: i16, enabled: i16, dc: i16, range: i16, ) -> i16

Source

pub unsafe fn ps3000_get_timebase( &self, handle: i16, timebase: i16, no_of_samples: i32, time_interval: *mut i32, time_units: *mut i16, oversample: i16, max_samples: *mut i32, ) -> i16

Source

pub unsafe fn ps3000_set_siggen( &self, handle: i16, wave_type: i16, start_frequency: i32, stop_frequency: i32, increment: f32, dwell_time: i16, repeat: i16, dual_slope: i16, ) -> i32

Source

pub unsafe fn ps3000_set_ets( &self, handle: i16, mode: i16, ets_cycles: i16, ets_interleave: i16, ) -> i32

Source

pub unsafe fn ps3000_set_trigger( &self, handle: i16, source: i16, threshold: i16, direction: i16, delay: i16, auto_trigger_ms: i16, ) -> i16

Source

pub unsafe fn ps3000_set_trigger2( &self, handle: i16, source: i16, threshold: i16, direction: i16, delay: f32, auto_trigger_ms: i16, ) -> i16

Source

pub unsafe fn ps3000_run_block( &self, handle: i16, no_of_values: i32, timebase: i16, oversample: i16, time_indisposed_ms: *mut i32, ) -> i16

Source

pub unsafe fn ps3000_run_streaming_ns( &self, handle: i16, sample_interval: u32, time_units: PS3000_TIME_UNITS, max_samples: u32, auto_stop: i16, noOfSamplesPerAggregate: u32, overview_buffer_size: u32, ) -> i16

Source

pub unsafe fn ps3000_run_streaming( &self, handle: i16, sample_interval_ms: i16, max_samples: i32, windowed: i16, ) -> i16

Source

pub unsafe fn ps3000_ready(&self, handle: i16) -> i16

Source

pub unsafe fn ps3000_stop(&self, handle: i16) -> i16

Source

pub unsafe fn ps3000_get_values( &self, handle: i16, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, no_of_values: i32, ) -> i32

Source

pub unsafe fn ps3000_release_stream_buffer(&self, handle: i16)

Source

pub unsafe fn ps3000_get_times_and_values( &self, handle: i16, times: *mut i32, buffer_a: *mut i16, buffer_b: *mut i16, buffer_c: *mut i16, buffer_d: *mut i16, overflow: *mut i16, time_units: i16, no_of_values: i32, ) -> i32

Source

pub unsafe fn ps3000_open_unit_async(&self) -> i16

Source

pub unsafe fn ps3000_open_unit_progress( &self, handle: *mut i16, progress_percent: *mut i16, ) -> i16

Source

pub unsafe fn ps3000_streaming_ns_get_interval_stateless( &self, handle: i16, nChannels: i16, sample_interval: *mut u32, ) -> i16

Source

pub unsafe fn ps3000_get_streaming_last_values( &self, handle: i16, lpGetOverviewBuffersMaxMin: GetOverviewBuffersMaxMin, ) -> i16

Source

pub unsafe fn ps3000_overview_buffer_status( &self, handle: i16, previous_buffer_overrun: *mut i16, ) -> i16

Source

pub unsafe fn ps3000_get_streaming_values( &self, handle: i16, start_time: *mut f64, pbuffer_a_max: *mut i16, pbuffer_a_min: *mut i16, pbuffer_b_max: *mut i16, pbuffer_b_min: *mut i16, pbuffer_c_max: *mut i16, pbuffer_c_min: *mut i16, pbuffer_d_max: *mut i16, pbuffer_d_min: *mut i16, overflow: *mut i16, triggerAt: *mut u32, triggered: *mut i16, no_of_values: u32, noOfSamplesPerAggregate: u32, ) -> u32

Source

pub unsafe fn ps3000_get_streaming_values_no_aggregation( &self, handle: i16, start_time: *mut f64, pbuffer_a: *mut i16, pbuffer_b: *mut i16, pbuffer_c: *mut i16, pbuffer_d: *mut i16, overflow: *mut i16, triggerAt: *mut u32, trigger: *mut i16, no_of_values: u32, ) -> u32

Source

pub unsafe fn ps3000_save_streaming_data( &self, handle: i16, lpCallbackFunc: PS3000_CALLBACK_FUNC, dataBuffers: *mut i16, dataBufferSize: i16, ) -> i16

Source

pub unsafe fn ps3000SetAdvTriggerChannelProperties( &self, handle: i16, channelProperties: *mut TRIGGER_CHANNEL_PROPERTIES, nChannelProperties: i16, autoTriggerMilliseconds: i32, ) -> i16

Source

pub unsafe fn ps3000SetAdvTriggerChannelConditions( &self, handle: i16, conditions: *mut TRIGGER_CONDITIONS, nConditions: i16, ) -> i16

Source

pub unsafe fn ps3000SetAdvTriggerChannelDirections( &self, handle: i16, channelA: THRESHOLD_DIRECTION, channelB: THRESHOLD_DIRECTION, channelC: THRESHOLD_DIRECTION, channelD: THRESHOLD_DIRECTION, ext: THRESHOLD_DIRECTION, ) -> i16

Source

pub unsafe fn ps3000SetPulseWidthQualifier( &self, handle: i16, conditions: *mut PWQ_CONDITIONS, nConditions: i16, direction: THRESHOLD_DIRECTION, lower: u32, upper: u32, type_: PULSE_WIDTH_TYPE, ) -> i16

Source

pub unsafe fn ps3000SetAdvTriggerDelay( &self, handle: i16, delay: u32, preTriggerDelay: f32, ) -> i16

Source

pub unsafe fn ps3000PingUnit(&self, handle: i16) -> i16

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.