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(i16, *mut i8, i16, i16) -> i16, Error>,
pub ps3000_flash_led: Result<unsafe extern "C" fn(i16) -> i16, Error>,
pub ps3000_close_unit: Result<unsafe extern "C" fn(i16) -> i16, Error>,
pub ps3000_set_channel: Result<unsafe extern "C" fn(i16, i16, i16, i16, i16) -> i16, Error>,
pub ps3000_get_timebase: Result<unsafe extern "C" fn(i16, i16, i32, *mut i32, *mut i16, i16, *mut i32) -> i16, Error>,
pub ps3000_set_siggen: Result<unsafe extern "C" fn(i16, i16, i32, i32, f32, i16, i16, i16) -> i32, Error>,
pub ps3000_set_ets: Result<unsafe extern "C" fn(i16, i16, i16, i16) -> i32, Error>,
pub ps3000_set_trigger: Result<unsafe extern "C" fn(i16, i16, i16, i16, i16, i16) -> i16, Error>,
pub ps3000_set_trigger2: Result<unsafe extern "C" fn(i16, i16, i16, i16, f32, i16) -> i16, Error>,
pub ps3000_run_block: Result<unsafe extern "C" fn(i16, i32, i16, i16, *mut i32) -> i16, Error>,
pub ps3000_run_streaming_ns: Result<unsafe extern "C" fn(i16, u32, u32, u32, i16, u32, u32) -> i16, Error>,
pub ps3000_run_streaming: Result<unsafe extern "C" fn(i16, i16, i32, i16) -> i16, Error>,
pub ps3000_ready: Result<unsafe extern "C" fn(i16) -> i16, Error>,
pub ps3000_stop: Result<unsafe extern "C" fn(i16) -> i16, Error>,
pub ps3000_get_values: Result<unsafe extern "C" fn(i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, i32) -> i32, Error>,
pub ps3000_release_stream_buffer: Result<unsafe extern "C" fn(i16), Error>,
pub ps3000_get_times_and_values: Result<unsafe extern "C" fn(i16, *mut i32, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, i16, 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(*mut i16, *mut i16) -> i16, Error>,
pub ps3000_streaming_ns_get_interval_stateless: Result<unsafe extern "C" fn(i16, i16, *mut u32) -> i16, Error>,
pub ps3000_get_streaming_last_values: Result<unsafe extern "C" fn(i16, Option<extern "C" fn(*mut *mut i16, i16, u32, i16, i16, u32)>) -> i16, Error>,
pub ps3000_overview_buffer_status: Result<unsafe extern "C" fn(i16, *mut i16) -> i16, Error>,
pub ps3000_get_streaming_values: Result<unsafe extern "C" fn(i16, *mut f64, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut u32, *mut i16, u32, u32) -> u32, Error>,
pub ps3000_get_streaming_values_no_aggregation: Result<unsafe extern "C" fn(i16, *mut f64, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut u32, *mut i16, u32) -> u32, Error>,
pub ps3000_save_streaming_data: Result<unsafe extern "C" fn(i16, Option<unsafe extern "C" fn(*mut i16, i16) -> i16>, *mut i16, i16) -> i16, Error>,
pub ps3000SetAdvTriggerChannelProperties: Result<unsafe extern "C" fn(i16, *mut tTriggerChannelProperties, i16, i32) -> i16, Error>,
pub ps3000SetAdvTriggerChannelConditions: Result<unsafe extern "C" fn(i16, *mut tTriggerConditions, i16) -> i16, Error>,
pub ps3000SetAdvTriggerChannelDirections: Result<unsafe extern "C" fn(i16, u32, u32, u32, u32, u32) -> i16, Error>,
pub ps3000SetPulseWidthQualifier: Result<unsafe extern "C" fn(i16, *mut tPwqConditions, i16, u32, u32, u32, u32) -> i16, Error>,
pub ps3000SetAdvTriggerDelay: Result<unsafe extern "C" fn(i16, u32, f32) -> i16, Error>,
pub ps3000PingUnit: Result<unsafe extern "C" fn(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(i16, *mut i8, i16, i16) -> i16, Error>
§ps3000_flash_led: Result<unsafe extern "C" fn(i16) -> i16, Error>
§ps3000_close_unit: Result<unsafe extern "C" fn(i16) -> i16, Error>
§ps3000_set_channel: Result<unsafe extern "C" fn(i16, i16, i16, i16, i16) -> i16, Error>
§ps3000_get_timebase: Result<unsafe extern "C" fn(i16, i16, i32, *mut i32, *mut i16, i16, *mut i32) -> i16, Error>
§ps3000_set_siggen: Result<unsafe extern "C" fn(i16, i16, i32, i32, f32, i16, i16, i16) -> i32, Error>
§ps3000_set_ets: Result<unsafe extern "C" fn(i16, i16, i16, i16) -> i32, Error>
§ps3000_set_trigger: Result<unsafe extern "C" fn(i16, i16, i16, i16, i16, i16) -> i16, Error>
§ps3000_set_trigger2: Result<unsafe extern "C" fn(i16, i16, i16, i16, f32, i16) -> i16, Error>
§ps3000_run_block: Result<unsafe extern "C" fn(i16, i32, i16, i16, *mut i32) -> i16, Error>
§ps3000_run_streaming_ns: Result<unsafe extern "C" fn(i16, u32, u32, u32, i16, u32, u32) -> i16, Error>
§ps3000_run_streaming: Result<unsafe extern "C" fn(i16, i16, i32, i16) -> i16, Error>
§ps3000_ready: Result<unsafe extern "C" fn(i16) -> i16, Error>
§ps3000_stop: Result<unsafe extern "C" fn(i16) -> i16, Error>
§ps3000_get_values: Result<unsafe extern "C" fn(i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, i32) -> i32, Error>
§ps3000_release_stream_buffer: Result<unsafe extern "C" fn(i16), Error>
§ps3000_get_times_and_values: Result<unsafe extern "C" fn(i16, *mut i32, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, i16, i32) -> i32, Error>
§ps3000_open_unit_async: Result<unsafe extern "C" fn() -> i16, Error>
§ps3000_open_unit_progress: Result<unsafe extern "C" fn(*mut i16, *mut i16) -> i16, Error>
§ps3000_streaming_ns_get_interval_stateless: Result<unsafe extern "C" fn(i16, i16, *mut u32) -> i16, Error>
§ps3000_get_streaming_last_values: Result<unsafe extern "C" fn(i16, Option<extern "C" fn(*mut *mut i16, i16, u32, i16, i16, u32)>) -> i16, Error>
§ps3000_overview_buffer_status: Result<unsafe extern "C" fn(i16, *mut i16) -> i16, Error>
§ps3000_get_streaming_values: Result<unsafe extern "C" fn(i16, *mut f64, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut u32, *mut i16, u32, u32) -> u32, Error>
§ps3000_get_streaming_values_no_aggregation: Result<unsafe extern "C" fn(i16, *mut f64, *mut i16, *mut i16, *mut i16, *mut i16, *mut i16, *mut u32, *mut i16, u32) -> u32, Error>
§ps3000_save_streaming_data: Result<unsafe extern "C" fn(i16, Option<unsafe extern "C" fn(*mut i16, i16) -> i16>, *mut i16, i16) -> i16, Error>
§ps3000SetAdvTriggerChannelProperties: Result<unsafe extern "C" fn(i16, *mut tTriggerChannelProperties, i16, i32) -> i16, Error>
§ps3000SetAdvTriggerChannelConditions: Result<unsafe extern "C" fn(i16, *mut tTriggerConditions, i16) -> i16, Error>
§ps3000SetAdvTriggerChannelDirections: Result<unsafe extern "C" fn(i16, u32, u32, u32, u32, u32) -> i16, Error>
§ps3000SetPulseWidthQualifier: Result<unsafe extern "C" fn(i16, *mut tPwqConditions, i16, u32, u32, u32, u32) -> i16, Error>
§ps3000SetAdvTriggerDelay: Result<unsafe extern "C" fn(i16, u32, f32) -> i16, Error>
§ps3000PingUnit: Result<unsafe extern "C" fn(i16) -> i16, Error>
Implementations§
Source§impl PS3000Loader
impl PS3000Loader
pub unsafe fn new<P>(path: P) -> Result<PS3000Loader, Error>
pub unsafe fn ps3000_apply_fix(&self, a: u32, b: u16)
pub unsafe fn ps3000_open_unit(&self) -> i16
pub unsafe fn ps3000_get_unit_info( &self, handle: i16, string: *mut i8, string_length: i16, line: i16, ) -> i16
pub unsafe fn ps3000_flash_led(&self, handle: i16) -> i16
pub unsafe fn ps3000_close_unit(&self, handle: i16) -> i16
pub unsafe fn ps3000_set_channel( &self, handle: i16, channel: i16, enabled: i16, dc: i16, range: i16, ) -> i16
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
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
pub unsafe fn ps3000_set_ets( &self, handle: i16, mode: i16, ets_cycles: i16, ets_interleave: i16, ) -> i32
pub unsafe fn ps3000_set_trigger( &self, handle: i16, source: i16, threshold: i16, direction: i16, delay: i16, auto_trigger_ms: i16, ) -> i16
pub unsafe fn ps3000_set_trigger2( &self, handle: i16, source: i16, threshold: i16, direction: i16, delay: f32, auto_trigger_ms: i16, ) -> i16
pub unsafe fn ps3000_run_block( &self, handle: i16, no_of_values: i32, timebase: i16, oversample: i16, time_indisposed_ms: *mut i32, ) -> i16
pub unsafe fn ps3000_run_streaming_ns( &self, handle: i16, sample_interval: u32, time_units: u32, max_samples: u32, auto_stop: i16, noOfSamplesPerAggregate: u32, overview_buffer_size: u32, ) -> i16
pub unsafe fn ps3000_run_streaming( &self, handle: i16, sample_interval_ms: i16, max_samples: i32, windowed: i16, ) -> i16
pub unsafe fn ps3000_ready(&self, handle: i16) -> i16
pub unsafe fn ps3000_stop(&self, handle: i16) -> i16
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
pub unsafe fn ps3000_release_stream_buffer(&self, handle: i16)
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
pub unsafe fn ps3000_open_unit_async(&self) -> i16
pub unsafe fn ps3000_open_unit_progress( &self, handle: *mut i16, progress_percent: *mut i16, ) -> i16
pub unsafe fn ps3000_streaming_ns_get_interval_stateless( &self, handle: i16, nChannels: i16, sample_interval: *mut u32, ) -> i16
pub unsafe fn ps3000_get_streaming_last_values( &self, handle: i16, lpGetOverviewBuffersMaxMin: Option<extern "C" fn(*mut *mut i16, i16, u32, i16, i16, u32)>, ) -> i16
pub unsafe fn ps3000_overview_buffer_status( &self, handle: i16, previous_buffer_overrun: *mut i16, ) -> i16
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
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
pub unsafe fn ps3000_save_streaming_data( &self, handle: i16, lpCallbackFunc: Option<unsafe extern "C" fn(*mut i16, i16) -> i16>, dataBuffers: *mut i16, dataBufferSize: i16, ) -> i16
pub unsafe fn ps3000SetAdvTriggerChannelProperties( &self, handle: i16, channelProperties: *mut tTriggerChannelProperties, nChannelProperties: i16, autoTriggerMilliseconds: i32, ) -> i16
pub unsafe fn ps3000SetAdvTriggerChannelConditions( &self, handle: i16, conditions: *mut tTriggerConditions, nConditions: i16, ) -> i16
pub unsafe fn ps3000SetAdvTriggerChannelDirections( &self, handle: i16, channelA: u32, channelB: u32, channelC: u32, channelD: u32, ext: u32, ) -> i16
pub unsafe fn ps3000SetPulseWidthQualifier( &self, handle: i16, conditions: *mut tPwqConditions, nConditions: i16, direction: u32, lower: u32, upper: u32, type_: u32, ) -> i16
pub unsafe fn ps3000SetAdvTriggerDelay( &self, handle: i16, delay: u32, preTriggerDelay: f32, ) -> i16
pub unsafe fn ps3000PingUnit(&self, handle: i16) -> i16
Auto Trait Implementations§
impl Freeze for PS3000Loader
impl !RefUnwindSafe for PS3000Loader
impl Send for PS3000Loader
impl Sync for PS3000Loader
impl Unpin for PS3000Loader
impl !UnwindSafe for PS3000Loader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more