1pub const DIGITAL_PORT_SERIAL_LENGTH: u32 = 10;
2pub const DIGITAL_PORT_CALIBRATION_DATE_LENGTH: u32 = 8;
3pub const PS5000A_MAX_VALUE_8BIT: u32 = 32512;
4pub const PS5000A_MIN_VALUE_8BIT: i32 = -32512;
5pub const PS5000A_MAX_VALUE_16BIT: u32 = 32767;
6pub const PS5000A_MIN_VALUE_16BIT: i32 = -32767;
7pub const PS5000A_EXT_MAX_VALUE: u32 = 32767;
8pub const PS5000A_EXT_MIN_VALUE: i32 = -32767;
9pub const PS5X42A_MAX_SIG_GEN_BUFFER_SIZE: u32 = 16384;
10pub const PS5X43A_MAX_SIG_GEN_BUFFER_SIZE: u32 = 32768;
11pub const PS5X44A_MAX_SIG_GEN_BUFFER_SIZE: u32 = 49152;
12pub const PS5X4XD_MAX_SIG_GEN_BUFFER_SIZE: u32 = 32768;
13pub const MIN_SIG_GEN_BUFFER_SIZE: u32 = 1;
14pub const MIN_DWELL_COUNT: u32 = 3;
15pub const MAX_SWEEPS_SHOTS: u32 = 1073741823;
16pub const AWG_DAC_FREQUENCY: f64 = 200000000.0;
17pub const PS5000AB_DDS_FREQUENCY: f64 = 200000000.0;
18pub const PS5000D_DDS_FREQUENCY: f64 = 100000000.0;
19pub const AWG_PHASE_ACCUMULATOR: f64 = 4294967296.0;
20pub const MAX_ANALOGUE_OFFSET_50MV_200MV: f64 = 0.25;
21pub const MIN_ANALOGUE_OFFSET_50MV_200MV: f64 = -0.25;
22pub const MAX_ANALOGUE_OFFSET_500MV_2V: f64 = 2.5;
23pub const MIN_ANALOGUE_OFFSET_500MV_2V: f64 = -2.5;
24pub const MAX_ANALOGUE_OFFSET_5V_20V: f64 = 20.0;
25pub const MIN_ANALOGUE_OFFSET_5V_20V: f64 = -20.0;
26pub const PS5244A_MAX_ETS_CYCLES: u32 = 500;
27pub const PS5244A_MAX_ETS_INTERLEAVE: u32 = 40;
28pub const PS5243A_MAX_ETS_CYCLES: u32 = 250;
29pub const PS5243A_MAX_ETS_INTERLEAVE: u32 = 20;
30pub const PS5242A_MAX_ETS_CYCLES: u32 = 125;
31pub const PS5242A_MAX_ETS_INTERLEAVE: u32 = 10;
32pub const PS5X44D_MAX_ETS_CYCLES: u32 = 500;
33pub const PS5X44D_MAX_ETS_INTERLEAVE: u32 = 80;
34pub const PS5X43D_MAX_ETS_CYCLES: u32 = 250;
35pub const PS5X43D_MAX_ETS_INTERLEAVE: u32 = 40;
36pub const PS5X42D_MAX_ETS_CYCLES: u32 = 125;
37pub const PS5X42D_MAX_ETS_INTERLEAVE: u32 = 5;
38pub const PS5000A_SHOT_SWEEP_TRIGGER_CONTINUOUS_RUN: u32 = 4294967295;
39pub const PS5000A_SINE_MAX_FREQUENCY: f64 = 20000000.0;
40pub const PS5000A_SQUARE_MAX_FREQUENCY: f64 = 20000000.0;
41pub const PS5000A_TRIANGLE_MAX_FREQUENCY: f64 = 20000000.0;
42pub const PS5000A_SINC_MAX_FREQUENCY: f64 = 20000000.0;
43pub const PS5000A_RAMP_MAX_FREQUENCY: f64 = 20000000.0;
44pub const PS5000A_HALF_SINE_MAX_FREQUENCY: f64 = 20000000.0;
45pub const PS5000A_GAUSSIAN_MAX_FREQUENCY: f64 = 20000000.0;
46pub const PS5000A_MIN_FREQUENCY: f64 = 0.03;
47
48pub type PICO_POINTER = *mut ::std::os::raw::c_void;
49pub type PICO_INFO = u32;
50pub type PICO_STATUS = u32;
51pub const enPicoStringValue_PICO_SV_MEMORY: enPicoStringValue = 0;
52pub const enPicoStringValue_PICO_SV_MEMORY_NO_OF_SEGMENTS: enPicoStringValue = 1;
53pub const enPicoStringValue_PICO_SV_MEMORY_MAX_SAMPLES: enPicoStringValue = 2;
54pub const enPicoStringValue_PICO_SV_NO_OF_CHANNELS: enPicoStringValue = 3;
55pub const enPicoStringValue_PICO_SV_ARRAY_OF_CHANNELS: enPicoStringValue = 4;
56pub const enPicoStringValue_PICO_SV_CHANNEL: enPicoStringValue = 5;
57pub const enPicoStringValue_PICO_SV_CHANNEL_NAME: enPicoStringValue = 6;
58pub const enPicoStringValue_PICO_SV_CHANNEL_RANGE: enPicoStringValue = 7;
59pub const enPicoStringValue_PICO_SV_CHANNEL_COUPLING: enPicoStringValue = 8;
60pub const enPicoStringValue_PICO_SV_CHANNEL_ENABLED: enPicoStringValue = 9;
61pub const enPicoStringValue_PICO_SV_CHANNEL_ANALOGUE_OFFSET: enPicoStringValue = 10;
62pub const enPicoStringValue_PICO_SV_CHANNEL_FILTER: enPicoStringValue = 11;
63pub const enPicoStringValue_PICO_SV_TRIGGER: enPicoStringValue = 12;
64pub const enPicoStringValue_PICO_SV_TRIGGER_AUXIO_OUTPUT_ENABLED: enPicoStringValue = 13;
65pub const enPicoStringValue_PICO_SV_TRIGGER_AUTO_TRIGGER_MICROSECONDS: enPicoStringValue = 14;
66pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES: enPicoStringValue = 15;
67pub const enPicoStringValue_PICO_SV_NO_OF_TRIGGER_PROPERTIES: enPicoStringValue = 16;
68pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_CHANNEL: enPicoStringValue = 17;
69pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_UPPER: enPicoStringValue = 18;
70pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_UPPER_HYSTERESIS:
71 enPicoStringValue = 19;
72pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_LOWER: enPicoStringValue = 20;
73pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_LOWER_HYSTERESIS:
74 enPicoStringValue = 21;
75pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_MODE: enPicoStringValue = 22;
76pub const enPicoStringValue_PICO_SV_TRIGGER_ARRAY_OF_BLOCK_CONDITIONS: enPicoStringValue = 23;
77pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_BLOCK_CONDITIONS: enPicoStringValue = 24;
78pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITIONS: enPicoStringValue = 25;
79pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_CONDITIONS: enPicoStringValue = 26;
80pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITION_SOURCE: enPicoStringValue = 27;
81pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITION_STATE: enPicoStringValue = 28;
82pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION: enPicoStringValue = 29;
83pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_DIRECTIONS: enPicoStringValue = 30;
84pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION_CHANNEL: enPicoStringValue = 31;
85pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION_DIRECTION: enPicoStringValue = 32;
86pub const enPicoStringValue_PICO_SV_TRIGGER_DELAY: enPicoStringValue = 33;
87pub const enPicoStringValue_PICO_SV_TRIGGER_DELAY_MS: enPicoStringValue = 34;
88pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER: enPicoStringValue = 35;
89pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_ENABLED: enPicoStringValue = 36;
90pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_CHANNEL: enPicoStringValue = 37;
91pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_RANGE: enPicoStringValue = 38;
92pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_TRESHOLDMAJOR: enPicoStringValue = 39;
93pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_TRESHOLDMINOR: enPicoStringValue = 40;
94pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES: enPicoStringValue = 41;
95pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_DIRECTION: enPicoStringValue = 42;
96pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_LOWER: enPicoStringValue = 43;
97pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_UPPER: enPicoStringValue = 44;
98pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_TYPE: enPicoStringValue = 45;
99pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_ARRAY_OF_BLOCK_CONDITIONS: enPicoStringValue = 46;
100pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_NO_OF_BLOCK_CONDITIONS: enPicoStringValue = 47;
101pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS: enPicoStringValue = 48;
102pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_NO_OF_CONDITIONS: enPicoStringValue = 49;
103pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS_SOURCE: enPicoStringValue = 50;
104pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS_STATE: enPicoStringValue = 51;
105pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES: enPicoStringValue = 52;
106pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_PRE_TRIGGER_SAMPLES: enPicoStringValue = 53;
107pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_POST_TRIGGER_SAMPLES: enPicoStringValue = 54;
108pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_TIMEBASE: enPicoStringValue = 55;
109pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_NO_OF_CAPTURES: enPicoStringValue = 56;
110pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_RESOLUTION: enPicoStringValue = 57;
111pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED: enPicoStringValue = 58;
112pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_DOWN_SAMPLE_RATIO:
113 enPicoStringValue = 59;
114pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_DOWN_SAMPLE_RATIO_MODE:
115 enPicoStringValue = 60;
116pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_REQUERSTED_NO_OF_SAMPLES:
117 enPicoStringValue = 61;
118pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_SEGMENT_INDEX_FROM:
119 enPicoStringValue = 62;
120pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_SEGMENT_INDEX_TO:
121 enPicoStringValue = 63;
122pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR: enPicoStringValue = 64;
123pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN: enPicoStringValue = 65;
124pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_WAVE_TYPE: enPicoStringValue = 66;
125pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_START_FREQUENCY: enPicoStringValue =
126 67;
127pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_STOP_FREQUENCY: enPicoStringValue =
128 68;
129pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_INCREMENT: enPicoStringValue = 69;
130pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_DWELL_TIME: enPicoStringValue = 70;
131pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG: enPicoStringValue = 71;
132pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_START_DELTA_PHASE: enPicoStringValue = 72;
133pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_STOP_DELTA_PHASE: enPicoStringValue = 73;
134pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_DELTA_PHASE_INCREMENT: enPicoStringValue =
135 74;
136pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_DWELL_COUNT: enPicoStringValue = 75;
137pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_INDEX_MODE: enPicoStringValue = 76;
138pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_WAVEFORM_SIZE: enPicoStringValue = 77;
139pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_ARRAY_OF_AWG_WAVEFORM_VALUES:
140 enPicoStringValue = 78;
141pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_OFFSET_VOLTAGE: enPicoStringValue = 79;
142pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_PK_TO_PK: enPicoStringValue = 80;
143pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_OPERATION: enPicoStringValue = 81;
144pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SHOTS: enPicoStringValue = 82;
145pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SWEEPS: enPicoStringValue = 83;
146pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SWEEP_TYPE: enPicoStringValue = 84;
147pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_TRIGGER_TYPE: enPicoStringValue = 85;
148pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_TRIGGER_SOURCE: enPicoStringValue = 86;
149pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_EXT_IN_THRESHOLD: enPicoStringValue = 87;
150pub const enPicoStringValue_PICO_SV_ETS: enPicoStringValue = 88;
151pub const enPicoStringValue_PICO_SV_ETS_STATE: enPicoStringValue = 89;
152pub const enPicoStringValue_PICO_SV_ETS_CYCLE: enPicoStringValue = 90;
153pub const enPicoStringValue_PICO_SV_ETS_INTERLEAVE: enPicoStringValue = 91;
154pub const enPicoStringValue_PICO_SV_ETS_SAMPLE_TIME_PICOSECONDS: enPicoStringValue = 92;
155pub type enPicoStringValue = ::std::os::raw::c_uint;
156pub use self::enPicoStringValue as PICO_STRING_VALUE;
157#[repr(C, packed)]
158#[derive(Debug, Copy, Clone)]
159pub struct tPicoVersion {
160 pub major_: i16,
161 pub minor_: i16,
162 pub revision_: i16,
163 pub build_: i16,
164}
165
166pub type PICO_VERSION = tPicoVersion;
167pub const enPicoRatioMode_PICO_RATIO_MODE_AGGREGATE: enPicoRatioMode = 1;
168pub const enPicoRatioMode_PICO_RATIO_MODE_DECIMATE: enPicoRatioMode = 2;
169pub const enPicoRatioMode_PICO_RATIO_MODE_AVERAGE: enPicoRatioMode = 4;
170pub const enPicoRatioMode_PICO_RATIO_MODE_DISTRIBUTION: enPicoRatioMode = 8;
171pub const enPicoRatioMode_PICO_RATIO_MODE_SUM: enPicoRatioMode = 16;
172pub const enPicoRatioMode_PICO_RATIO_MODE_TRIGGER_DATA_FOR_TIME_CALCULATION: enPicoRatioMode =
173 268435456;
174pub const enPicoRatioMode_PICO_RATIO_MODE_SEGMENT_HEADER: enPicoRatioMode = 536870912;
175pub const enPicoRatioMode_PICO_RATIO_MODE_TRIGGER: enPicoRatioMode = 1073741824;
176pub const enPicoRatioMode_PICO_RATIO_MODE_RAW: enPicoRatioMode = 2147483648;
177pub type enPicoRatioMode = ::std::os::raw::c_uint;
178pub use self::enPicoRatioMode as PICO_RATIO_MODE;
179pub const enPicoChannel_PICO_CHANNEL_A: enPicoChannel = 0;
180pub const enPicoChannel_PICO_CHANNEL_B: enPicoChannel = 1;
181pub const enPicoChannel_PICO_CHANNEL_C: enPicoChannel = 2;
182pub const enPicoChannel_PICO_CHANNEL_D: enPicoChannel = 3;
183pub const enPicoChannel_PICO_CHANNEL_E: enPicoChannel = 4;
184pub const enPicoChannel_PICO_CHANNEL_F: enPicoChannel = 5;
185pub const enPicoChannel_PICO_CHANNEL_G: enPicoChannel = 6;
186pub const enPicoChannel_PICO_CHANNEL_H: enPicoChannel = 7;
187pub const enPicoChannel_PICO_PORT0: enPicoChannel = 128;
188pub const enPicoChannel_PICO_PORT1: enPicoChannel = 129;
189pub const enPicoChannel_PICO_PORT2: enPicoChannel = 130;
190pub const enPicoChannel_PICO_PORT3: enPicoChannel = 131;
191pub const enPicoChannel_PICO_EXTERNAL: enPicoChannel = 1000;
192pub const enPicoChannel_PICO_TRIGGER_AUX: enPicoChannel = 1001;
193pub const enPicoChannel_PICO_PULSE_WIDTH_SOURCE: enPicoChannel = 268435456;
194pub const enPicoChannel_PICO_DIGITAL_SOURCE: enPicoChannel = 268435457;
195pub type enPicoChannel = ::std::os::raw::c_uint;
196pub use self::enPicoChannel as PICO_CHANNEL;
197pub const enPicoChannelFlags_PICO_CHANNEL_A_FLAGS: enPicoChannelFlags = 1;
198pub const enPicoChannelFlags_PICO_CHANNEL_B_FLAGS: enPicoChannelFlags = 2;
199pub const enPicoChannelFlags_PICO_CHANNEL_C_FLAGS: enPicoChannelFlags = 4;
200pub const enPicoChannelFlags_PICO_CHANNEL_D_FLAGS: enPicoChannelFlags = 8;
201pub const enPicoChannelFlags_PICO_CHANNEL_E_FLAGS: enPicoChannelFlags = 16;
202pub const enPicoChannelFlags_PICO_CHANNEL_F_FLAGS: enPicoChannelFlags = 32;
203pub const enPicoChannelFlags_PICO_CHANNEL_G_FLAGS: enPicoChannelFlags = 64;
204pub const enPicoChannelFlags_PICO_CHANNEL_H_FLAGS: enPicoChannelFlags = 128;
205pub const enPicoChannelFlags_PICO_PORT0_FLAGS: enPicoChannelFlags = 65536;
206pub const enPicoChannelFlags_PICO_PORT1_FLAGS: enPicoChannelFlags = 131072;
207pub const enPicoChannelFlags_PICO_PORT2_FLAGS: enPicoChannelFlags = 262144;
208pub const enPicoChannelFlags_PICO_PORT3_FLAGS: enPicoChannelFlags = 524288;
209pub type enPicoChannelFlags = ::std::os::raw::c_uint;
210pub use self::enPicoChannelFlags as PICO_CHANNEL_FLAGS;
211pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL0: enPicoPortDigitalChannel = 0;
212pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL1: enPicoPortDigitalChannel = 1;
213pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL2: enPicoPortDigitalChannel = 2;
214pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL3: enPicoPortDigitalChannel = 3;
215pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL4: enPicoPortDigitalChannel = 4;
216pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL5: enPicoPortDigitalChannel = 5;
217pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL6: enPicoPortDigitalChannel = 6;
218pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL7: enPicoPortDigitalChannel = 7;
219pub type enPicoPortDigitalChannel = ::std::os::raw::c_uint;
220pub use self::enPicoPortDigitalChannel as PICO_PORT_DIGITAL_CHANNEL;
221pub const enPicoDataType_PICO_INT8_T: enPicoDataType = 0;
222pub const enPicoDataType_PICO_INT16_T: enPicoDataType = 1;
223pub const enPicoDataType_PICO_INT32_T: enPicoDataType = 2;
224pub const enPicoDataType_PICO_UINT32_T: enPicoDataType = 3;
225pub const enPicoDataType_PICO_INT64_T: enPicoDataType = 4;
226pub type enPicoDataType = ::std::os::raw::c_uint;
227pub use self::enPicoDataType as PICO_DATA_TYPE;
228pub const enPicoCoupling_PICO_AC: enPicoCoupling = 0;
229pub const enPicoCoupling_PICO_DC: enPicoCoupling = 1;
230pub const enPicoCoupling_PICO_DC_50OHM: enPicoCoupling = 50;
231pub type enPicoCoupling = ::std::os::raw::c_uint;
232pub use self::enPicoCoupling as PICO_COUPLING;
233pub const enPicoBandwidthLimiterFlags_PICO_BW_FULL_FLAG: enPicoBandwidthLimiterFlags = 1;
234pub const enPicoBandwidthLimiterFlags_PICO_BW_20KHZ_FLAG: enPicoBandwidthLimiterFlags = 2;
235pub const enPicoBandwidthLimiterFlags_PICO_BW_100KHZ_FLAG: enPicoBandwidthLimiterFlags = 4;
236pub const enPicoBandwidthLimiterFlags_PICO_BW_1MHZ_FLAG: enPicoBandwidthLimiterFlags = 8;
237pub const enPicoBandwidthLimiterFlags_PICO_BW_20MHZ_FLAG: enPicoBandwidthLimiterFlags = 16;
238pub type enPicoBandwidthLimiterFlags = ::std::os::raw::c_uint;
239pub use self::enPicoBandwidthLimiterFlags as PICO_BANDWIDTH_LIMITER_FLAGS;
240pub const enPicoBandwidthLimiter_PICO_BW_FULL: enPicoBandwidthLimiter = 0;
241pub const enPicoBandwidthLimiter_PICO_BW_100KHZ: enPicoBandwidthLimiter = 100000;
242pub const enPicoBandwidthLimiter_PICO_BW_20KHZ: enPicoBandwidthLimiter = 20000;
243pub const enPicoBandwidthLimiter_PICO_BW_1MHZ: enPicoBandwidthLimiter = 1000000;
244pub const enPicoBandwidthLimiter_PICO_BW_20MHZ: enPicoBandwidthLimiter = 20000000;
245pub const enPicoBandwidthLimiter_PICO_BW_25MHZ: enPicoBandwidthLimiter = 25000000;
246pub const enPicoBandwidthLimiter_PICO_BW_50MHZ: enPicoBandwidthLimiter = 50000000;
247pub const enPicoBandwidthLimiter_PICO_BW_200MHZ: enPicoBandwidthLimiter = 200000000;
248pub const enPicoBandwidthLimiter_PICO_BW_250MHZ: enPicoBandwidthLimiter = 250000000;
249pub const enPicoBandwidthLimiter_PICO_BW_500MHZ: enPicoBandwidthLimiter = 500000000;
250pub type enPicoBandwidthLimiter = ::std::os::raw::c_uint;
251pub use self::enPicoBandwidthLimiter as PICO_BANDWIDTH_LIMITER;
252pub const enPicoPulseWidthType_PICO_PW_TYPE_NONE: enPicoPulseWidthType = 0;
253pub const enPicoPulseWidthType_PICO_PW_TYPE_LESS_THAN: enPicoPulseWidthType = 1;
254pub const enPicoPulseWidthType_PICO_PW_TYPE_GREATER_THAN: enPicoPulseWidthType = 2;
255pub const enPicoPulseWidthType_PICO_PW_TYPE_IN_RANGE: enPicoPulseWidthType = 3;
256pub const enPicoPulseWidthType_PICO_PW_TYPE_OUT_OF_RANGE: enPicoPulseWidthType = 4;
257pub type enPicoPulseWidthType = ::std::os::raw::c_uint;
258pub use self::enPicoPulseWidthType as PICO_PULSE_WIDTH_TYPE;
259pub const enPicoSweepType_PICO_UP: enPicoSweepType = 0;
260pub const enPicoSweepType_PICO_DOWN: enPicoSweepType = 1;
261pub const enPicoSweepType_PICO_UPDOWN: enPicoSweepType = 2;
262pub const enPicoSweepType_PICO_DOWNUP: enPicoSweepType = 3;
263pub type enPicoSweepType = ::std::os::raw::c_uint;
264pub use self::enPicoSweepType as PICO_SWEEP_TYPE;
265pub const enPicoWaveType_PICO_SINE: enPicoWaveType = 17;
266pub const enPicoWaveType_PICO_SQUARE: enPicoWaveType = 18;
267pub const enPicoWaveType_PICO_TRIANGLE: enPicoWaveType = 19;
268pub const enPicoWaveType_PICO_RAMP_UP: enPicoWaveType = 20;
269pub const enPicoWaveType_PICO_RAMP_DOWN: enPicoWaveType = 21;
270pub const enPicoWaveType_PICO_SINC: enPicoWaveType = 22;
271pub const enPicoWaveType_PICO_GAUSSIAN: enPicoWaveType = 23;
272pub const enPicoWaveType_PICO_HALF_SINE: enPicoWaveType = 24;
273pub const enPicoWaveType_PICO_DC_VOLTAGE: enPicoWaveType = 1024;
274pub const enPicoWaveType_PICO_PWM: enPicoWaveType = 4096;
275pub const enPicoWaveType_PICO_WHITENOISE: enPicoWaveType = 8193;
276pub const enPicoWaveType_PICO_PRBS: enPicoWaveType = 8194;
277pub const enPicoWaveType_PICO_ARBITRARY: enPicoWaveType = 268435456;
278pub type enPicoWaveType = ::std::os::raw::c_uint;
279pub use self::enPicoWaveType as PICO_WAVE_TYPE;
280pub const enPicoSigGenTrigType_PICO_SIGGEN_RISING: enPicoSigGenTrigType = 0;
281pub const enPicoSigGenTrigType_PICO_SIGGEN_FALLING: enPicoSigGenTrigType = 1;
282pub const enPicoSigGenTrigType_PICO_SIGGEN_GATE_HIGH: enPicoSigGenTrigType = 2;
283pub const enPicoSigGenTrigType_PICO_SIGGEN_GATE_LOW: enPicoSigGenTrigType = 3;
284pub type enPicoSigGenTrigType = ::std::os::raw::c_uint;
285pub use self::enPicoSigGenTrigType as PICO_SIGGEN_TRIG_TYPE;
286pub const enPicoSigGenTrigSource_PICO_SIGGEN_NONE: enPicoSigGenTrigSource = 0;
287pub const enPicoSigGenTrigSource_PICO_SIGGEN_SCOPE_TRIG: enPicoSigGenTrigSource = 1;
288pub const enPicoSigGenTrigSource_PICO_SIGGEN_AUX_IN: enPicoSigGenTrigSource = 2;
289pub const enPicoSigGenTrigSource_PICO_SIGGEN_EXT_IN: enPicoSigGenTrigSource = 3;
290pub const enPicoSigGenTrigSource_PICO_SIGGEN_SOFT_TRIG: enPicoSigGenTrigSource = 4;
291pub const enPicoSigGenTrigSource_PICO_SIGGEN_TRIGGER_RAW: enPicoSigGenTrigSource = 5;
292pub type enPicoSigGenTrigSource = ::std::os::raw::c_uint;
293pub use self::enPicoSigGenTrigSource as PICO_SIGGEN_TRIG_SOURCE;
294pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_AUTO: enPicoSigGenFilterState = 0;
295pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_OFF: enPicoSigGenFilterState = 1;
296pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_ON: enPicoSigGenFilterState = 2;
297pub type enPicoSigGenFilterState = ::std::os::raw::c_uint;
298pub use self::enPicoSigGenFilterState as PICO_SIGGEN_FILTER_STATE;
299pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_OUTPUT_VOLTS: enPicoSigGenParameter = 0;
300pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_SAMPLE: enPicoSigGenParameter = 1;
301pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_BUFFER_LENGTH: enPicoSigGenParameter = 2;
302pub type enPicoSigGenParameter = ::std::os::raw::c_uint;
303pub use self::enPicoSigGenParameter as PICO_SIGGEN_PARAMETER;
304pub const enPicoTimeUnits_PICO_FS: enPicoTimeUnits = 0;
305pub const enPicoTimeUnits_PICO_PS: enPicoTimeUnits = 1;
306pub const enPicoTimeUnits_PICO_NS: enPicoTimeUnits = 2;
307pub const enPicoTimeUnits_PICO_US: enPicoTimeUnits = 3;
308pub const enPicoTimeUnits_PICO_MS: enPicoTimeUnits = 4;
309pub const enPicoTimeUnits_PICO_S: enPicoTimeUnits = 5;
310pub type enPicoTimeUnits = ::std::os::raw::c_uint;
311pub use self::enPicoTimeUnits as PICO_TIME_UNITS;
312pub const enPicoThresholdDirection_PICO_ABOVE: enPicoThresholdDirection = 0;
313pub const enPicoThresholdDirection_PICO_BELOW: enPicoThresholdDirection = 1;
314pub const enPicoThresholdDirection_PICO_RISING: enPicoThresholdDirection = 2;
315pub const enPicoThresholdDirection_PICO_FALLING: enPicoThresholdDirection = 3;
316pub const enPicoThresholdDirection_PICO_RISING_OR_FALLING: enPicoThresholdDirection = 4;
317pub const enPicoThresholdDirection_PICO_ABOVE_LOWER: enPicoThresholdDirection = 5;
318pub const enPicoThresholdDirection_PICO_BELOW_LOWER: enPicoThresholdDirection = 6;
319pub const enPicoThresholdDirection_PICO_RISING_LOWER: enPicoThresholdDirection = 7;
320pub const enPicoThresholdDirection_PICO_FALLING_LOWER: enPicoThresholdDirection = 8;
321pub const enPicoThresholdDirection_PICO_INSIDE: enPicoThresholdDirection = 0;
322pub const enPicoThresholdDirection_PICO_OUTSIDE: enPicoThresholdDirection = 1;
323pub const enPicoThresholdDirection_PICO_ENTER: enPicoThresholdDirection = 2;
324pub const enPicoThresholdDirection_PICO_EXIT: enPicoThresholdDirection = 3;
325pub const enPicoThresholdDirection_PICO_ENTER_OR_EXIT: enPicoThresholdDirection = 4;
326pub const enPicoThresholdDirection_PICO_POSITIVE_RUNT: enPicoThresholdDirection = 9;
327pub const enPicoThresholdDirection_PICO_NEGATIVE_RUNT: enPicoThresholdDirection = 10;
328pub const enPicoThresholdDirection_PICO_LOGIC_LOWER: enPicoThresholdDirection = 1000;
329pub const enPicoThresholdDirection_PICO_LOGIC_UPPER: enPicoThresholdDirection = 1001;
330pub const enPicoThresholdDirection_PICO_NONE: enPicoThresholdDirection = 2;
331pub type enPicoThresholdDirection = ::std::os::raw::c_uint;
332pub use self::enPicoThresholdDirection as PICO_THRESHOLD_DIRECTION;
333pub const enPicoThresholdMode_PICO_LEVEL: enPicoThresholdMode = 0;
334pub const enPicoThresholdMode_PICO_WINDOW: enPicoThresholdMode = 1;
335pub type enPicoThresholdMode = ::std::os::raw::c_uint;
336pub use self::enPicoThresholdMode as PICO_THRESHOLD_MODE;
337pub const enPicoEtsMode_PICO_ETS_OFF: enPicoEtsMode = 0;
338pub const enPicoEtsMode_PICO_ETS_FAST: enPicoEtsMode = 1;
339pub const enPicoEtsMode_PICO_ETS_SLOW: enPicoEtsMode = 2;
340pub type enPicoEtsMode = ::std::os::raw::c_uint;
341pub use self::enPicoEtsMode as PICO_ETS_MODE;
342pub const enPicoIndexMode_PICO_SINGLE: enPicoIndexMode = 0;
343pub const enPicoIndexMode_PICO_DUAL: enPicoIndexMode = 1;
344pub const enPicoIndexMode_PICO_QUAD: enPicoIndexMode = 2;
345pub type enPicoIndexMode = ::std::os::raw::c_uint;
346pub use self::enPicoIndexMode as PICO_INDEX_MODE;
347pub const enPicoAction_PICO_CLEAR_ALL: enPicoAction = 1;
348pub const enPicoAction_PICO_ADD: enPicoAction = 2;
349pub const enPicoAction_PICO_CLEAR_THIS_DATA_BUFFER: enPicoAction = 4096;
350pub const enPicoAction_PICO_CLEAR_WAVEFORM_DATA_BUFFERS: enPicoAction = 8192;
351pub const enPicoAction_PICO_CLEAR_WAVEFORM_READ_DATA_BUFFERS: enPicoAction = 16384;
352pub type enPicoAction = ::std::os::raw::c_uint;
353pub use self::enPicoAction as PICO_ACTION;
354pub const enPicoTriggerState_PICO_CONDITION_DONT_CARE: enPicoTriggerState = 0;
355pub const enPicoTriggerState_PICO_CONDITION_TRUE: enPicoTriggerState = 1;
356pub const enPicoTriggerState_PICO_CONDITION_FALSE: enPicoTriggerState = 2;
357pub type enPicoTriggerState = ::std::os::raw::c_uint;
358pub use self::enPicoTriggerState as PICO_TRIGGER_STATE;
359pub const enPicoDeviceResolution_PICO_DR_8BIT: enPicoDeviceResolution = 0;
360pub const enPicoDeviceResolution_PICO_DR_12BIT: enPicoDeviceResolution = 1;
361pub const enPicoDeviceResolution_PICO_DR_14BIT: enPicoDeviceResolution = 2;
362pub const enPicoDeviceResolution_PICO_DR_15BIT: enPicoDeviceResolution = 3;
363pub const enPicoDeviceResolution_PICO_DR_16BIT: enPicoDeviceResolution = 4;
364pub const enPicoDeviceResolution_PICO_DR_10BIT: enPicoDeviceResolution = 10;
365pub type enPicoDeviceResolution = ::std::os::raw::c_uint;
366pub use self::enPicoDeviceResolution as PICO_DEVICE_RESOLUTION;
367pub const enPicoReadSelection_PICO_READSELECTION_NONE: enPicoReadSelection = 0;
368pub const enPicoReadSelection_PICO_TRIGGER_READ: enPicoReadSelection = 1;
369pub const enPicoReadSelection_PICO_DATA_READ1: enPicoReadSelection = 2;
370pub const enPicoReadSelection_PICO_DATA_READ2: enPicoReadSelection = 3;
371pub const enPicoReadSelection_PICO_DATA_READ3: enPicoReadSelection = 4;
372pub type enPicoReadSelection = ::std::os::raw::c_uint;
373pub use self::enPicoReadSelection as PICO_READ_SELECTION;
374pub const enPicoTrimAction_PICO_OLDEST: enPicoTrimAction = 0;
375pub const enPicoTrimAction_PICO_RECENT: enPicoTrimAction = 1;
376pub type enPicoTrimAction = ::std::os::raw::c_uint;
377pub use self::enPicoTrimAction as PICO_TRIM_ACTION;
378pub const enPicoDigitalPortHysteresis_PICO_VERY_HIGH_400MV: enPicoDigitalPortHysteresis = 0;
379pub const enPicoDigitalPortHysteresis_PICO_HIGH_200MV: enPicoDigitalPortHysteresis = 1;
380pub const enPicoDigitalPortHysteresis_PICO_NORMAL_100MV: enPicoDigitalPortHysteresis = 2;
381pub const enPicoDigitalPortHysteresis_PICO_LOW_50MV: enPicoDigitalPortHysteresis = 3;
382pub type enPicoDigitalPortHysteresis = ::std::os::raw::c_uint;
383pub use self::enPicoDigitalPortHysteresis as PICO_DIGITAL_PORT_HYSTERESIS;
384pub const enPicoDigitalDirection_PICO_DIGITAL_DONT_CARE: enPicoDigitalDirection = 0;
385pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_LOW: enPicoDigitalDirection = 1;
386pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_HIGH: enPicoDigitalDirection = 2;
387pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_RISING: enPicoDigitalDirection = 3;
388pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_FALLING: enPicoDigitalDirection = 4;
389pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_RISING_OR_FALLING: enPicoDigitalDirection =
390 5;
391pub const enPicoDigitalDirection_PICO_DIGITAL_MAX_DIRECTION: enPicoDigitalDirection = 6;
392pub type enPicoDigitalDirection = ::std::os::raw::c_uint;
393pub use self::enPicoDigitalDirection as PICO_DIGITAL_DIRECTION;
394pub const enPicoConditionsInfo_PICO_CLEAR_CONDITIONS: enPicoConditionsInfo = 1;
395pub const enPicoConditionsInfo_PICO_ADD_CONDITION: enPicoConditionsInfo = 2;
396pub type enPicoConditionsInfo = ::std::os::raw::c_uint;
397pub use self::enPicoConditionsInfo as PICO_CONDITIONS_INFO;
398pub const enPicoClockReference_PICO_INTERNAL_REF: enPicoClockReference = 0;
399pub const enPicoClockReference_PICO_EXTERNAL_REF: enPicoClockReference = 1;
400pub type enPicoClockReference = ::std::os::raw::c_uint;
401pub use self::enPicoClockReference as PICO_CLOCK_REFERENCE;
402pub const enPicoTriggerWithinPreTrigger_PICO_DISABLE: enPicoTriggerWithinPreTrigger = 0;
403pub const enPicoTriggerWithinPreTrigger_PICO_ARM: enPicoTriggerWithinPreTrigger = 1;
404pub type enPicoTriggerWithinPreTrigger = ::std::os::raw::c_uint;
405pub use self::enPicoTriggerWithinPreTrigger as PICO_TRIGGER_WITHIN_PRE_TRIGGER;
406pub const tPicoTemperatureReference_PICO_TEMPERATURE_UNINITIALISED: tPicoTemperatureReference = 0;
407pub const tPicoTemperatureReference_PICO_TEMPERATURE_NORMAL: tPicoTemperatureReference = 1;
408pub const tPicoTemperatureReference_PICO_TEMPERATURE_WARNING: tPicoTemperatureReference = 2;
409pub const tPicoTemperatureReference_PICO_TEMPERATURE_CRITICAL: tPicoTemperatureReference = 3;
410pub type tPicoTemperatureReference = ::std::os::raw::c_uint;
411pub use self::tPicoTemperatureReference as PICO_TEMPERATURE_REFERENCE;
412pub const enPicoDigitalPort_PICO_DIGITAL_PORT_NONE: enPicoDigitalPort = 0;
413pub const enPicoDigitalPort_PICO_DIGITAL_PORT_MSO_POD: enPicoDigitalPort = 1000;
414pub const enPicoDigitalPort_PICO_DIGITAL_PORT_UNKNOWN_DEVICE: enPicoDigitalPort = -2;
415pub type enPicoDigitalPort = ::std::os::raw::c_int;
416pub use self::enPicoDigitalPort as PICO_DIGITAL_PORT;
417pub type PicoConnectProbe = i32;
418pub const enPicoConnectProbe_PICO_CONNECT_PROBE_NONE: enPicoConnectProbe = 0;
419pub const enPicoConnectProbe_PICO_CONNECT_PROBE_D9_BNC: enPicoConnectProbe = 4000;
420pub const enPicoConnectProbe_PICO_CONNECT_PROBE_D9_2X_BNC: enPicoConnectProbe = 4001;
421pub const enPicoConnectProbe_PICO_CONNECT_PROBE_DIFFERENTIAL: enPicoConnectProbe = 4002;
422pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_200_2KA: enPicoConnectProbe = 4003;
423pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_40A: enPicoConnectProbe = 4004;
424pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CAT3_HV_1KV: enPicoConnectProbe = 4005;
425pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_2000ARMS: enPicoConnectProbe = 4006;
426pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_BLUE: enPicoConnectProbe = 4404;
427pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_RED: enPicoConnectProbe = 4405;
428pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_GREEN: enPicoConnectProbe = 4406;
429pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_YELLOW: enPicoConnectProbe = 4407;
430pub const enPicoConnectProbe_PICO_BNC_PLUS_COP_PROBE: enPicoConnectProbe = 4408;
431pub const enPicoConnectProbe_PICO_BNC_PLUS_TEMPERATURE_PROBE: enPicoConnectProbe = 5000;
432pub const enPicoConnectProbe_PICO_BNC_PLUS_100A_CURRENT_CLAMP: enPicoConnectProbe = 5003;
433pub const enPicoConnectProbe_PICO_BNC_PLUS_HT_PICKUP: enPicoConnectProbe = 5005;
434pub const enPicoConnectProbe_PICO_BNC_PLUS_X10_SCOPE_PROBE: enPicoConnectProbe = 5006;
435pub const enPicoConnectProbe_PICO_BNC_PLUS_2000A_CURRENT_CLAMP: enPicoConnectProbe = 5007;
436pub const enPicoConnectProbe_PICO_BNC_PLUS_PRESSURE_SENSOR: enPicoConnectProbe = 5008;
437pub const enPicoConnectProbe_PICO_BNC_PLUS_RESISTANCE_LEAD: enPicoConnectProbe = 5009;
438pub const enPicoConnectProbe_PICO_BNC_PLUS_60A_CURRENT_CLAMP: enPicoConnectProbe = 5010;
439pub const enPicoConnectProbe_PICO_BNC_PLUS_OPTICAL_SENSOR: enPicoConnectProbe = 5011;
440pub const enPicoConnectProbe_PICO_BNC_PLUS_60A_CURRENT_CLAMP_V2: enPicoConnectProbe = 5012;
441pub const enPicoConnectProbe_PICO_PASSIVE_PROBE_X10: enPicoConnectProbe = 6000;
442pub const enPicoConnectProbe_PICO_CONNECT_PROBE_INTELLIGENT: enPicoConnectProbe = -3;
443pub const enPicoConnectProbe_PICO_CONNECT_PROBE_UNKNOWN_PROBE: enPicoConnectProbe = -2;
444pub const enPicoConnectProbe_PICO_CONNECT_PROBE_FAULT_PROBE: enPicoConnectProbe = -1;
445pub type enPicoConnectProbe = ::std::os::raw::c_int;
446pub use self::enPicoConnectProbe as PICO_CONNECT_PROBE;
447pub const enPicoConnectProbeRange_PICO_X1_PROBE_10MV: enPicoConnectProbeRange = 0;
448pub const enPicoConnectProbeRange_PICO_X1_PROBE_20MV: enPicoConnectProbeRange = 1;
449pub const enPicoConnectProbeRange_PICO_X1_PROBE_50MV: enPicoConnectProbeRange = 2;
450pub const enPicoConnectProbeRange_PICO_X1_PROBE_100MV: enPicoConnectProbeRange = 3;
451pub const enPicoConnectProbeRange_PICO_X1_PROBE_200MV: enPicoConnectProbeRange = 4;
452pub const enPicoConnectProbeRange_PICO_X1_PROBE_500MV: enPicoConnectProbeRange = 5;
453pub const enPicoConnectProbeRange_PICO_X1_PROBE_1V: enPicoConnectProbeRange = 6;
454pub const enPicoConnectProbeRange_PICO_X1_PROBE_2V: enPicoConnectProbeRange = 7;
455pub const enPicoConnectProbeRange_PICO_X1_PROBE_5V: enPicoConnectProbeRange = 8;
456pub const enPicoConnectProbeRange_PICO_X1_PROBE_10V: enPicoConnectProbeRange = 9;
457pub const enPicoConnectProbeRange_PICO_X1_PROBE_20V: enPicoConnectProbeRange = 10;
458pub const enPicoConnectProbeRange_PICO_X1_PROBE_50V: enPicoConnectProbeRange = 11;
459pub const enPicoConnectProbeRange_PICO_X1_PROBE_100V: enPicoConnectProbeRange = 12;
460pub const enPicoConnectProbeRange_PICO_X1_PROBE_200V: enPicoConnectProbeRange = 13;
461pub const enPicoConnectProbeRange_PICO_X1_PROBE_RANGES: enPicoConnectProbeRange = 14;
462pub const enPicoConnectProbeRange_PICO_X10_PROBE_100MV: enPicoConnectProbeRange = 32;
463pub const enPicoConnectProbeRange_PICO_X10_PROBE_200MV: enPicoConnectProbeRange = 33;
464pub const enPicoConnectProbeRange_PICO_X10_PROBE_500MV: enPicoConnectProbeRange = 34;
465pub const enPicoConnectProbeRange_PICO_X10_PROBE_1V: enPicoConnectProbeRange = 35;
466pub const enPicoConnectProbeRange_PICO_X10_PROBE_2V: enPicoConnectProbeRange = 36;
467pub const enPicoConnectProbeRange_PICO_X10_PROBE_5V: enPicoConnectProbeRange = 37;
468pub const enPicoConnectProbeRange_PICO_X10_PROBE_10V: enPicoConnectProbeRange = 38;
469pub const enPicoConnectProbeRange_PICO_X10_PROBE_20V: enPicoConnectProbeRange = 39;
470pub const enPicoConnectProbeRange_PICO_X10_PROBE_50V: enPicoConnectProbeRange = 40;
471pub const enPicoConnectProbeRange_PICO_X10_PROBE_100V: enPicoConnectProbeRange = 41;
472pub const enPicoConnectProbeRange_PICO_X10_PROBE_200V: enPicoConnectProbeRange = 42;
473pub const enPicoConnectProbeRange_PICO_X10_PROBE_500V: enPicoConnectProbeRange = 43;
474pub const enPicoConnectProbeRange_PICO_X10_PROBE_RANGES: enPicoConnectProbeRange = 12;
475pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_315K: enPicoConnectProbeRange = 512;
476pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_1100K: enPicoConnectProbeRange = 513;
477pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_10M: enPicoConnectProbeRange = 514;
478pub const enPicoConnectProbeRange_PICO_PS4000A_MAX_RESISTANCE_RANGES: enPicoConnectProbeRange = 3;
479pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_ADCV_FLAG: enPicoConnectProbeRange =
480 268435456;
481pub const enPicoConnectProbeRange_PICO_CONNECT_PROBE_OFF: enPicoConnectProbeRange = 1024;
482pub const enPicoConnectProbeRange_PICO_D9_BNC_10MV: enPicoConnectProbeRange = 0;
483pub const enPicoConnectProbeRange_PICO_D9_BNC_20MV: enPicoConnectProbeRange = 1;
484pub const enPicoConnectProbeRange_PICO_D9_BNC_50MV: enPicoConnectProbeRange = 2;
485pub const enPicoConnectProbeRange_PICO_D9_BNC_100MV: enPicoConnectProbeRange = 3;
486pub const enPicoConnectProbeRange_PICO_D9_BNC_200MV: enPicoConnectProbeRange = 4;
487pub const enPicoConnectProbeRange_PICO_D9_BNC_500MV: enPicoConnectProbeRange = 5;
488pub const enPicoConnectProbeRange_PICO_D9_BNC_1V: enPicoConnectProbeRange = 6;
489pub const enPicoConnectProbeRange_PICO_D9_BNC_2V: enPicoConnectProbeRange = 7;
490pub const enPicoConnectProbeRange_PICO_D9_BNC_5V: enPicoConnectProbeRange = 8;
491pub const enPicoConnectProbeRange_PICO_D9_BNC_10V: enPicoConnectProbeRange = 9;
492pub const enPicoConnectProbeRange_PICO_D9_BNC_20V: enPicoConnectProbeRange = 10;
493pub const enPicoConnectProbeRange_PICO_D9_BNC_50V: enPicoConnectProbeRange = 11;
494pub const enPicoConnectProbeRange_PICO_D9_BNC_100V: enPicoConnectProbeRange = 12;
495pub const enPicoConnectProbeRange_PICO_D9_BNC_200V: enPicoConnectProbeRange = 13;
496pub const enPicoConnectProbeRange_PICO_MAX_D9_BNC_RANGES: enPicoConnectProbeRange = 14;
497pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_10MV: enPicoConnectProbeRange = 0;
498pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_20MV: enPicoConnectProbeRange = 1;
499pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_50MV: enPicoConnectProbeRange = 2;
500pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_100MV: enPicoConnectProbeRange = 3;
501pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_200MV: enPicoConnectProbeRange = 4;
502pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_500MV: enPicoConnectProbeRange = 5;
503pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_1V: enPicoConnectProbeRange = 6;
504pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_2V: enPicoConnectProbeRange = 7;
505pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_5V: enPicoConnectProbeRange = 8;
506pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_10V: enPicoConnectProbeRange = 9;
507pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_20V: enPicoConnectProbeRange = 10;
508pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_50V: enPicoConnectProbeRange = 11;
509pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_100V: enPicoConnectProbeRange = 12;
510pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_200V: enPicoConnectProbeRange = 13;
511pub const enPicoConnectProbeRange_PICO_MAX_D9_2X_BNC_RANGES: enPicoConnectProbeRange = 14;
512pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_10MV: enPicoConnectProbeRange = 0;
513pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_20MV: enPicoConnectProbeRange = 1;
514pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_50MV: enPicoConnectProbeRange = 2;
515pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_100MV: enPicoConnectProbeRange = 3;
516pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_200MV: enPicoConnectProbeRange = 4;
517pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_500MV: enPicoConnectProbeRange = 5;
518pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_1V: enPicoConnectProbeRange = 6;
519pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_2V: enPicoConnectProbeRange = 7;
520pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_5V: enPicoConnectProbeRange = 8;
521pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_10V: enPicoConnectProbeRange = 9;
522pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_20V: enPicoConnectProbeRange = 10;
523pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_50V: enPicoConnectProbeRange = 11;
524pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_100V: enPicoConnectProbeRange = 12;
525pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_200V: enPicoConnectProbeRange = 13;
526pub const enPicoConnectProbeRange_PICO_MAX_DIFFERENTIAL_RANGES: enPicoConnectProbeRange = 14;
527pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_1A: enPicoConnectProbeRange = 4000;
528pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_2A: enPicoConnectProbeRange = 4001;
529pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_5A: enPicoConnectProbeRange = 4002;
530pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_10A: enPicoConnectProbeRange = 4003;
531pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_20A: enPicoConnectProbeRange = 4004;
532pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_50A: enPicoConnectProbeRange = 4005;
533pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_100A: enPicoConnectProbeRange = 4006;
534pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_200A: enPicoConnectProbeRange = 4007;
535pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_500A: enPicoConnectProbeRange = 4008;
536pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_1000A: enPicoConnectProbeRange = 4009;
537pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_2000A: enPicoConnectProbeRange = 4010;
538pub const enPicoConnectProbeRange_PICO_MAX_CURRENT_CLAMP_200A_2kA_RANGES: enPicoConnectProbeRange =
539 11;
540pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_100mA: enPicoConnectProbeRange = 5000;
541pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_200mA: enPicoConnectProbeRange = 5001;
542pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_500mA: enPicoConnectProbeRange = 5002;
543pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_1A: enPicoConnectProbeRange = 5003;
544pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_2A: enPicoConnectProbeRange = 5004;
545pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_5A: enPicoConnectProbeRange = 5005;
546pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_10A: enPicoConnectProbeRange = 5006;
547pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_20A: enPicoConnectProbeRange = 5007;
548pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_40A: enPicoConnectProbeRange = 5008;
549pub const enPicoConnectProbeRange_PICO_MAX_CURRENT_CLAMP_40A_RANGES: enPicoConnectProbeRange = 9;
550pub const enPicoConnectProbeRange_PICO_1KV_2_5V: enPicoConnectProbeRange = 6003;
551pub const enPicoConnectProbeRange_PICO_1KV_5V: enPicoConnectProbeRange = 6004;
552pub const enPicoConnectProbeRange_PICO_1KV_12_5V: enPicoConnectProbeRange = 6005;
553pub const enPicoConnectProbeRange_PICO_1KV_25V: enPicoConnectProbeRange = 6006;
554pub const enPicoConnectProbeRange_PICO_1KV_50V: enPicoConnectProbeRange = 6007;
555pub const enPicoConnectProbeRange_PICO_1KV_125V: enPicoConnectProbeRange = 6008;
556pub const enPicoConnectProbeRange_PICO_1KV_250V: enPicoConnectProbeRange = 6009;
557pub const enPicoConnectProbeRange_PICO_1KV_500V: enPicoConnectProbeRange = 6010;
558pub const enPicoConnectProbeRange_PICO_1KV_1000V: enPicoConnectProbeRange = 6011;
559pub const enPicoConnectProbeRange_PICO_MAX_1KV_RANGES: enPicoConnectProbeRange = 9;
560pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_10A: enPicoConnectProbeRange = 6500;
561pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_20A: enPicoConnectProbeRange = 6501;
562pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_50A: enPicoConnectProbeRange = 6502;
563pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_100A: enPicoConnectProbeRange = 6503;
564pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_200A: enPicoConnectProbeRange = 6504;
565pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_500A: enPicoConnectProbeRange = 6505;
566pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_1000A: enPicoConnectProbeRange = 6506;
567pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_2000A: enPicoConnectProbeRange = 6507;
568pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_5000A: enPicoConnectProbeRange = 6508;
569pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_RANGES: enPicoConnectProbeRange = 9;
570pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG5_TO_20OHM: enPicoConnectProbeRange =
571 7000;
572pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG50_TO_200OHM: enPicoConnectProbeRange =
573 7001;
574pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG500_TO_2KOHM: enPicoConnectProbeRange =
575 7002;
576pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG5K_TO_20KOHM: enPicoConnectProbeRange =
577 7003;
578pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG50K_TO_LEAD_200KOHM:
579 enPicoConnectProbeRange = 7004;
580pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG500K_TO_LEAD_2MOHM:
581 enPicoConnectProbeRange = 7005;
582pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_DIODE_TEST: enPicoConnectProbeRange = 7006;
583pub const enPicoConnectProbeRange_PICO_MAX_RESISTANCE_LEAD_RANGES: enPicoConnectProbeRange = 6;
584pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_5KV: enPicoConnectProbeRange = 8950;
585pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_10KV: enPicoConnectProbeRange = 8951;
586pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_20KV: enPicoConnectProbeRange = 8952;
587pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_50KV: enPicoConnectProbeRange = 8953;
588pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_100KV: enPicoConnectProbeRange = 8954;
589pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_5KV_INVERTED: enPicoConnectProbeRange = 8955;
590pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_10KV_INVERTED: enPicoConnectProbeRange = 8956;
591pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_20KV_INVERTED: enPicoConnectProbeRange = 8957;
592pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_50KV_INVERTED: enPicoConnectProbeRange = 8958;
593pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_100KV_INVERTED: enPicoConnectProbeRange = 8959;
594pub const enPicoConnectProbeRange_PICO_MAX_HT_RANGES: enPicoConnectProbeRange = 10;
595pub const enPicoConnectProbeRange_PICO_TEMPERATURE_NEG50_TO_150DEGC: enPicoConnectProbeRange = 9000;
596pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG100000_TO_150000_PASCALS:
597 enPicoConnectProbeRange = 9100;
598pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG100000_TO_400000_PASCALS:
599 enPicoConnectProbeRange = 9101;
600pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG200000_TO_800000_PASCALS:
601 enPicoConnectProbeRange = 9102;
602pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG400000_TO_1600000_PASCALS:
603 enPicoConnectProbeRange = 9103;
604pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG400000_TO_3400000_PASCALS:
605 enPicoConnectProbeRange = 9104;
606pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG150000_TO_1350000_PASCALS:
607 enPicoConnectProbeRange = 9105;
608pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_2_5A: enPicoConnectProbeRange = 10000;
609pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_5A: enPicoConnectProbeRange = 10001;
610pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_10A: enPicoConnectProbeRange = 10002;
611pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_25A: enPicoConnectProbeRange = 10003;
612pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_50A: enPicoConnectProbeRange = 10004;
613pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_100A: enPicoConnectProbeRange = 10005;
614pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_2A: enPicoConnectProbeRange = 10500;
615pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_5A: enPicoConnectProbeRange = 10501;
616pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_10A: enPicoConnectProbeRange = 10502;
617pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_20A: enPicoConnectProbeRange = 10503;
618pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_50A: enPicoConnectProbeRange = 10504;
619pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_60A: enPicoConnectProbeRange = 10505;
620pub const enPicoConnectProbeRange_PICO_OPTICAL_SENSOR_10V: enPicoConnectProbeRange = 10550;
621pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_0_5A: enPicoConnectProbeRange = 10600;
622pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_1A: enPicoConnectProbeRange = 10601;
623pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_2A: enPicoConnectProbeRange = 10602;
624pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_5A: enPicoConnectProbeRange = 10603;
625pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_10A: enPicoConnectProbeRange = 10604;
626pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_20A: enPicoConnectProbeRange = 10605;
627pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_50A: enPicoConnectProbeRange = 10606;
628pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_60A: enPicoConnectProbeRange = 10607;
629pub type enPicoConnectProbeRange = ::std::os::raw::c_uint;
630pub use self::enPicoConnectProbeRange as PICO_CONNECT_PROBE_RANGE;
631#[repr(C, packed)]
632#[derive(Debug, Copy, Clone)]
633pub struct tPicoTriggerInfo {
634 pub status: PICO_STATUS,
635 pub segmentIndex: u64,
636 pub triggerIndex: u64,
637 pub triggerTime: f64,
638 pub timeUnits: PICO_TIME_UNITS,
639 pub missedTriggers: u64,
640 pub timeStampCounter: u64,
641}
642
643pub type PICO_TRIGGER_INFO = tPicoTriggerInfo;
644#[repr(C, packed)]
645#[derive(Debug, Copy, Clone)]
646pub struct tPicoTriggerChannelProperties {
647 pub thresholdUpper: i16,
648 pub thresholdUpperHysteresis: u16,
649 pub thresholdLower: i16,
650 pub thresholdLowerHysteresis: u16,
651 pub channel: PICO_CHANNEL,
652}
653
654pub type PICO_TRIGGER_CHANNEL_PROPERTIES = tPicoTriggerChannelProperties;
655#[repr(C, packed)]
656#[derive(Debug, Copy, Clone)]
657pub struct tPicoCondition {
658 pub source: PICO_CHANNEL,
659 pub condition: PICO_TRIGGER_STATE,
660}
661
662pub type PICO_CONDITION = tPicoCondition;
663#[repr(C, packed)]
664#[derive(Debug, Copy, Clone)]
665pub struct tPicoDirection {
666 pub channel: PICO_CHANNEL,
667 pub direction: PICO_THRESHOLD_DIRECTION,
668 pub thresholdMode: PICO_THRESHOLD_MODE,
669}
670
671pub type PICO_DIRECTION = tPicoDirection;
672#[repr(C, packed)]
673#[derive(Debug, Copy, Clone)]
674pub struct tPicoUserProbeInteractions {
675 pub connected_: u16,
676 pub channel_: PICO_CHANNEL,
677 pub enabled_: u16,
678 pub probeName_: PicoConnectProbe,
679 pub requiresPower_: u8,
680 pub isPowered_: u8,
681 pub status_: PICO_STATUS,
682 pub probeOff_: PICO_CONNECT_PROBE_RANGE,
683 pub rangeFirst_: PICO_CONNECT_PROBE_RANGE,
684 pub rangeLast_: PICO_CONNECT_PROBE_RANGE,
685 pub rangeCurrent_: PICO_CONNECT_PROBE_RANGE,
686 pub couplingFirst_: PICO_COUPLING,
687 pub couplingLast_: PICO_COUPLING,
688 pub couplingCurrent_: PICO_COUPLING,
689 pub filterFlags_: PICO_BANDWIDTH_LIMITER_FLAGS,
690 pub filterCurrent_: PICO_BANDWIDTH_LIMITER_FLAGS,
691 pub defaultFilter_: PICO_BANDWIDTH_LIMITER,
692}
693pub type PICO_USER_PROBE_INTERACTIONS = tPicoUserProbeInteractions;
694#[repr(C, packed)]
695#[derive(Debug, Copy, Clone)]
696pub struct tPicoDataBuffers {
697 pub channel_: PICO_CHANNEL,
698 pub waveform_: u64,
699 pub downSampleRatioMode_: PICO_RATIO_MODE,
700 pub read_: PICO_READ_SELECTION,
701 pub bufferMax_: PICO_POINTER,
702 pub bufferMin_: PICO_POINTER,
703 pub dataType_: PICO_DATA_TYPE,
704 pub nDistributionPoints_: u32,
705}
706
707pub type PICO_DATA_BUFFERS = tPicoDataBuffers;
708#[repr(C, packed)]
709#[derive(Debug, Copy, Clone)]
710pub struct tPicoStreamingDataInfo {
711 pub channel_: PICO_CHANNEL,
712 pub mode_: PICO_RATIO_MODE,
713 pub type_: PICO_DATA_TYPE,
714 pub noOfSamples_: i32,
715 pub bufferIndex_: u64,
716 pub startIndex_: i32,
717 pub overflow_: i16,
718}
719
720pub type PICO_STREAMING_DATA_INFO = tPicoStreamingDataInfo;
721#[repr(C, packed)]
722#[derive(Debug, Copy, Clone)]
723pub struct tPicoStreamingDataTriggerInfo {
724 pub triggerAt_: u64,
725 pub triggered_: i16,
726 pub autoStop_: i16,
727}
728
729pub type PICO_STREAMING_DATA_TRIGGER_INFO = tPicoStreamingDataTriggerInfo;
730#[repr(C, packed)]
731#[derive(Debug, Copy, Clone)]
732pub struct tPicoScalingFactors {
733 pub channel: PICO_CHANNEL,
734 pub range: PICO_CONNECT_PROBE_RANGE,
735 pub offset: i16,
736 pub scalingFactor: f64,
737}
738
739pub type PICO_SCALING_FACTORS_VALUES = tPicoScalingFactors;
740#[repr(C, packed)]
741#[derive(Debug, Copy, Clone)]
742pub struct tProbeApp {
743 pub id_: i32,
744 pub appMajorVersion_: i32,
745 pub appMinorVersion_: i32,
746}
747
748pub type PROBE_APP = tProbeApp;
749#[repr(C, packed)]
750#[derive(Debug, Copy, Clone)]
751pub struct tDigitalChannelDirections {
752 pub channel: PICO_PORT_DIGITAL_CHANNEL,
753 pub direction: PICO_DIGITAL_DIRECTION,
754}
755
756pub type PICO_DIGITAL_CHANNEL_DIRECTIONS = tDigitalChannelDirections;
757#[repr(C, packed)]
758#[derive(Debug, Copy, Clone)]
759pub struct tPicoDigitalPortInteractions {
760 pub connected_: u16,
761 pub channel_: PICO_CHANNEL,
762 pub digitalPortName_: PICO_DIGITAL_PORT,
763 pub status_: PICO_STATUS,
764 pub serial_: [i8; 10usize],
765 pub calibrationDate_: [i8; 8usize],
766}
767
768pub type PICO_DIGITAL_PORT_INTERACTIONS = tPicoDigitalPortInteractions;
769#[repr(C, packed)]
770#[derive(Debug, Copy, Clone)]
771pub struct tPicoChannelOvervoltageTripped {
772 pub channel_: PICO_CHANNEL,
773 pub tripped_: u8,
774}
775
776pub type PICO_CHANNEL_OVERVOLTAGE_TRIPPED = tPicoChannelOvervoltageTripped;
777pub type PicoUpdateFirmwareProgress =
778 ::std::option::Option<extern "C" fn(handle: i16, progress: u16)>;
779pub type PicoProbeInteractions = ::std::option::Option<
780 extern "C" fn(
781 handle: i16,
782 status: PICO_STATUS,
783 probes: *mut PICO_USER_PROBE_INTERACTIONS,
784 nProbes: u32,
785 ),
786>;
787pub type PicoDataReadyUsingReads = ::std::option::Option<
788 extern "C" fn(
789 handle: i16,
790 read: PICO_READ_SELECTION,
791 status: PICO_STATUS,
792 fromSegmentIndex: u64,
793 toSegmentIndex: u64,
794 pParameter: PICO_POINTER,
795 ),
796>;
797pub type PicoExternalReferenceInteractions = ::std::option::Option<
798 extern "C" fn(handle: i16, status: PICO_STATUS, reference: PICO_CLOCK_REFERENCE),
799>;
800pub type PicoAWGOverrangeInteractions =
801 ::std::option::Option<extern "C" fn(handle: i16, status: PICO_STATUS)>;
802pub type PicoTemperatureSensorInteractions = ::std::option::Option<
803 extern "C" fn(handle: i16, temperatureStatus: PICO_TEMPERATURE_REFERENCE),
804>;
805pub const enPS5000ADeviceResolution_PS5000A_DR_8BIT: enPS5000ADeviceResolution = 0;
806pub const enPS5000ADeviceResolution_PS5000A_DR_12BIT: enPS5000ADeviceResolution = 1;
807pub const enPS5000ADeviceResolution_PS5000A_DR_14BIT: enPS5000ADeviceResolution = 2;
808pub const enPS5000ADeviceResolution_PS5000A_DR_15BIT: enPS5000ADeviceResolution = 3;
809pub const enPS5000ADeviceResolution_PS5000A_DR_16BIT: enPS5000ADeviceResolution = 4;
810pub type enPS5000ADeviceResolution = ::std::os::raw::c_uint;
811pub use self::enPS5000ADeviceResolution as PS5000A_DEVICE_RESOLUTION;
812pub const enPS5000AExtraOperations_PS5000A_ES_OFF: enPS5000AExtraOperations = 0;
813pub const enPS5000AExtraOperations_PS5000A_WHITENOISE: enPS5000AExtraOperations = 1;
814pub const enPS5000AExtraOperations_PS5000A_PRBS: enPS5000AExtraOperations = 2;
815pub type enPS5000AExtraOperations = ::std::os::raw::c_uint;
816pub use self::enPS5000AExtraOperations as PS5000A_EXTRA_OPERATIONS;
817pub const enPS5000ABandwidthLimiter_PS5000A_BW_FULL: enPS5000ABandwidthLimiter = 0;
818pub const enPS5000ABandwidthLimiter_PS5000A_BW_20MHZ: enPS5000ABandwidthLimiter = 1;
819pub type enPS5000ABandwidthLimiter = ::std::os::raw::c_uint;
820pub use self::enPS5000ABandwidthLimiter as PS5000A_BANDWIDTH_LIMITER;
821pub const enPS5000ACoupling_PS5000A_AC: enPS5000ACoupling = 0;
822pub const enPS5000ACoupling_PS5000A_DC: enPS5000ACoupling = 1;
823pub type enPS5000ACoupling = ::std::os::raw::c_uint;
824pub use self::enPS5000ACoupling as PS5000A_COUPLING;
825pub const enPS5000AChannel_PS5000A_CHANNEL_A: enPS5000AChannel = 0;
826pub const enPS5000AChannel_PS5000A_CHANNEL_B: enPS5000AChannel = 1;
827pub const enPS5000AChannel_PS5000A_CHANNEL_C: enPS5000AChannel = 2;
828pub const enPS5000AChannel_PS5000A_CHANNEL_D: enPS5000AChannel = 3;
829pub const enPS5000AChannel_PS5000A_EXTERNAL: enPS5000AChannel = 4;
830pub const enPS5000AChannel_PS5000A_MAX_CHANNELS: enPS5000AChannel = 4;
831pub const enPS5000AChannel_PS5000A_TRIGGER_AUX: enPS5000AChannel = 5;
832pub const enPS5000AChannel_PS5000A_MAX_TRIGGER_SOURCES: enPS5000AChannel = 6;
833pub const enPS5000AChannel_PS5000A_DIGITAL_PORT0: enPS5000AChannel = 128;
834pub const enPS5000AChannel_PS5000A_DIGITAL_PORT1: enPS5000AChannel = 129;
835pub const enPS5000AChannel_PS5000A_DIGITAL_PORT2: enPS5000AChannel = 130;
836pub const enPS5000AChannel_PS5000A_DIGITAL_PORT3: enPS5000AChannel = 131;
837pub const enPS5000AChannel_PS5000A_PULSE_WIDTH_SOURCE: enPS5000AChannel = 268435456;
838pub type enPS5000AChannel = ::std::os::raw::c_uint;
839pub use self::enPS5000AChannel as PS5000A_CHANNEL;
840pub const enPS5000AChannelFlags_PS5000A_CHANNEL_A_FLAGS: enPS5000AChannelFlags = 1;
841pub const enPS5000AChannelFlags_PS5000A_CHANNEL_B_FLAGS: enPS5000AChannelFlags = 2;
842pub const enPS5000AChannelFlags_PS5000A_CHANNEL_C_FLAGS: enPS5000AChannelFlags = 4;
843pub const enPS5000AChannelFlags_PS5000A_CHANNEL_D_FLAGS: enPS5000AChannelFlags = 8;
844pub const enPS5000AChannelFlags_PS5000A_PORT0_FLAGS: enPS5000AChannelFlags = 65536;
845pub const enPS5000AChannelFlags_PS5000A_PORT1_FLAGS: enPS5000AChannelFlags = 131072;
846pub const enPS5000AChannelFlags_PS5000A_PORT2_FLAGS: enPS5000AChannelFlags = 262144;
847pub const enPS5000AChannelFlags_PS5000A_PORT3_FLAGS: enPS5000AChannelFlags = 524288;
848pub type enPS5000AChannelFlags = ::std::os::raw::c_uint;
849pub use self::enPS5000AChannelFlags as PS5000A_CHANNEL_FLAGS;
850pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_0: enPS5000ADigitalChannel = 0;
851pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_1: enPS5000ADigitalChannel = 1;
852pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_2: enPS5000ADigitalChannel = 2;
853pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_3: enPS5000ADigitalChannel = 3;
854pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_4: enPS5000ADigitalChannel = 4;
855pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_5: enPS5000ADigitalChannel = 5;
856pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_6: enPS5000ADigitalChannel = 6;
857pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_7: enPS5000ADigitalChannel = 7;
858pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_8: enPS5000ADigitalChannel = 8;
859pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_9: enPS5000ADigitalChannel = 9;
860pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_10: enPS5000ADigitalChannel = 10;
861pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_11: enPS5000ADigitalChannel = 11;
862pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_12: enPS5000ADigitalChannel = 12;
863pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_13: enPS5000ADigitalChannel = 13;
864pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_14: enPS5000ADigitalChannel = 14;
865pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_15: enPS5000ADigitalChannel = 15;
866pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_16: enPS5000ADigitalChannel = 16;
867pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_17: enPS5000ADigitalChannel = 17;
868pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_18: enPS5000ADigitalChannel = 18;
869pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_19: enPS5000ADigitalChannel = 19;
870pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_20: enPS5000ADigitalChannel = 20;
871pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_21: enPS5000ADigitalChannel = 21;
872pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_22: enPS5000ADigitalChannel = 22;
873pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_23: enPS5000ADigitalChannel = 23;
874pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_24: enPS5000ADigitalChannel = 24;
875pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_25: enPS5000ADigitalChannel = 25;
876pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_26: enPS5000ADigitalChannel = 26;
877pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_27: enPS5000ADigitalChannel = 27;
878pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_28: enPS5000ADigitalChannel = 28;
879pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_29: enPS5000ADigitalChannel = 29;
880pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_30: enPS5000ADigitalChannel = 30;
881pub const enPS5000ADigitalChannel_PS5000A_DIGITAL_CHANNEL_31: enPS5000ADigitalChannel = 31;
882pub const enPS5000ADigitalChannel_PS5000A_MAX_DIGITAL_CHANNELS: enPS5000ADigitalChannel = 32;
883pub type enPS5000ADigitalChannel = ::std::os::raw::c_uint;
884pub use self::enPS5000ADigitalChannel as PS5000A_DIGITAL_CHANNEL;
885pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DONT_CARE: enPS5000ADigitalDirection = 0;
886pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DIRECTION_LOW: enPS5000ADigitalDirection = 1;
887pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DIRECTION_HIGH: enPS5000ADigitalDirection = 2;
888pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DIRECTION_RISING: enPS5000ADigitalDirection = 3;
889pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DIRECTION_FALLING: enPS5000ADigitalDirection =
890 4;
891pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_DIRECTION_RISING_OR_FALLING:
892 enPS5000ADigitalDirection = 5;
893pub const enPS5000ADigitalDirection_PS5000A_DIGITAL_MAX_DIRECTION: enPS5000ADigitalDirection = 6;
894pub type enPS5000ADigitalDirection = ::std::os::raw::c_uint;
895pub use self::enPS5000ADigitalDirection as PS5000A_DIGITAL_DIRECTION;
896pub const enPS5000ARange_PS5000A_10MV: enPS5000ARange = 0;
897pub const enPS5000ARange_PS5000A_20MV: enPS5000ARange = 1;
898pub const enPS5000ARange_PS5000A_50MV: enPS5000ARange = 2;
899pub const enPS5000ARange_PS5000A_100MV: enPS5000ARange = 3;
900pub const enPS5000ARange_PS5000A_200MV: enPS5000ARange = 4;
901pub const enPS5000ARange_PS5000A_500MV: enPS5000ARange = 5;
902pub const enPS5000ARange_PS5000A_1V: enPS5000ARange = 6;
903pub const enPS5000ARange_PS5000A_2V: enPS5000ARange = 7;
904pub const enPS5000ARange_PS5000A_5V: enPS5000ARange = 8;
905pub const enPS5000ARange_PS5000A_10V: enPS5000ARange = 9;
906pub const enPS5000ARange_PS5000A_20V: enPS5000ARange = 10;
907pub const enPS5000ARange_PS5000A_50V: enPS5000ARange = 11;
908pub const enPS5000ARange_PS5000A_MAX_RANGES: enPS5000ARange = 12;
909pub type enPS5000ARange = ::std::os::raw::c_uint;
910pub use self::enPS5000ARange as PS5000A_RANGE;
911pub const enPS5000AEtsMode_PS5000A_ETS_OFF: enPS5000AEtsMode = 0;
912pub const enPS5000AEtsMode_PS5000A_ETS_FAST: enPS5000AEtsMode = 1;
913pub const enPS5000AEtsMode_PS5000A_ETS_SLOW: enPS5000AEtsMode = 2;
914pub const enPS5000AEtsMode_PS5000A_ETS_MODES_MAX: enPS5000AEtsMode = 3;
915pub type enPS5000AEtsMode = ::std::os::raw::c_uint;
916pub use self::enPS5000AEtsMode as PS5000A_ETS_MODE;
917pub const enPS5000ATimeUnits_PS5000A_FS: enPS5000ATimeUnits = 0;
918pub const enPS5000ATimeUnits_PS5000A_PS: enPS5000ATimeUnits = 1;
919pub const enPS5000ATimeUnits_PS5000A_NS: enPS5000ATimeUnits = 2;
920pub const enPS5000ATimeUnits_PS5000A_US: enPS5000ATimeUnits = 3;
921pub const enPS5000ATimeUnits_PS5000A_MS: enPS5000ATimeUnits = 4;
922pub const enPS5000ATimeUnits_PS5000A_S: enPS5000ATimeUnits = 5;
923pub const enPS5000ATimeUnits_PS5000A_MAX_TIME_UNITS: enPS5000ATimeUnits = 6;
924pub type enPS5000ATimeUnits = ::std::os::raw::c_uint;
925pub use self::enPS5000ATimeUnits as PS5000A_TIME_UNITS;
926pub const enPS5000ASweepType_PS5000A_UP: enPS5000ASweepType = 0;
927pub const enPS5000ASweepType_PS5000A_DOWN: enPS5000ASweepType = 1;
928pub const enPS5000ASweepType_PS5000A_UPDOWN: enPS5000ASweepType = 2;
929pub const enPS5000ASweepType_PS5000A_DOWNUP: enPS5000ASweepType = 3;
930pub const enPS5000ASweepType_PS5000A_MAX_SWEEP_TYPES: enPS5000ASweepType = 4;
931pub type enPS5000ASweepType = ::std::os::raw::c_uint;
932pub use self::enPS5000ASweepType as PS5000A_SWEEP_TYPE;
933pub const enPS5000AWaveType_PS5000A_SINE: enPS5000AWaveType = 0;
934pub const enPS5000AWaveType_PS5000A_SQUARE: enPS5000AWaveType = 1;
935pub const enPS5000AWaveType_PS5000A_TRIANGLE: enPS5000AWaveType = 2;
936pub const enPS5000AWaveType_PS5000A_RAMP_UP: enPS5000AWaveType = 3;
937pub const enPS5000AWaveType_PS5000A_RAMP_DOWN: enPS5000AWaveType = 4;
938pub const enPS5000AWaveType_PS5000A_SINC: enPS5000AWaveType = 5;
939pub const enPS5000AWaveType_PS5000A_GAUSSIAN: enPS5000AWaveType = 6;
940pub const enPS5000AWaveType_PS5000A_HALF_SINE: enPS5000AWaveType = 7;
941pub const enPS5000AWaveType_PS5000A_DC_VOLTAGE: enPS5000AWaveType = 8;
942pub const enPS5000AWaveType_PS5000A_WHITE_NOISE: enPS5000AWaveType = 9;
943pub const enPS5000AWaveType_PS5000A_MAX_WAVE_TYPES: enPS5000AWaveType = 10;
944pub type enPS5000AWaveType = ::std::os::raw::c_uint;
945pub use self::enPS5000AWaveType as PS5000A_WAVE_TYPE;
946pub const enPS5000AConditionsInfo_PS5000A_CLEAR: enPS5000AConditionsInfo = 1;
947pub const enPS5000AConditionsInfo_PS5000A_ADD: enPS5000AConditionsInfo = 2;
948pub type enPS5000AConditionsInfo = ::std::os::raw::c_uint;
949pub use self::enPS5000AConditionsInfo as PS5000A_CONDITIONS_INFO;
950pub const enPS5000ASigGenTrigType_PS5000A_SIGGEN_RISING: enPS5000ASigGenTrigType = 0;
951pub const enPS5000ASigGenTrigType_PS5000A_SIGGEN_FALLING: enPS5000ASigGenTrigType = 1;
952pub const enPS5000ASigGenTrigType_PS5000A_SIGGEN_GATE_HIGH: enPS5000ASigGenTrigType = 2;
953pub const enPS5000ASigGenTrigType_PS5000A_SIGGEN_GATE_LOW: enPS5000ASigGenTrigType = 3;
954pub type enPS5000ASigGenTrigType = ::std::os::raw::c_uint;
955pub use self::enPS5000ASigGenTrigType as PS5000A_SIGGEN_TRIG_TYPE;
956pub const enPS5000ASigGenTrigSource_PS5000A_SIGGEN_NONE: enPS5000ASigGenTrigSource = 0;
957pub const enPS5000ASigGenTrigSource_PS5000A_SIGGEN_SCOPE_TRIG: enPS5000ASigGenTrigSource = 1;
958pub const enPS5000ASigGenTrigSource_PS5000A_SIGGEN_AUX_IN: enPS5000ASigGenTrigSource = 2;
959pub const enPS5000ASigGenTrigSource_PS5000A_SIGGEN_EXT_IN: enPS5000ASigGenTrigSource = 3;
960pub const enPS5000ASigGenTrigSource_PS5000A_SIGGEN_SOFT_TRIG: enPS5000ASigGenTrigSource = 4;
961pub type enPS5000ASigGenTrigSource = ::std::os::raw::c_uint;
962pub use self::enPS5000ASigGenTrigSource as PS5000A_SIGGEN_TRIG_SOURCE;
963pub const enPS5000AIndexMode_PS5000A_SINGLE: enPS5000AIndexMode = 0;
964pub const enPS5000AIndexMode_PS5000A_DUAL: enPS5000AIndexMode = 1;
965pub const enPS5000AIndexMode_PS5000A_QUAD: enPS5000AIndexMode = 2;
966pub const enPS5000AIndexMode_PS5000A_MAX_INDEX_MODES: enPS5000AIndexMode = 3;
967pub type enPS5000AIndexMode = ::std::os::raw::c_uint;
968pub use self::enPS5000AIndexMode as PS5000A_INDEX_MODE;
969pub const enPS5000AThresholdMode_PS5000A_LEVEL: enPS5000AThresholdMode = 0;
970pub const enPS5000AThresholdMode_PS5000A_WINDOW: enPS5000AThresholdMode = 1;
971pub type enPS5000AThresholdMode = ::std::os::raw::c_uint;
972pub use self::enPS5000AThresholdMode as PS5000A_THRESHOLD_MODE;
973pub const enPS5000AThresholdDirection_PS5000A_ABOVE: enPS5000AThresholdDirection = 0;
974pub const enPS5000AThresholdDirection_PS5000A_BELOW: enPS5000AThresholdDirection = 1;
975pub const enPS5000AThresholdDirection_PS5000A_RISING: enPS5000AThresholdDirection = 2;
976pub const enPS5000AThresholdDirection_PS5000A_FALLING: enPS5000AThresholdDirection = 3;
977pub const enPS5000AThresholdDirection_PS5000A_RISING_OR_FALLING: enPS5000AThresholdDirection = 4;
978pub const enPS5000AThresholdDirection_PS5000A_ABOVE_LOWER: enPS5000AThresholdDirection = 5;
979pub const enPS5000AThresholdDirection_PS5000A_BELOW_LOWER: enPS5000AThresholdDirection = 6;
980pub const enPS5000AThresholdDirection_PS5000A_RISING_LOWER: enPS5000AThresholdDirection = 7;
981pub const enPS5000AThresholdDirection_PS5000A_FALLING_LOWER: enPS5000AThresholdDirection = 8;
982pub const enPS5000AThresholdDirection_PS5000A_INSIDE: enPS5000AThresholdDirection = 0;
983pub const enPS5000AThresholdDirection_PS5000A_OUTSIDE: enPS5000AThresholdDirection = 1;
984pub const enPS5000AThresholdDirection_PS5000A_ENTER: enPS5000AThresholdDirection = 2;
985pub const enPS5000AThresholdDirection_PS5000A_EXIT: enPS5000AThresholdDirection = 3;
986pub const enPS5000AThresholdDirection_PS5000A_ENTER_OR_EXIT: enPS5000AThresholdDirection = 4;
987pub const enPS5000AThresholdDirection_PS5000A_POSITIVE_RUNT: enPS5000AThresholdDirection = 9;
988pub const enPS5000AThresholdDirection_PS5000A_NEGATIVE_RUNT: enPS5000AThresholdDirection = 10;
989pub const enPS5000AThresholdDirection_PS5000A_NONE: enPS5000AThresholdDirection = 2;
990pub type enPS5000AThresholdDirection = ::std::os::raw::c_uint;
991pub use self::enPS5000AThresholdDirection as PS5000A_THRESHOLD_DIRECTION;
992pub const enPS5000ATriggerState_PS5000A_CONDITION_DONT_CARE: enPS5000ATriggerState = 0;
993pub const enPS5000ATriggerState_PS5000A_CONDITION_TRUE: enPS5000ATriggerState = 1;
994pub const enPS5000ATriggerState_PS5000A_CONDITION_FALSE: enPS5000ATriggerState = 2;
995pub const enPS5000ATriggerState_PS5000A_CONDITION_MAX: enPS5000ATriggerState = 3;
996pub type enPS5000ATriggerState = ::std::os::raw::c_uint;
997pub use self::enPS5000ATriggerState as PS5000A_TRIGGER_STATE;
998pub const enPS5000ATriggerWithinPreTrigger_PS5000A_DISABLE: enPS5000ATriggerWithinPreTrigger = 0;
999pub const enPS5000ATriggerWithinPreTrigger_PS5000A_ARM: enPS5000ATriggerWithinPreTrigger = 1;
1000pub type enPS5000ATriggerWithinPreTrigger = ::std::os::raw::c_uint;
1001pub use self::enPS5000ATriggerWithinPreTrigger as PS5000A_TRIGGER_WITHIN_PRE_TRIGGER;
1002#[repr(C, packed)]
1003#[derive(Debug, Copy, Clone)]
1004pub struct tPS5000ATriggerInfo {
1005 pub status: PICO_STATUS,
1006 pub segmentIndex: u32,
1007 pub triggerIndex: u32,
1008 pub triggerTime: i64,
1009 pub timeUnits: i16,
1010 pub reserved0: i16,
1011 pub timeStampCounter: u64,
1012}
1013pub type PS5000A_TRIGGER_INFO = tPS5000ATriggerInfo;
1014#[repr(C, packed)]
1015#[derive(Debug, Copy, Clone)]
1016pub struct tPS5000ATriggerConditions {
1017 pub channelA: PS5000A_TRIGGER_STATE,
1018 pub channelB: PS5000A_TRIGGER_STATE,
1019 pub channelC: PS5000A_TRIGGER_STATE,
1020 pub channelD: PS5000A_TRIGGER_STATE,
1021 pub external: PS5000A_TRIGGER_STATE,
1022 pub aux: PS5000A_TRIGGER_STATE,
1023 pub pulseWidthQualifier: PS5000A_TRIGGER_STATE,
1024}
1025pub type PS5000A_TRIGGER_CONDITIONS = tPS5000ATriggerConditions;
1026#[repr(C, packed)]
1027#[derive(Debug, Copy, Clone)]
1028pub struct tPS5000ACondition {
1029 pub source: PS5000A_CHANNEL,
1030 pub condition: PS5000A_TRIGGER_STATE,
1031}
1032
1033pub type PS5000A_CONDITION = tPS5000ACondition;
1034#[repr(C, packed)]
1035#[derive(Debug, Copy, Clone)]
1036pub struct tPS5000ADirection {
1037 pub source: PS5000A_CHANNEL,
1038 pub direction: PS5000A_THRESHOLD_DIRECTION,
1039 pub mode: PS5000A_THRESHOLD_MODE,
1040}
1041
1042pub type PS5000A_DIRECTION = tPS5000ADirection;
1043#[repr(C, packed)]
1044#[derive(Debug, Copy, Clone)]
1045pub struct tPS5000APwqConditions {
1046 pub channelA: PS5000A_TRIGGER_STATE,
1047 pub channelB: PS5000A_TRIGGER_STATE,
1048 pub channelC: PS5000A_TRIGGER_STATE,
1049 pub channelD: PS5000A_TRIGGER_STATE,
1050 pub external: PS5000A_TRIGGER_STATE,
1051 pub aux: PS5000A_TRIGGER_STATE,
1052}
1053
1054pub type PS5000A_PWQ_CONDITIONS = tPS5000APwqConditions;
1055#[repr(C, packed)]
1056#[derive(Debug, Copy, Clone)]
1057pub struct tPS5000AScalingFactors {
1058 pub source: PS5000A_CHANNEL,
1059 pub range: PS5000A_RANGE,
1060 pub offset: i16,
1061 pub scalingFactor: f64,
1062}
1063
1064pub type PS5000A_SCALING_FACTORS_VALUES = tPS5000AScalingFactors;
1065#[repr(C, packed)]
1066#[derive(Debug, Copy, Clone)]
1067pub struct tPS5000ATriggerChannelProperties {
1068 pub thresholdUpper: i16,
1069 pub thresholdUpperHysteresis: u16,
1070 pub thresholdLower: i16,
1071 pub thresholdLowerHysteresis: u16,
1072 pub channel: PS5000A_CHANNEL,
1073 pub thresholdMode: PS5000A_THRESHOLD_MODE,
1074}
1075
1076pub type PS5000A_TRIGGER_CHANNEL_PROPERTIES = tPS5000ATriggerChannelProperties;
1077#[repr(C, packed)]
1078#[derive(Debug, Copy, Clone)]
1079pub struct tPS5000ATriggerChannelPropertiesV2 {
1080 pub thresholdUpper: i16,
1081 pub thresholdUpperHysteresis: u16,
1082 pub thresholdLower: i16,
1083 pub thresholdLowerHysteresis: u16,
1084 pub channel: PS5000A_CHANNEL,
1085}
1086
1087pub type PS5000A_TRIGGER_CHANNEL_PROPERTIES_V2 = tPS5000ATriggerChannelPropertiesV2;
1088#[repr(C, packed)]
1089#[derive(Debug, Copy, Clone)]
1090pub struct tPS5000ADigitalChannelDirections {
1091 pub channel: PS5000A_DIGITAL_CHANNEL,
1092 pub direction: PS5000A_DIGITAL_DIRECTION,
1093}
1094
1095pub type PS5000A_DIGITAL_CHANNEL_DIRECTIONS = tPS5000ADigitalChannelDirections;
1096pub const enPS5000ARatioMode_PS5000A_RATIO_MODE_NONE: enPS5000ARatioMode = 0;
1097pub const enPS5000ARatioMode_PS5000A_RATIO_MODE_AGGREGATE: enPS5000ARatioMode = 1;
1098pub const enPS5000ARatioMode_PS5000A_RATIO_MODE_DECIMATE: enPS5000ARatioMode = 2;
1099pub const enPS5000ARatioMode_PS5000A_RATIO_MODE_AVERAGE: enPS5000ARatioMode = 4;
1100pub const enPS5000ARatioMode_PS5000A_RATIO_MODE_DISTRIBUTION: enPS5000ARatioMode = 8;
1101pub type enPS5000ARatioMode = ::std::os::raw::c_uint;
1102pub use self::enPS5000ARatioMode as PS5000A_RATIO_MODE;
1103pub const enPS5000APulseWidthType_PS5000A_PW_TYPE_NONE: enPS5000APulseWidthType = 0;
1104pub const enPS5000APulseWidthType_PS5000A_PW_TYPE_LESS_THAN: enPS5000APulseWidthType = 1;
1105pub const enPS5000APulseWidthType_PS5000A_PW_TYPE_GREATER_THAN: enPS5000APulseWidthType = 2;
1106pub const enPS5000APulseWidthType_PS5000A_PW_TYPE_IN_RANGE: enPS5000APulseWidthType = 3;
1107pub const enPS5000APulseWidthType_PS5000A_PW_TYPE_OUT_OF_RANGE: enPS5000APulseWidthType = 4;
1108pub type enPS5000APulseWidthType = ::std::os::raw::c_uint;
1109pub use self::enPS5000APulseWidthType as PS5000A_PULSE_WIDTH_TYPE;
1110pub const enPS5000AChannelInfo_PS5000A_CI_RANGES: enPS5000AChannelInfo = 0;
1111pub type enPS5000AChannelInfo = ::std::os::raw::c_uint;
1112pub use self::enPS5000AChannelInfo as PS5000A_CHANNEL_INFO;
1113pub type ps5000aBlockReady = ::std::option::Option<
1114 extern "C" fn(handle: i16, status: PICO_STATUS, pParameter: *mut ::std::os::raw::c_void),
1115>;
1116pub type ps5000aStreamingReady = ::std::option::Option<
1117 unsafe extern "C" fn(
1118 handle: i16,
1119 noOfSamples: i32,
1120 startIndex: u32,
1121 overflow: i16,
1122 triggerAt: u32,
1123 triggered: i16,
1124 autoStop: i16,
1125 pParameter: *mut ::std::os::raw::c_void,
1126 ),
1127>;
1128pub type ps5000aDataReady = ::std::option::Option<
1129 unsafe extern "C" fn(
1130 handle: i16,
1131 status: PICO_STATUS,
1132 noOfSamples: u32,
1133 overflow: i16,
1134 pParameter: *mut ::std::os::raw::c_void,
1135 ),
1136>;
1137
1138extern crate libloading;
1139pub struct PS5000ALoader {
1140 __library: ::libloading::Library,
1141 pub ps5000aApplyFix: Result<unsafe extern "C" fn(u32, u16), ::libloading::Error>,
1142 pub ps5000aOpenUnit: Result<
1143 unsafe extern "C" fn(
1144 handle: *mut i16,
1145 serial: *mut i8,
1146 resolution: PS5000A_DEVICE_RESOLUTION,
1147 ) -> PICO_STATUS,
1148 ::libloading::Error,
1149 >,
1150 pub ps5000aOpenUnitAsync: Result<
1151 unsafe extern "C" fn(
1152 status: *mut i16,
1153 serial: *mut i8,
1154 resolution: PS5000A_DEVICE_RESOLUTION,
1155 ) -> PICO_STATUS,
1156 ::libloading::Error,
1157 >,
1158 pub ps5000aOpenUnitProgress: Result<
1159 unsafe extern "C" fn(
1160 handle: *mut i16,
1161 progressPercent: *mut i16,
1162 complete: *mut i16,
1163 ) -> PICO_STATUS,
1164 ::libloading::Error,
1165 >,
1166 pub ps5000aGetUnitInfo: Result<
1167 unsafe extern "C" fn(
1168 handle: i16,
1169 string: *mut i8,
1170 stringLength: i16,
1171 requiredSize: *mut i16,
1172 info: PICO_INFO,
1173 ) -> PICO_STATUS,
1174 ::libloading::Error,
1175 >,
1176 pub ps5000aFlashLed:
1177 Result<unsafe extern "C" fn(handle: i16, start: i16) -> PICO_STATUS, ::libloading::Error>,
1178 pub ps5000aIsLedFlashing: Result<
1179 unsafe extern "C" fn(handle: i16, status: *mut i16) -> PICO_STATUS,
1180 ::libloading::Error,
1181 >,
1182 pub ps5000aCloseUnit:
1183 Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1184 pub ps5000aMemorySegments: Result<
1185 unsafe extern "C" fn(handle: i16, nSegments: u32, nMaxSamples: *mut i32) -> PICO_STATUS,
1186 ::libloading::Error,
1187 >,
1188 pub ps5000aSetChannel: Result<
1189 unsafe extern "C" fn(
1190 handle: i16,
1191 channel: PS5000A_CHANNEL,
1192 enabled: i16,
1193 type_: PS5000A_COUPLING,
1194 range: PS5000A_RANGE,
1195 analogOffset: f32,
1196 ) -> PICO_STATUS,
1197 ::libloading::Error,
1198 >,
1199 pub ps5000aSetDigitalPort: Result<
1200 unsafe extern "C" fn(
1201 handle: i16,
1202 port: PS5000A_CHANNEL,
1203 enabled: i16,
1204 logicLevel: i16,
1205 ) -> PICO_STATUS,
1206 ::libloading::Error,
1207 >,
1208 pub ps5000aSetBandwidthFilter: Result<
1209 unsafe extern "C" fn(
1210 handle: i16,
1211 channel: PS5000A_CHANNEL,
1212 bandwidth: PS5000A_BANDWIDTH_LIMITER,
1213 ) -> PICO_STATUS,
1214 ::libloading::Error,
1215 >,
1216 pub ps5000aGetTimebase: Result<
1217 unsafe extern "C" fn(
1218 handle: i16,
1219 timebase: u32,
1220 noSamples: i32,
1221 timeIntervalNanoseconds: *mut i32,
1222 maxSamples: *mut i32,
1223 segmentIndex: u32,
1224 ) -> PICO_STATUS,
1225 ::libloading::Error,
1226 >,
1227 pub ps5000aGetTimebase2: Result<
1228 unsafe extern "C" fn(
1229 handle: i16,
1230 timebase: u32,
1231 noSamples: i32,
1232 timeIntervalNanoseconds: *mut f32,
1233 maxSamples: *mut i32,
1234 segmentIndex: u32,
1235 ) -> PICO_STATUS,
1236 ::libloading::Error,
1237 >,
1238 pub ps5000aNearestSampleIntervalStateless: Result<
1239 unsafe extern "C" fn(
1240 handle: i16,
1241 enabledChannelOrPortFlags: PS5000A_CHANNEL_FLAGS,
1242 timeIntervalRequested: f64,
1243 resolution: PS5000A_DEVICE_RESOLUTION,
1244 useEts: u16,
1245 timebase: *mut u32,
1246 timeIntervalAvailable: *mut f64,
1247 ) -> PICO_STATUS,
1248 ::libloading::Error,
1249 >,
1250 pub ps5000aGetMinimumTimebaseStateless: Result<
1251 unsafe extern "C" fn(
1252 handle: i16,
1253 enabledChannelOrPortFlags: PS5000A_CHANNEL_FLAGS,
1254 timebase: *mut u32,
1255 timeInterval: *mut f64,
1256 resolution: PS5000A_DEVICE_RESOLUTION,
1257 ) -> PICO_STATUS,
1258 ::libloading::Error,
1259 >,
1260 pub ps5000aChannelCombinationsStateless: Result<
1261 unsafe extern "C" fn(
1262 handle: i16,
1263 channelOrPortFlagsCombinations: *mut PS5000A_CHANNEL_FLAGS,
1264 nChannelCombinations: *mut u32,
1265 resolution: PS5000A_DEVICE_RESOLUTION,
1266 timebase: u32,
1267 hasDcPowerSupplyConnected: i16,
1268 ) -> PICO_STATUS,
1269 ::libloading::Error,
1270 >,
1271 pub ps5000aSetSigGenArbitrary: Result<
1272 unsafe extern "C" fn(
1273 handle: i16,
1274 offsetVoltage: i32,
1275 pkToPk: u32,
1276 startDeltaPhase: u32,
1277 stopDeltaPhase: u32,
1278 deltaPhaseIncrement: u32,
1279 dwellCount: u32,
1280 arbitraryWaveform: *mut i16,
1281 arbitraryWaveformSize: i32,
1282 sweepType: PS5000A_SWEEP_TYPE,
1283 operation: PS5000A_EXTRA_OPERATIONS,
1284 indexMode: PS5000A_INDEX_MODE,
1285 shots: u32,
1286 sweeps: u32,
1287 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
1288 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
1289 extInThreshold: i16,
1290 ) -> PICO_STATUS,
1291 ::libloading::Error,
1292 >,
1293 pub ps5000aSetSigGenBuiltIn: Result<
1294 unsafe extern "C" fn(
1295 handle: i16,
1296 offsetVoltage: i32,
1297 pkToPk: u32,
1298 waveType: PS5000A_WAVE_TYPE,
1299 startFrequency: f32,
1300 stopFrequency: f32,
1301 increment: f32,
1302 dwellTime: f32,
1303 sweepType: PS5000A_SWEEP_TYPE,
1304 operation: PS5000A_EXTRA_OPERATIONS,
1305 shots: u32,
1306 sweeps: u32,
1307 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
1308 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
1309 extInThreshold: i16,
1310 ) -> PICO_STATUS,
1311 ::libloading::Error,
1312 >,
1313 pub ps5000aSetSigGenBuiltInV2: Result<
1314 unsafe extern "C" fn(
1315 handle: i16,
1316 offsetVoltage: i32,
1317 pkToPk: u32,
1318 waveType: PS5000A_WAVE_TYPE,
1319 startFrequency: f64,
1320 stopFrequency: f64,
1321 increment: f64,
1322 dwellTime: f64,
1323 sweepType: PS5000A_SWEEP_TYPE,
1324 operation: PS5000A_EXTRA_OPERATIONS,
1325 shots: u32,
1326 sweeps: u32,
1327 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
1328 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
1329 extInThreshold: i16,
1330 ) -> PICO_STATUS,
1331 ::libloading::Error,
1332 >,
1333 pub ps5000aSetSigGenPropertiesArbitrary: Result<
1334 unsafe extern "C" fn(
1335 handle: i16,
1336 startDeltaPhase: u32,
1337 stopDeltaPhase: u32,
1338 deltaPhaseIncrement: u32,
1339 dwellCount: u32,
1340 sweepType: PS5000A_SWEEP_TYPE,
1341 shots: u32,
1342 sweeps: u32,
1343 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
1344 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
1345 extInThreshold: i16,
1346 ) -> PICO_STATUS,
1347 ::libloading::Error,
1348 >,
1349 pub ps5000aSetSigGenPropertiesBuiltIn: Result<
1350 unsafe extern "C" fn(
1351 handle: i16,
1352 startFrequency: f64,
1353 stopFrequency: f64,
1354 increment: f64,
1355 dwellTime: f64,
1356 sweepType: PS5000A_SWEEP_TYPE,
1357 shots: u32,
1358 sweeps: u32,
1359 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
1360 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
1361 extInThreshold: i16,
1362 ) -> PICO_STATUS,
1363 ::libloading::Error,
1364 >,
1365 pub ps5000aSigGenFrequencyToPhase: Result<
1366 unsafe extern "C" fn(
1367 handle: i16,
1368 frequency: f64,
1369 indexMode: PS5000A_INDEX_MODE,
1370 bufferLength: u32,
1371 phase: *mut u32,
1372 ) -> PICO_STATUS,
1373 ::libloading::Error,
1374 >,
1375 pub ps5000aSigGenArbitraryMinMaxValues: Result<
1376 unsafe extern "C" fn(
1377 handle: i16,
1378 minArbitraryWaveformValue: *mut i16,
1379 maxArbitraryWaveformValue: *mut i16,
1380 minArbitraryWaveformSize: *mut u32,
1381 maxArbitraryWaveformSize: *mut u32,
1382 ) -> PICO_STATUS,
1383 ::libloading::Error,
1384 >,
1385 pub ps5000aSigGenSoftwareControl:
1386 Result<unsafe extern "C" fn(handle: i16, state: i16) -> PICO_STATUS, ::libloading::Error>,
1387 pub ps5000aSetEts: Result<
1388 unsafe extern "C" fn(
1389 handle: i16,
1390 mode: PS5000A_ETS_MODE,
1391 etsCycles: i16,
1392 etsInterleave: i16,
1393 sampleTimePicoseconds: *mut i32,
1394 ) -> PICO_STATUS,
1395 ::libloading::Error,
1396 >,
1397 pub ps5000aSetTriggerChannelProperties: Result<
1398 unsafe extern "C" fn(
1399 handle: i16,
1400 channelProperties: *mut PS5000A_TRIGGER_CHANNEL_PROPERTIES,
1401 nChannelProperties: i16,
1402 auxOutputEnable: i16,
1403 autoTriggerMilliseconds: i32,
1404 ) -> PICO_STATUS,
1405 ::libloading::Error,
1406 >,
1407 pub ps5000aSetTriggerChannelPropertiesV2: Result<
1408 unsafe extern "C" fn(
1409 handle: i16,
1410 channelProperties: *mut PS5000A_TRIGGER_CHANNEL_PROPERTIES_V2,
1411 nChannelProperties: i16,
1412 auxOutputEnable: i16,
1413 ) -> PICO_STATUS,
1414 ::libloading::Error,
1415 >,
1416 pub ps5000aSetAutoTriggerMicroSeconds: Result<
1417 unsafe extern "C" fn(handle: i16, autoTriggerMicroseconds: u64) -> PICO_STATUS,
1418 ::libloading::Error,
1419 >,
1420 pub ps5000aSetTriggerChannelConditions: Result<
1421 unsafe extern "C" fn(
1422 handle: i16,
1423 conditions: *mut PS5000A_TRIGGER_CONDITIONS,
1424 nConditions: i16,
1425 ) -> PICO_STATUS,
1426 ::libloading::Error,
1427 >,
1428 pub ps5000aSetTriggerChannelConditionsV2: Result<
1429 unsafe extern "C" fn(
1430 handle: i16,
1431 conditions: *mut PS5000A_CONDITION,
1432 nConditions: i16,
1433 info: PS5000A_CONDITIONS_INFO,
1434 ) -> PICO_STATUS,
1435 ::libloading::Error,
1436 >,
1437 pub ps5000aSetTriggerChannelDirections: Result<
1438 unsafe extern "C" fn(
1439 handle: i16,
1440 channelA: PS5000A_THRESHOLD_DIRECTION,
1441 channelB: PS5000A_THRESHOLD_DIRECTION,
1442 channelC: PS5000A_THRESHOLD_DIRECTION,
1443 channelD: PS5000A_THRESHOLD_DIRECTION,
1444 ext: PS5000A_THRESHOLD_DIRECTION,
1445 aux: PS5000A_THRESHOLD_DIRECTION,
1446 ) -> PICO_STATUS,
1447 ::libloading::Error,
1448 >,
1449 pub ps5000aSetTriggerChannelDirectionsV2: Result<
1450 unsafe extern "C" fn(
1451 handle: i16,
1452 directions: *mut PS5000A_DIRECTION,
1453 nDirections: u16,
1454 ) -> PICO_STATUS,
1455 ::libloading::Error,
1456 >,
1457 pub ps5000aSetSimpleTrigger: Result<
1458 unsafe extern "C" fn(
1459 handle: i16,
1460 enable: i16,
1461 channel: PS5000A_CHANNEL,
1462 threshold: i16,
1463 direction: PS5000A_THRESHOLD_DIRECTION,
1464 delay: u32,
1465 autoTrigger_ms: i16,
1466 ) -> PICO_STATUS,
1467 ::libloading::Error,
1468 >,
1469 pub ps5000aSetTriggerDigitalPortProperties: Result<
1470 unsafe extern "C" fn(
1471 handle: i16,
1472 directions: *mut PS5000A_DIGITAL_CHANNEL_DIRECTIONS,
1473 nDirections: i16,
1474 ) -> PICO_STATUS,
1475 ::libloading::Error,
1476 >,
1477 pub ps5000aSetPulseWidthDigitalPortProperties: Result<
1478 unsafe extern "C" fn(
1479 handle: i16,
1480 directions: *mut PS5000A_DIGITAL_CHANNEL_DIRECTIONS,
1481 nDirections: i16,
1482 ) -> PICO_STATUS,
1483 ::libloading::Error,
1484 >,
1485 pub ps5000aSetTriggerDelay:
1486 Result<unsafe extern "C" fn(handle: i16, delay: u32) -> PICO_STATUS, ::libloading::Error>,
1487 pub ps5000aSetPulseWidthQualifier: Result<
1488 unsafe extern "C" fn(
1489 handle: i16,
1490 conditions: *mut PS5000A_PWQ_CONDITIONS,
1491 nConditions: i16,
1492 direction: PS5000A_THRESHOLD_DIRECTION,
1493 lower: u32,
1494 upper: u32,
1495 type_: PS5000A_PULSE_WIDTH_TYPE,
1496 ) -> PICO_STATUS,
1497 ::libloading::Error,
1498 >,
1499 pub ps5000aSetPulseWidthQualifierProperties: Result<
1500 unsafe extern "C" fn(
1501 handle: i16,
1502 lower: u32,
1503 upper: u32,
1504 type_: PS5000A_PULSE_WIDTH_TYPE,
1505 ) -> PICO_STATUS,
1506 ::libloading::Error,
1507 >,
1508 pub ps5000aSetPulseWidthQualifierConditions: Result<
1509 unsafe extern "C" fn(
1510 handle: i16,
1511 conditions: *mut PS5000A_CONDITION,
1512 nConditions: i16,
1513 info: PS5000A_CONDITIONS_INFO,
1514 ) -> PICO_STATUS,
1515 ::libloading::Error,
1516 >,
1517 pub ps5000aSetPulseWidthQualifierDirections: Result<
1518 unsafe extern "C" fn(
1519 handle: i16,
1520 directions: *mut PS5000A_DIRECTION,
1521 nDirections: i16,
1522 ) -> PICO_STATUS,
1523 ::libloading::Error,
1524 >,
1525 pub ps5000aIsTriggerOrPulseWidthQualifierEnabled: Result<
1526 unsafe extern "C" fn(
1527 handle: i16,
1528 triggerEnabled: *mut i16,
1529 pulseWidthQualifierEnabled: *mut i16,
1530 ) -> PICO_STATUS,
1531 ::libloading::Error,
1532 >,
1533 pub ps5000aGetTriggerTimeOffset: Result<
1534 unsafe extern "C" fn(
1535 handle: i16,
1536 timeUpper: *mut u32,
1537 timeLower: *mut u32,
1538 timeUnits: *mut PS5000A_TIME_UNITS,
1539 segmentIndex: u32,
1540 ) -> PICO_STATUS,
1541 ::libloading::Error,
1542 >,
1543 pub ps5000aGetTriggerTimeOffset64: Result<
1544 unsafe extern "C" fn(
1545 handle: i16,
1546 time: *mut i64,
1547 timeUnits: *mut PS5000A_TIME_UNITS,
1548 segmentIndex: u32,
1549 ) -> PICO_STATUS,
1550 ::libloading::Error,
1551 >,
1552 pub ps5000aGetValuesTriggerTimeOffsetBulk: Result<
1553 unsafe extern "C" fn(
1554 handle: i16,
1555 timesUpper: *mut u32,
1556 timesLower: *mut u32,
1557 timeUnits: *mut PS5000A_TIME_UNITS,
1558 fromSegmentIndex: u32,
1559 toSegmentIndex: u32,
1560 ) -> PICO_STATUS,
1561 ::libloading::Error,
1562 >,
1563 pub ps5000aGetValuesTriggerTimeOffsetBulk64: Result<
1564 unsafe extern "C" fn(
1565 handle: i16,
1566 times: *mut i64,
1567 timeUnits: *mut PS5000A_TIME_UNITS,
1568 fromSegmentIndex: u32,
1569 toSegmentIndex: u32,
1570 ) -> PICO_STATUS,
1571 ::libloading::Error,
1572 >,
1573 pub ps5000aSetDataBuffers: Result<
1574 unsafe extern "C" fn(
1575 handle: i16,
1576 source: PS5000A_CHANNEL,
1577 bufferMax: *mut i16,
1578 bufferMin: *mut i16,
1579 bufferLth: i32,
1580 segmentIndex: u32,
1581 mode: PS5000A_RATIO_MODE,
1582 ) -> PICO_STATUS,
1583 ::libloading::Error,
1584 >,
1585 pub ps5000aSetDataBuffer: Result<
1586 unsafe extern "C" fn(
1587 handle: i16,
1588 source: PS5000A_CHANNEL,
1589 buffer: *mut i16,
1590 bufferLth: i32,
1591 segmentIndex: u32,
1592 mode: PS5000A_RATIO_MODE,
1593 ) -> PICO_STATUS,
1594 ::libloading::Error,
1595 >,
1596 pub ps5000aSetUnscaledDataBuffers: Result<
1597 unsafe extern "C" fn(
1598 handle: i16,
1599 source: PS5000A_CHANNEL,
1600 bufferMax: *mut i8,
1601 bufferMin: *mut i8,
1602 bufferLth: i32,
1603 segmentIndex: u32,
1604 mode: PS5000A_RATIO_MODE,
1605 ) -> PICO_STATUS,
1606 ::libloading::Error,
1607 >,
1608 pub ps5000aSetEtsTimeBuffer: Result<
1609 unsafe extern "C" fn(handle: i16, buffer: *mut i64, bufferLth: i32) -> PICO_STATUS,
1610 ::libloading::Error,
1611 >,
1612 pub ps5000aSetEtsTimeBuffers: Result<
1613 unsafe extern "C" fn(
1614 handle: i16,
1615 timeUpper: *mut u32,
1616 timeLower: *mut u32,
1617 bufferLth: i32,
1618 ) -> PICO_STATUS,
1619 ::libloading::Error,
1620 >,
1621 pub ps5000aIsReady: Result<
1622 unsafe extern "C" fn(handle: i16, ready: *mut i16) -> PICO_STATUS,
1623 ::libloading::Error,
1624 >,
1625 pub ps5000aRunBlock: Result<
1626 unsafe extern "C" fn(
1627 handle: i16,
1628 noOfPreTriggerSamples: i32,
1629 noOfPostTriggerSamples: i32,
1630 timebase: u32,
1631 timeIndisposedMs: *mut i32,
1632 segmentIndex: u32,
1633 lpReady: ps5000aBlockReady,
1634 pParameter: *mut ::std::os::raw::c_void,
1635 ) -> PICO_STATUS,
1636 ::libloading::Error,
1637 >,
1638 pub ps5000aRunStreaming: Result<
1639 unsafe extern "C" fn(
1640 handle: i16,
1641 sampleInterval: *mut u32,
1642 sampleIntervalTimeUnits: PS5000A_TIME_UNITS,
1643 maxPreTriggerSamples: u32,
1644 maxPostTriggerSamples: u32,
1645 autoStop: i16,
1646 downSampleRatio: u32,
1647 downSampleRatioMode: PS5000A_RATIO_MODE,
1648 overviewBufferSize: u32,
1649 ) -> PICO_STATUS,
1650 ::libloading::Error,
1651 >,
1652 pub ps5000aGetStreamingLatestValues: Result<
1653 unsafe extern "C" fn(
1654 handle: i16,
1655 lpPs5000aReady: ps5000aStreamingReady,
1656 pParameter: *mut ::std::os::raw::c_void,
1657 ) -> PICO_STATUS,
1658 ::libloading::Error,
1659 >,
1660 pub ps5000aNoOfStreamingValues: Result<
1661 unsafe extern "C" fn(handle: i16, noOfValues: *mut u32) -> PICO_STATUS,
1662 ::libloading::Error,
1663 >,
1664 pub ps5000aGetMaxDownSampleRatio: Result<
1665 unsafe extern "C" fn(
1666 handle: i16,
1667 noOfUnaggreatedSamples: u32,
1668 maxDownSampleRatio: *mut u32,
1669 downSampleRatioMode: PS5000A_RATIO_MODE,
1670 segmentIndex: u32,
1671 ) -> PICO_STATUS,
1672 ::libloading::Error,
1673 >,
1674 pub ps5000aGetValues: Result<
1675 unsafe extern "C" fn(
1676 handle: i16,
1677 startIndex: u32,
1678 noOfSamples: *mut u32,
1679 downSampleRatio: u32,
1680 downSampleRatioMode: PS5000A_RATIO_MODE,
1681 segmentIndex: u32,
1682 overflow: *mut i16,
1683 ) -> PICO_STATUS,
1684 ::libloading::Error,
1685 >,
1686 pub ps5000aGetValuesAsync: Result<
1687 unsafe extern "C" fn(
1688 handle: i16,
1689 startIndex: u32,
1690 noOfSamples: u32,
1691 downSampleRatio: u32,
1692 downSampleRatioMode: PS5000A_RATIO_MODE,
1693 segmentIndex: u32,
1694 lpDataReady: *mut ::std::os::raw::c_void,
1695 pParameter: *mut ::std::os::raw::c_void,
1696 ) -> PICO_STATUS,
1697 ::libloading::Error,
1698 >,
1699 pub ps5000aGetValuesBulk: Result<
1700 unsafe extern "C" fn(
1701 handle: i16,
1702 noOfSamples: *mut u32,
1703 fromSegmentIndex: u32,
1704 toSegmentIndex: u32,
1705 downSampleRatio: u32,
1706 downSampleRatioMode: PS5000A_RATIO_MODE,
1707 overflow: *mut i16,
1708 ) -> PICO_STATUS,
1709 ::libloading::Error,
1710 >,
1711 pub ps5000aGetValuesOverlapped: Result<
1712 unsafe extern "C" fn(
1713 handle: i16,
1714 startIndex: u32,
1715 noOfSamples: *mut u32,
1716 downSampleRatio: u32,
1717 downSampleRatioMode: PS5000A_RATIO_MODE,
1718 segmentIndex: u32,
1719 overflow: *mut i16,
1720 ) -> PICO_STATUS,
1721 ::libloading::Error,
1722 >,
1723 pub ps5000aGetValuesOverlappedBulk: Result<
1724 unsafe extern "C" fn(
1725 handle: i16,
1726 startIndex: u32,
1727 noOfSamples: *mut u32,
1728 downSampleRatio: u32,
1729 downSampleRatioMode: PS5000A_RATIO_MODE,
1730 fromSegmentIndex: u32,
1731 toSegmentIndex: u32,
1732 overflow: *mut i16,
1733 ) -> PICO_STATUS,
1734 ::libloading::Error,
1735 >,
1736 pub ps5000aTriggerWithinPreTriggerSamples: Result<
1737 unsafe extern "C" fn(handle: i16, state: PS5000A_TRIGGER_WITHIN_PRE_TRIGGER) -> PICO_STATUS,
1738 ::libloading::Error,
1739 >,
1740 pub ps5000aGetTriggerInfoBulk: Result<
1741 unsafe extern "C" fn(
1742 handle: i16,
1743 triggerInfo: *mut PS5000A_TRIGGER_INFO,
1744 fromSegmentIndex: u32,
1745 toSegmentIndex: u32,
1746 ) -> PICO_STATUS,
1747 ::libloading::Error,
1748 >,
1749 pub ps5000aEnumerateUnits: Result<
1750 unsafe extern "C" fn(count: *mut i16, serials: *mut i8, serialLth: *mut i16) -> PICO_STATUS,
1751 ::libloading::Error,
1752 >,
1753 pub ps5000aGetChannelInformation: Result<
1754 unsafe extern "C" fn(
1755 handle: i16,
1756 info: PS5000A_CHANNEL_INFO,
1757 probe: i32,
1758 ranges: *mut i32,
1759 length: *mut i32,
1760 channels: i32,
1761 ) -> PICO_STATUS,
1762 ::libloading::Error,
1763 >,
1764 pub ps5000aMaximumValue: Result<
1765 unsafe extern "C" fn(handle: i16, value: *mut i16) -> PICO_STATUS,
1766 ::libloading::Error,
1767 >,
1768 pub ps5000aMinimumValue: Result<
1769 unsafe extern "C" fn(handle: i16, value: *mut i16) -> PICO_STATUS,
1770 ::libloading::Error,
1771 >,
1772 pub ps5000aGetAnalogueOffset: Result<
1773 unsafe extern "C" fn(
1774 handle: i16,
1775 range: PS5000A_RANGE,
1776 coupling: PS5000A_COUPLING,
1777 maximumVoltage: *mut f32,
1778 minimumVoltage: *mut f32,
1779 ) -> PICO_STATUS,
1780 ::libloading::Error,
1781 >,
1782 pub ps5000aGetMaxSegments: Result<
1783 unsafe extern "C" fn(handle: i16, maxSegments: *mut u32) -> PICO_STATUS,
1784 ::libloading::Error,
1785 >,
1786 pub ps5000aChangePowerSource: Result<
1787 unsafe extern "C" fn(handle: i16, powerState: PICO_STATUS) -> PICO_STATUS,
1788 ::libloading::Error,
1789 >,
1790 pub ps5000aCurrentPowerSource:
1791 Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1792 pub ps5000aStop: Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1793 pub ps5000aPingUnit:
1794 Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1795 pub ps5000aSetNoOfCaptures: Result<
1796 unsafe extern "C" fn(handle: i16, nCaptures: u32) -> PICO_STATUS,
1797 ::libloading::Error,
1798 >,
1799 pub ps5000aGetNoOfCaptures: Result<
1800 unsafe extern "C" fn(handle: i16, nCaptures: *mut u32) -> PICO_STATUS,
1801 ::libloading::Error,
1802 >,
1803 pub ps5000aGetNoOfProcessedCaptures: Result<
1804 unsafe extern "C" fn(handle: i16, nProcessedCaptures: *mut u32) -> PICO_STATUS,
1805 ::libloading::Error,
1806 >,
1807 pub ps5000aSetDeviceResolution: Result<
1808 unsafe extern "C" fn(handle: i16, resolution: PS5000A_DEVICE_RESOLUTION) -> PICO_STATUS,
1809 ::libloading::Error,
1810 >,
1811 pub ps5000aGetDeviceResolution: Result<
1812 unsafe extern "C" fn(
1813 handle: i16,
1814 resolution: *mut PS5000A_DEVICE_RESOLUTION,
1815 ) -> PICO_STATUS,
1816 ::libloading::Error,
1817 >,
1818 pub ps5000aQueryOutputEdgeDetect: Result<
1819 unsafe extern "C" fn(handle: i16, state: *mut i16) -> PICO_STATUS,
1820 ::libloading::Error,
1821 >,
1822 pub ps5000aSetOutputEdgeDetect:
1823 Result<unsafe extern "C" fn(handle: i16, state: i16) -> PICO_STATUS, ::libloading::Error>,
1824 pub ps5000aGetScalingValues: Result<
1825 unsafe extern "C" fn(
1826 handle: i16,
1827 scalingValues: *mut PS5000A_SCALING_FACTORS_VALUES,
1828 nChannels: i16,
1829 ) -> PICO_STATUS,
1830 ::libloading::Error,
1831 >,
1832 pub ps5000aCheckForUpdate: Result<
1833 unsafe extern "C" fn(
1834 handle: i16,
1835 current: *mut PICO_VERSION,
1836 update: *mut PICO_VERSION,
1837 updateRequired: *mut u16,
1838 ) -> PICO_STATUS,
1839 ::libloading::Error,
1840 >,
1841 pub ps5000aStartFirmwareUpdate: Result<
1842 unsafe extern "C" fn(handle: i16, progress: PicoUpdateFirmwareProgress) -> PICO_STATUS,
1843 ::libloading::Error,
1844 >,
1845}
1846impl PS5000ALoader {
1847 pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
1848 where
1849 P: AsRef<::std::ffi::OsStr>,
1850 {
1851 let __library = ::libloading::Library::new(path)?;
1852 let ps5000aApplyFix = __library.get(b"ps5000aApplyFix\0").map(|sym| *sym);
1853 let ps5000aOpenUnit = __library.get(b"ps5000aOpenUnit\0").map(|sym| *sym);
1854 let ps5000aOpenUnitAsync = __library.get(b"ps5000aOpenUnitAsync\0").map(|sym| *sym);
1855 let ps5000aOpenUnitProgress = __library.get(b"ps5000aOpenUnitProgress\0").map(|sym| *sym);
1856 let ps5000aGetUnitInfo = __library.get(b"ps5000aGetUnitInfo\0").map(|sym| *sym);
1857 let ps5000aFlashLed = __library.get(b"ps5000aFlashLed\0").map(|sym| *sym);
1858 let ps5000aIsLedFlashing = __library.get(b"ps5000aIsLedFlashing\0").map(|sym| *sym);
1859 let ps5000aCloseUnit = __library.get(b"ps5000aCloseUnit\0").map(|sym| *sym);
1860 let ps5000aMemorySegments = __library.get(b"ps5000aMemorySegments\0").map(|sym| *sym);
1861 let ps5000aSetChannel = __library.get(b"ps5000aSetChannel\0").map(|sym| *sym);
1862 let ps5000aSetDigitalPort = __library.get(b"ps5000aSetDigitalPort\0").map(|sym| *sym);
1863 let ps5000aSetBandwidthFilter = __library
1864 .get(b"ps5000aSetBandwidthFilter\0")
1865 .map(|sym| *sym);
1866 let ps5000aGetTimebase = __library.get(b"ps5000aGetTimebase\0").map(|sym| *sym);
1867 let ps5000aGetTimebase2 = __library.get(b"ps5000aGetTimebase2\0").map(|sym| *sym);
1868 let ps5000aNearestSampleIntervalStateless = __library
1869 .get(b"ps5000aNearestSampleIntervalStateless\0")
1870 .map(|sym| *sym);
1871 let ps5000aGetMinimumTimebaseStateless = __library
1872 .get(b"ps5000aGetMinimumTimebaseStateless\0")
1873 .map(|sym| *sym);
1874 let ps5000aChannelCombinationsStateless = __library
1875 .get(b"ps5000aChannelCombinationsStateless\0")
1876 .map(|sym| *sym);
1877 let ps5000aSetSigGenArbitrary = __library
1878 .get(b"ps5000aSetSigGenArbitrary\0")
1879 .map(|sym| *sym);
1880 let ps5000aSetSigGenBuiltIn = __library.get(b"ps5000aSetSigGenBuiltIn\0").map(|sym| *sym);
1881 let ps5000aSetSigGenBuiltInV2 = __library
1882 .get(b"ps5000aSetSigGenBuiltInV2\0")
1883 .map(|sym| *sym);
1884 let ps5000aSetSigGenPropertiesArbitrary = __library
1885 .get(b"ps5000aSetSigGenPropertiesArbitrary\0")
1886 .map(|sym| *sym);
1887 let ps5000aSetSigGenPropertiesBuiltIn = __library
1888 .get(b"ps5000aSetSigGenPropertiesBuiltIn\0")
1889 .map(|sym| *sym);
1890 let ps5000aSigGenFrequencyToPhase = __library
1891 .get(b"ps5000aSigGenFrequencyToPhase\0")
1892 .map(|sym| *sym);
1893 let ps5000aSigGenArbitraryMinMaxValues = __library
1894 .get(b"ps5000aSigGenArbitraryMinMaxValues\0")
1895 .map(|sym| *sym);
1896 let ps5000aSigGenSoftwareControl = __library
1897 .get(b"ps5000aSigGenSoftwareControl\0")
1898 .map(|sym| *sym);
1899 let ps5000aSetEts = __library.get(b"ps5000aSetEts\0").map(|sym| *sym);
1900 let ps5000aSetTriggerChannelProperties = __library
1901 .get(b"ps5000aSetTriggerChannelProperties\0")
1902 .map(|sym| *sym);
1903 let ps5000aSetTriggerChannelPropertiesV2 = __library
1904 .get(b"ps5000aSetTriggerChannelPropertiesV2\0")
1905 .map(|sym| *sym);
1906 let ps5000aSetAutoTriggerMicroSeconds = __library
1907 .get(b"ps5000aSetAutoTriggerMicroSeconds\0")
1908 .map(|sym| *sym);
1909 let ps5000aSetTriggerChannelConditions = __library
1910 .get(b"ps5000aSetTriggerChannelConditions\0")
1911 .map(|sym| *sym);
1912 let ps5000aSetTriggerChannelConditionsV2 = __library
1913 .get(b"ps5000aSetTriggerChannelConditionsV2\0")
1914 .map(|sym| *sym);
1915 let ps5000aSetTriggerChannelDirections = __library
1916 .get(b"ps5000aSetTriggerChannelDirections\0")
1917 .map(|sym| *sym);
1918 let ps5000aSetTriggerChannelDirectionsV2 = __library
1919 .get(b"ps5000aSetTriggerChannelDirectionsV2\0")
1920 .map(|sym| *sym);
1921 let ps5000aSetSimpleTrigger = __library.get(b"ps5000aSetSimpleTrigger\0").map(|sym| *sym);
1922 let ps5000aSetTriggerDigitalPortProperties = __library
1923 .get(b"ps5000aSetTriggerDigitalPortProperties\0")
1924 .map(|sym| *sym);
1925 let ps5000aSetPulseWidthDigitalPortProperties = __library
1926 .get(b"ps5000aSetPulseWidthDigitalPortProperties\0")
1927 .map(|sym| *sym);
1928 let ps5000aSetTriggerDelay = __library.get(b"ps5000aSetTriggerDelay\0").map(|sym| *sym);
1929 let ps5000aSetPulseWidthQualifier = __library
1930 .get(b"ps5000aSetPulseWidthQualifier\0")
1931 .map(|sym| *sym);
1932 let ps5000aSetPulseWidthQualifierProperties = __library
1933 .get(b"ps5000aSetPulseWidthQualifierProperties\0")
1934 .map(|sym| *sym);
1935 let ps5000aSetPulseWidthQualifierConditions = __library
1936 .get(b"ps5000aSetPulseWidthQualifierConditions\0")
1937 .map(|sym| *sym);
1938 let ps5000aSetPulseWidthQualifierDirections = __library
1939 .get(b"ps5000aSetPulseWidthQualifierDirections\0")
1940 .map(|sym| *sym);
1941 let ps5000aIsTriggerOrPulseWidthQualifierEnabled = __library
1942 .get(b"ps5000aIsTriggerOrPulseWidthQualifierEnabled\0")
1943 .map(|sym| *sym);
1944 let ps5000aGetTriggerTimeOffset = __library
1945 .get(b"ps5000aGetTriggerTimeOffset\0")
1946 .map(|sym| *sym);
1947 let ps5000aGetTriggerTimeOffset64 = __library
1948 .get(b"ps5000aGetTriggerTimeOffset64\0")
1949 .map(|sym| *sym);
1950 let ps5000aGetValuesTriggerTimeOffsetBulk = __library
1951 .get(b"ps5000aGetValuesTriggerTimeOffsetBulk\0")
1952 .map(|sym| *sym);
1953 let ps5000aGetValuesTriggerTimeOffsetBulk64 = __library
1954 .get(b"ps5000aGetValuesTriggerTimeOffsetBulk64\0")
1955 .map(|sym| *sym);
1956 let ps5000aSetDataBuffers = __library.get(b"ps5000aSetDataBuffers\0").map(|sym| *sym);
1957 let ps5000aSetDataBuffer = __library.get(b"ps5000aSetDataBuffer\0").map(|sym| *sym);
1958 let ps5000aSetUnscaledDataBuffers = __library
1959 .get(b"ps5000aSetUnscaledDataBuffers\0")
1960 .map(|sym| *sym);
1961 let ps5000aSetEtsTimeBuffer = __library.get(b"ps5000aSetEtsTimeBuffer\0").map(|sym| *sym);
1962 let ps5000aSetEtsTimeBuffers = __library.get(b"ps5000aSetEtsTimeBuffers\0").map(|sym| *sym);
1963 let ps5000aIsReady = __library.get(b"ps5000aIsReady\0").map(|sym| *sym);
1964 let ps5000aRunBlock = __library.get(b"ps5000aRunBlock\0").map(|sym| *sym);
1965 let ps5000aRunStreaming = __library.get(b"ps5000aRunStreaming\0").map(|sym| *sym);
1966 let ps5000aGetStreamingLatestValues = __library
1967 .get(b"ps5000aGetStreamingLatestValues\0")
1968 .map(|sym| *sym);
1969 let ps5000aNoOfStreamingValues = __library
1970 .get(b"ps5000aNoOfStreamingValues\0")
1971 .map(|sym| *sym);
1972 let ps5000aGetMaxDownSampleRatio = __library
1973 .get(b"ps5000aGetMaxDownSampleRatio\0")
1974 .map(|sym| *sym);
1975 let ps5000aGetValues = __library.get(b"ps5000aGetValues\0").map(|sym| *sym);
1976 let ps5000aGetValuesAsync = __library.get(b"ps5000aGetValuesAsync\0").map(|sym| *sym);
1977 let ps5000aGetValuesBulk = __library.get(b"ps5000aGetValuesBulk\0").map(|sym| *sym);
1978 let ps5000aGetValuesOverlapped = __library
1979 .get(b"ps5000aGetValuesOverlapped\0")
1980 .map(|sym| *sym);
1981 let ps5000aGetValuesOverlappedBulk = __library
1982 .get(b"ps5000aGetValuesOverlappedBulk\0")
1983 .map(|sym| *sym);
1984 let ps5000aTriggerWithinPreTriggerSamples = __library
1985 .get(b"ps5000aTriggerWithinPreTriggerSamples\0")
1986 .map(|sym| *sym);
1987 let ps5000aGetTriggerInfoBulk = __library
1988 .get(b"ps5000aGetTriggerInfoBulk\0")
1989 .map(|sym| *sym);
1990 let ps5000aEnumerateUnits = __library.get(b"ps5000aEnumerateUnits\0").map(|sym| *sym);
1991 let ps5000aGetChannelInformation = __library
1992 .get(b"ps5000aGetChannelInformation\0")
1993 .map(|sym| *sym);
1994 let ps5000aMaximumValue = __library.get(b"ps5000aMaximumValue\0").map(|sym| *sym);
1995 let ps5000aMinimumValue = __library.get(b"ps5000aMinimumValue\0").map(|sym| *sym);
1996 let ps5000aGetAnalogueOffset = __library.get(b"ps5000aGetAnalogueOffset\0").map(|sym| *sym);
1997 let ps5000aGetMaxSegments = __library.get(b"ps5000aGetMaxSegments\0").map(|sym| *sym);
1998 let ps5000aChangePowerSource = __library.get(b"ps5000aChangePowerSource\0").map(|sym| *sym);
1999 let ps5000aCurrentPowerSource = __library
2000 .get(b"ps5000aCurrentPowerSource\0")
2001 .map(|sym| *sym);
2002 let ps5000aStop = __library.get(b"ps5000aStop\0").map(|sym| *sym);
2003 let ps5000aPingUnit = __library.get(b"ps5000aPingUnit\0").map(|sym| *sym);
2004 let ps5000aSetNoOfCaptures = __library.get(b"ps5000aSetNoOfCaptures\0").map(|sym| *sym);
2005 let ps5000aGetNoOfCaptures = __library.get(b"ps5000aGetNoOfCaptures\0").map(|sym| *sym);
2006 let ps5000aGetNoOfProcessedCaptures = __library
2007 .get(b"ps5000aGetNoOfProcessedCaptures\0")
2008 .map(|sym| *sym);
2009 let ps5000aSetDeviceResolution = __library
2010 .get(b"ps5000aSetDeviceResolution\0")
2011 .map(|sym| *sym);
2012 let ps5000aGetDeviceResolution = __library
2013 .get(b"ps5000aGetDeviceResolution\0")
2014 .map(|sym| *sym);
2015 let ps5000aQueryOutputEdgeDetect = __library
2016 .get(b"ps5000aQueryOutputEdgeDetect\0")
2017 .map(|sym| *sym);
2018 let ps5000aSetOutputEdgeDetect = __library
2019 .get(b"ps5000aSetOutputEdgeDetect\0")
2020 .map(|sym| *sym);
2021 let ps5000aGetScalingValues = __library.get(b"ps5000aGetScalingValues\0").map(|sym| *sym);
2022 let ps5000aCheckForUpdate = __library.get(b"ps5000aCheckForUpdate\0").map(|sym| *sym);
2023 let ps5000aStartFirmwareUpdate = __library
2024 .get(b"ps5000aStartFirmwareUpdate\0")
2025 .map(|sym| *sym);
2026 Ok(PS5000ALoader {
2027 __library,
2028 ps5000aApplyFix,
2029 ps5000aOpenUnit,
2030 ps5000aOpenUnitAsync,
2031 ps5000aOpenUnitProgress,
2032 ps5000aGetUnitInfo,
2033 ps5000aFlashLed,
2034 ps5000aIsLedFlashing,
2035 ps5000aCloseUnit,
2036 ps5000aMemorySegments,
2037 ps5000aSetChannel,
2038 ps5000aSetDigitalPort,
2039 ps5000aSetBandwidthFilter,
2040 ps5000aGetTimebase,
2041 ps5000aGetTimebase2,
2042 ps5000aNearestSampleIntervalStateless,
2043 ps5000aGetMinimumTimebaseStateless,
2044 ps5000aChannelCombinationsStateless,
2045 ps5000aSetSigGenArbitrary,
2046 ps5000aSetSigGenBuiltIn,
2047 ps5000aSetSigGenBuiltInV2,
2048 ps5000aSetSigGenPropertiesArbitrary,
2049 ps5000aSetSigGenPropertiesBuiltIn,
2050 ps5000aSigGenFrequencyToPhase,
2051 ps5000aSigGenArbitraryMinMaxValues,
2052 ps5000aSigGenSoftwareControl,
2053 ps5000aSetEts,
2054 ps5000aSetTriggerChannelProperties,
2055 ps5000aSetTriggerChannelPropertiesV2,
2056 ps5000aSetAutoTriggerMicroSeconds,
2057 ps5000aSetTriggerChannelConditions,
2058 ps5000aSetTriggerChannelConditionsV2,
2059 ps5000aSetTriggerChannelDirections,
2060 ps5000aSetTriggerChannelDirectionsV2,
2061 ps5000aSetSimpleTrigger,
2062 ps5000aSetTriggerDigitalPortProperties,
2063 ps5000aSetPulseWidthDigitalPortProperties,
2064 ps5000aSetTriggerDelay,
2065 ps5000aSetPulseWidthQualifier,
2066 ps5000aSetPulseWidthQualifierProperties,
2067 ps5000aSetPulseWidthQualifierConditions,
2068 ps5000aSetPulseWidthQualifierDirections,
2069 ps5000aIsTriggerOrPulseWidthQualifierEnabled,
2070 ps5000aGetTriggerTimeOffset,
2071 ps5000aGetTriggerTimeOffset64,
2072 ps5000aGetValuesTriggerTimeOffsetBulk,
2073 ps5000aGetValuesTriggerTimeOffsetBulk64,
2074 ps5000aSetDataBuffers,
2075 ps5000aSetDataBuffer,
2076 ps5000aSetUnscaledDataBuffers,
2077 ps5000aSetEtsTimeBuffer,
2078 ps5000aSetEtsTimeBuffers,
2079 ps5000aIsReady,
2080 ps5000aRunBlock,
2081 ps5000aRunStreaming,
2082 ps5000aGetStreamingLatestValues,
2083 ps5000aNoOfStreamingValues,
2084 ps5000aGetMaxDownSampleRatio,
2085 ps5000aGetValues,
2086 ps5000aGetValuesAsync,
2087 ps5000aGetValuesBulk,
2088 ps5000aGetValuesOverlapped,
2089 ps5000aGetValuesOverlappedBulk,
2090 ps5000aTriggerWithinPreTriggerSamples,
2091 ps5000aGetTriggerInfoBulk,
2092 ps5000aEnumerateUnits,
2093 ps5000aGetChannelInformation,
2094 ps5000aMaximumValue,
2095 ps5000aMinimumValue,
2096 ps5000aGetAnalogueOffset,
2097 ps5000aGetMaxSegments,
2098 ps5000aChangePowerSource,
2099 ps5000aCurrentPowerSource,
2100 ps5000aStop,
2101 ps5000aPingUnit,
2102 ps5000aSetNoOfCaptures,
2103 ps5000aGetNoOfCaptures,
2104 ps5000aGetNoOfProcessedCaptures,
2105 ps5000aSetDeviceResolution,
2106 ps5000aGetDeviceResolution,
2107 ps5000aQueryOutputEdgeDetect,
2108 ps5000aSetOutputEdgeDetect,
2109 ps5000aGetScalingValues,
2110 ps5000aCheckForUpdate,
2111 ps5000aStartFirmwareUpdate,
2112 })
2113 }
2114 pub unsafe fn ps5000aApplyFix(&self, a: u32, b: u16) {
2115 let sym = self
2116 .ps5000aApplyFix
2117 .as_ref()
2118 .expect("Expected function, got error.");
2119 (sym)(a, b)
2120 }
2121 pub unsafe fn ps5000aOpenUnit(
2122 &self,
2123 handle: *mut i16,
2124 serial: *mut i8,
2125 resolution: PS5000A_DEVICE_RESOLUTION,
2126 ) -> PICO_STATUS {
2127 let sym = self
2128 .ps5000aOpenUnit
2129 .as_ref()
2130 .expect("Expected function, got error.");
2131 (sym)(handle, serial, resolution)
2132 }
2133 pub unsafe fn ps5000aOpenUnitAsync(
2134 &self,
2135 status: *mut i16,
2136 serial: *mut i8,
2137 resolution: PS5000A_DEVICE_RESOLUTION,
2138 ) -> PICO_STATUS {
2139 let sym = self
2140 .ps5000aOpenUnitAsync
2141 .as_ref()
2142 .expect("Expected function, got error.");
2143 (sym)(status, serial, resolution)
2144 }
2145 pub unsafe fn ps5000aOpenUnitProgress(
2146 &self,
2147 handle: *mut i16,
2148 progressPercent: *mut i16,
2149 complete: *mut i16,
2150 ) -> PICO_STATUS {
2151 let sym = self
2152 .ps5000aOpenUnitProgress
2153 .as_ref()
2154 .expect("Expected function, got error.");
2155 (sym)(handle, progressPercent, complete)
2156 }
2157 pub unsafe fn ps5000aGetUnitInfo(
2158 &self,
2159 handle: i16,
2160 string: *mut i8,
2161 stringLength: i16,
2162 requiredSize: *mut i16,
2163 info: PICO_INFO,
2164 ) -> PICO_STATUS {
2165 let sym = self
2166 .ps5000aGetUnitInfo
2167 .as_ref()
2168 .expect("Expected function, got error.");
2169 (sym)(handle, string, stringLength, requiredSize, info)
2170 }
2171 pub unsafe fn ps5000aFlashLed(&self, handle: i16, start: i16) -> PICO_STATUS {
2172 let sym = self
2173 .ps5000aFlashLed
2174 .as_ref()
2175 .expect("Expected function, got error.");
2176 (sym)(handle, start)
2177 }
2178 pub unsafe fn ps5000aIsLedFlashing(&self, handle: i16, status: *mut i16) -> PICO_STATUS {
2179 let sym = self
2180 .ps5000aIsLedFlashing
2181 .as_ref()
2182 .expect("Expected function, got error.");
2183 (sym)(handle, status)
2184 }
2185 pub unsafe fn ps5000aCloseUnit(&self, handle: i16) -> PICO_STATUS {
2186 let sym = self
2187 .ps5000aCloseUnit
2188 .as_ref()
2189 .expect("Expected function, got error.");
2190 (sym)(handle)
2191 }
2192 pub unsafe fn ps5000aMemorySegments(
2193 &self,
2194 handle: i16,
2195 nSegments: u32,
2196 nMaxSamples: *mut i32,
2197 ) -> PICO_STATUS {
2198 let sym = self
2199 .ps5000aMemorySegments
2200 .as_ref()
2201 .expect("Expected function, got error.");
2202 (sym)(handle, nSegments, nMaxSamples)
2203 }
2204 pub unsafe fn ps5000aSetChannel(
2205 &self,
2206 handle: i16,
2207 channel: PS5000A_CHANNEL,
2208 enabled: i16,
2209 type_: PS5000A_COUPLING,
2210 range: PS5000A_RANGE,
2211 analogOffset: f32,
2212 ) -> PICO_STATUS {
2213 let sym = self
2214 .ps5000aSetChannel
2215 .as_ref()
2216 .expect("Expected function, got error.");
2217 (sym)(handle, channel, enabled, type_, range, analogOffset)
2218 }
2219 pub unsafe fn ps5000aSetDigitalPort(
2220 &self,
2221 handle: i16,
2222 port: PS5000A_CHANNEL,
2223 enabled: i16,
2224 logicLevel: i16,
2225 ) -> PICO_STATUS {
2226 let sym = self
2227 .ps5000aSetDigitalPort
2228 .as_ref()
2229 .expect("Expected function, got error.");
2230 (sym)(handle, port, enabled, logicLevel)
2231 }
2232 pub unsafe fn ps5000aSetBandwidthFilter(
2233 &self,
2234 handle: i16,
2235 channel: PS5000A_CHANNEL,
2236 bandwidth: PS5000A_BANDWIDTH_LIMITER,
2237 ) -> PICO_STATUS {
2238 let sym = self
2239 .ps5000aSetBandwidthFilter
2240 .as_ref()
2241 .expect("Expected function, got error.");
2242 (sym)(handle, channel, bandwidth)
2243 }
2244 pub unsafe fn ps5000aGetTimebase(
2245 &self,
2246 handle: i16,
2247 timebase: u32,
2248 noSamples: i32,
2249 timeIntervalNanoseconds: *mut i32,
2250 maxSamples: *mut i32,
2251 segmentIndex: u32,
2252 ) -> PICO_STATUS {
2253 let sym = self
2254 .ps5000aGetTimebase
2255 .as_ref()
2256 .expect("Expected function, got error.");
2257 (sym)(
2258 handle,
2259 timebase,
2260 noSamples,
2261 timeIntervalNanoseconds,
2262 maxSamples,
2263 segmentIndex,
2264 )
2265 }
2266 pub unsafe fn ps5000aGetTimebase2(
2267 &self,
2268 handle: i16,
2269 timebase: u32,
2270 noSamples: i32,
2271 timeIntervalNanoseconds: *mut f32,
2272 maxSamples: *mut i32,
2273 segmentIndex: u32,
2274 ) -> PICO_STATUS {
2275 let sym = self
2276 .ps5000aGetTimebase2
2277 .as_ref()
2278 .expect("Expected function, got error.");
2279 (sym)(
2280 handle,
2281 timebase,
2282 noSamples,
2283 timeIntervalNanoseconds,
2284 maxSamples,
2285 segmentIndex,
2286 )
2287 }
2288 pub unsafe fn ps5000aNearestSampleIntervalStateless(
2289 &self,
2290 handle: i16,
2291 enabledChannelOrPortFlags: PS5000A_CHANNEL_FLAGS,
2292 timeIntervalRequested: f64,
2293 resolution: PS5000A_DEVICE_RESOLUTION,
2294 useEts: u16,
2295 timebase: *mut u32,
2296 timeIntervalAvailable: *mut f64,
2297 ) -> PICO_STATUS {
2298 let sym = self
2299 .ps5000aNearestSampleIntervalStateless
2300 .as_ref()
2301 .expect("Expected function, got error.");
2302 (sym)(
2303 handle,
2304 enabledChannelOrPortFlags,
2305 timeIntervalRequested,
2306 resolution,
2307 useEts,
2308 timebase,
2309 timeIntervalAvailable,
2310 )
2311 }
2312 pub unsafe fn ps5000aGetMinimumTimebaseStateless(
2313 &self,
2314 handle: i16,
2315 enabledChannelOrPortFlags: PS5000A_CHANNEL_FLAGS,
2316 timebase: *mut u32,
2317 timeInterval: *mut f64,
2318 resolution: PS5000A_DEVICE_RESOLUTION,
2319 ) -> PICO_STATUS {
2320 let sym = self
2321 .ps5000aGetMinimumTimebaseStateless
2322 .as_ref()
2323 .expect("Expected function, got error.");
2324 (sym)(
2325 handle,
2326 enabledChannelOrPortFlags,
2327 timebase,
2328 timeInterval,
2329 resolution,
2330 )
2331 }
2332 pub unsafe fn ps5000aChannelCombinationsStateless(
2333 &self,
2334 handle: i16,
2335 channelOrPortFlagsCombinations: *mut PS5000A_CHANNEL_FLAGS,
2336 nChannelCombinations: *mut u32,
2337 resolution: PS5000A_DEVICE_RESOLUTION,
2338 timebase: u32,
2339 hasDcPowerSupplyConnected: i16,
2340 ) -> PICO_STATUS {
2341 let sym = self
2342 .ps5000aChannelCombinationsStateless
2343 .as_ref()
2344 .expect("Expected function, got error.");
2345 (sym)(
2346 handle,
2347 channelOrPortFlagsCombinations,
2348 nChannelCombinations,
2349 resolution,
2350 timebase,
2351 hasDcPowerSupplyConnected,
2352 )
2353 }
2354 pub unsafe fn ps5000aSetSigGenArbitrary(
2355 &self,
2356 handle: i16,
2357 offsetVoltage: i32,
2358 pkToPk: u32,
2359 startDeltaPhase: u32,
2360 stopDeltaPhase: u32,
2361 deltaPhaseIncrement: u32,
2362 dwellCount: u32,
2363 arbitraryWaveform: *mut i16,
2364 arbitraryWaveformSize: i32,
2365 sweepType: PS5000A_SWEEP_TYPE,
2366 operation: PS5000A_EXTRA_OPERATIONS,
2367 indexMode: PS5000A_INDEX_MODE,
2368 shots: u32,
2369 sweeps: u32,
2370 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
2371 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
2372 extInThreshold: i16,
2373 ) -> PICO_STATUS {
2374 let sym = self
2375 .ps5000aSetSigGenArbitrary
2376 .as_ref()
2377 .expect("Expected function, got error.");
2378 (sym)(
2379 handle,
2380 offsetVoltage,
2381 pkToPk,
2382 startDeltaPhase,
2383 stopDeltaPhase,
2384 deltaPhaseIncrement,
2385 dwellCount,
2386 arbitraryWaveform,
2387 arbitraryWaveformSize,
2388 sweepType,
2389 operation,
2390 indexMode,
2391 shots,
2392 sweeps,
2393 triggerType,
2394 triggerSource,
2395 extInThreshold,
2396 )
2397 }
2398 pub unsafe fn ps5000aSetSigGenBuiltIn(
2399 &self,
2400 handle: i16,
2401 offsetVoltage: i32,
2402 pkToPk: u32,
2403 waveType: PS5000A_WAVE_TYPE,
2404 startFrequency: f32,
2405 stopFrequency: f32,
2406 increment: f32,
2407 dwellTime: f32,
2408 sweepType: PS5000A_SWEEP_TYPE,
2409 operation: PS5000A_EXTRA_OPERATIONS,
2410 shots: u32,
2411 sweeps: u32,
2412 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
2413 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
2414 extInThreshold: i16,
2415 ) -> PICO_STATUS {
2416 let sym = self
2417 .ps5000aSetSigGenBuiltIn
2418 .as_ref()
2419 .expect("Expected function, got error.");
2420 (sym)(
2421 handle,
2422 offsetVoltage,
2423 pkToPk,
2424 waveType,
2425 startFrequency,
2426 stopFrequency,
2427 increment,
2428 dwellTime,
2429 sweepType,
2430 operation,
2431 shots,
2432 sweeps,
2433 triggerType,
2434 triggerSource,
2435 extInThreshold,
2436 )
2437 }
2438 pub unsafe fn ps5000aSetSigGenBuiltInV2(
2439 &self,
2440 handle: i16,
2441 offsetVoltage: i32,
2442 pkToPk: u32,
2443 waveType: PS5000A_WAVE_TYPE,
2444 startFrequency: f64,
2445 stopFrequency: f64,
2446 increment: f64,
2447 dwellTime: f64,
2448 sweepType: PS5000A_SWEEP_TYPE,
2449 operation: PS5000A_EXTRA_OPERATIONS,
2450 shots: u32,
2451 sweeps: u32,
2452 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
2453 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
2454 extInThreshold: i16,
2455 ) -> PICO_STATUS {
2456 let sym = self
2457 .ps5000aSetSigGenBuiltInV2
2458 .as_ref()
2459 .expect("Expected function, got error.");
2460 (sym)(
2461 handle,
2462 offsetVoltage,
2463 pkToPk,
2464 waveType,
2465 startFrequency,
2466 stopFrequency,
2467 increment,
2468 dwellTime,
2469 sweepType,
2470 operation,
2471 shots,
2472 sweeps,
2473 triggerType,
2474 triggerSource,
2475 extInThreshold,
2476 )
2477 }
2478 pub unsafe fn ps5000aSetSigGenPropertiesArbitrary(
2479 &self,
2480 handle: i16,
2481 startDeltaPhase: u32,
2482 stopDeltaPhase: u32,
2483 deltaPhaseIncrement: u32,
2484 dwellCount: u32,
2485 sweepType: PS5000A_SWEEP_TYPE,
2486 shots: u32,
2487 sweeps: u32,
2488 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
2489 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
2490 extInThreshold: i16,
2491 ) -> PICO_STATUS {
2492 let sym = self
2493 .ps5000aSetSigGenPropertiesArbitrary
2494 .as_ref()
2495 .expect("Expected function, got error.");
2496 (sym)(
2497 handle,
2498 startDeltaPhase,
2499 stopDeltaPhase,
2500 deltaPhaseIncrement,
2501 dwellCount,
2502 sweepType,
2503 shots,
2504 sweeps,
2505 triggerType,
2506 triggerSource,
2507 extInThreshold,
2508 )
2509 }
2510 pub unsafe fn ps5000aSetSigGenPropertiesBuiltIn(
2511 &self,
2512 handle: i16,
2513 startFrequency: f64,
2514 stopFrequency: f64,
2515 increment: f64,
2516 dwellTime: f64,
2517 sweepType: PS5000A_SWEEP_TYPE,
2518 shots: u32,
2519 sweeps: u32,
2520 triggerType: PS5000A_SIGGEN_TRIG_TYPE,
2521 triggerSource: PS5000A_SIGGEN_TRIG_SOURCE,
2522 extInThreshold: i16,
2523 ) -> PICO_STATUS {
2524 let sym = self
2525 .ps5000aSetSigGenPropertiesBuiltIn
2526 .as_ref()
2527 .expect("Expected function, got error.");
2528 (sym)(
2529 handle,
2530 startFrequency,
2531 stopFrequency,
2532 increment,
2533 dwellTime,
2534 sweepType,
2535 shots,
2536 sweeps,
2537 triggerType,
2538 triggerSource,
2539 extInThreshold,
2540 )
2541 }
2542 pub unsafe fn ps5000aSigGenFrequencyToPhase(
2543 &self,
2544 handle: i16,
2545 frequency: f64,
2546 indexMode: PS5000A_INDEX_MODE,
2547 bufferLength: u32,
2548 phase: *mut u32,
2549 ) -> PICO_STATUS {
2550 let sym = self
2551 .ps5000aSigGenFrequencyToPhase
2552 .as_ref()
2553 .expect("Expected function, got error.");
2554 (sym)(handle, frequency, indexMode, bufferLength, phase)
2555 }
2556 pub unsafe fn ps5000aSigGenArbitraryMinMaxValues(
2557 &self,
2558 handle: i16,
2559 minArbitraryWaveformValue: *mut i16,
2560 maxArbitraryWaveformValue: *mut i16,
2561 minArbitraryWaveformSize: *mut u32,
2562 maxArbitraryWaveformSize: *mut u32,
2563 ) -> PICO_STATUS {
2564 let sym = self
2565 .ps5000aSigGenArbitraryMinMaxValues
2566 .as_ref()
2567 .expect("Expected function, got error.");
2568 (sym)(
2569 handle,
2570 minArbitraryWaveformValue,
2571 maxArbitraryWaveformValue,
2572 minArbitraryWaveformSize,
2573 maxArbitraryWaveformSize,
2574 )
2575 }
2576 pub unsafe fn ps5000aSigGenSoftwareControl(&self, handle: i16, state: i16) -> PICO_STATUS {
2577 let sym = self
2578 .ps5000aSigGenSoftwareControl
2579 .as_ref()
2580 .expect("Expected function, got error.");
2581 (sym)(handle, state)
2582 }
2583 pub unsafe fn ps5000aSetEts(
2584 &self,
2585 handle: i16,
2586 mode: PS5000A_ETS_MODE,
2587 etsCycles: i16,
2588 etsInterleave: i16,
2589 sampleTimePicoseconds: *mut i32,
2590 ) -> PICO_STATUS {
2591 let sym = self
2592 .ps5000aSetEts
2593 .as_ref()
2594 .expect("Expected function, got error.");
2595 (sym)(
2596 handle,
2597 mode,
2598 etsCycles,
2599 etsInterleave,
2600 sampleTimePicoseconds,
2601 )
2602 }
2603 pub unsafe fn ps5000aSetTriggerChannelProperties(
2604 &self,
2605 handle: i16,
2606 channelProperties: *mut PS5000A_TRIGGER_CHANNEL_PROPERTIES,
2607 nChannelProperties: i16,
2608 auxOutputEnable: i16,
2609 autoTriggerMilliseconds: i32,
2610 ) -> PICO_STATUS {
2611 let sym = self
2612 .ps5000aSetTriggerChannelProperties
2613 .as_ref()
2614 .expect("Expected function, got error.");
2615 (sym)(
2616 handle,
2617 channelProperties,
2618 nChannelProperties,
2619 auxOutputEnable,
2620 autoTriggerMilliseconds,
2621 )
2622 }
2623 pub unsafe fn ps5000aSetTriggerChannelPropertiesV2(
2624 &self,
2625 handle: i16,
2626 channelProperties: *mut PS5000A_TRIGGER_CHANNEL_PROPERTIES_V2,
2627 nChannelProperties: i16,
2628 auxOutputEnable: i16,
2629 ) -> PICO_STATUS {
2630 let sym = self
2631 .ps5000aSetTriggerChannelPropertiesV2
2632 .as_ref()
2633 .expect("Expected function, got error.");
2634 (sym)(
2635 handle,
2636 channelProperties,
2637 nChannelProperties,
2638 auxOutputEnable,
2639 )
2640 }
2641 pub unsafe fn ps5000aSetAutoTriggerMicroSeconds(
2642 &self,
2643 handle: i16,
2644 autoTriggerMicroseconds: u64,
2645 ) -> PICO_STATUS {
2646 let sym = self
2647 .ps5000aSetAutoTriggerMicroSeconds
2648 .as_ref()
2649 .expect("Expected function, got error.");
2650 (sym)(handle, autoTriggerMicroseconds)
2651 }
2652 pub unsafe fn ps5000aSetTriggerChannelConditions(
2653 &self,
2654 handle: i16,
2655 conditions: *mut PS5000A_TRIGGER_CONDITIONS,
2656 nConditions: i16,
2657 ) -> PICO_STATUS {
2658 let sym = self
2659 .ps5000aSetTriggerChannelConditions
2660 .as_ref()
2661 .expect("Expected function, got error.");
2662 (sym)(handle, conditions, nConditions)
2663 }
2664 pub unsafe fn ps5000aSetTriggerChannelConditionsV2(
2665 &self,
2666 handle: i16,
2667 conditions: *mut PS5000A_CONDITION,
2668 nConditions: i16,
2669 info: PS5000A_CONDITIONS_INFO,
2670 ) -> PICO_STATUS {
2671 let sym = self
2672 .ps5000aSetTriggerChannelConditionsV2
2673 .as_ref()
2674 .expect("Expected function, got error.");
2675 (sym)(handle, conditions, nConditions, info)
2676 }
2677 pub unsafe fn ps5000aSetTriggerChannelDirections(
2678 &self,
2679 handle: i16,
2680 channelA: PS5000A_THRESHOLD_DIRECTION,
2681 channelB: PS5000A_THRESHOLD_DIRECTION,
2682 channelC: PS5000A_THRESHOLD_DIRECTION,
2683 channelD: PS5000A_THRESHOLD_DIRECTION,
2684 ext: PS5000A_THRESHOLD_DIRECTION,
2685 aux: PS5000A_THRESHOLD_DIRECTION,
2686 ) -> PICO_STATUS {
2687 let sym = self
2688 .ps5000aSetTriggerChannelDirections
2689 .as_ref()
2690 .expect("Expected function, got error.");
2691 (sym)(handle, channelA, channelB, channelC, channelD, ext, aux)
2692 }
2693 pub unsafe fn ps5000aSetTriggerChannelDirectionsV2(
2694 &self,
2695 handle: i16,
2696 directions: *mut PS5000A_DIRECTION,
2697 nDirections: u16,
2698 ) -> PICO_STATUS {
2699 let sym = self
2700 .ps5000aSetTriggerChannelDirectionsV2
2701 .as_ref()
2702 .expect("Expected function, got error.");
2703 (sym)(handle, directions, nDirections)
2704 }
2705 pub unsafe fn ps5000aSetSimpleTrigger(
2706 &self,
2707 handle: i16,
2708 enable: i16,
2709 channel: PS5000A_CHANNEL,
2710 threshold: i16,
2711 direction: PS5000A_THRESHOLD_DIRECTION,
2712 delay: u32,
2713 autoTrigger_ms: i16,
2714 ) -> PICO_STATUS {
2715 let sym = self
2716 .ps5000aSetSimpleTrigger
2717 .as_ref()
2718 .expect("Expected function, got error.");
2719 (sym)(
2720 handle,
2721 enable,
2722 channel,
2723 threshold,
2724 direction,
2725 delay,
2726 autoTrigger_ms,
2727 )
2728 }
2729 pub unsafe fn ps5000aSetTriggerDigitalPortProperties(
2730 &self,
2731 handle: i16,
2732 directions: *mut PS5000A_DIGITAL_CHANNEL_DIRECTIONS,
2733 nDirections: i16,
2734 ) -> PICO_STATUS {
2735 let sym = self
2736 .ps5000aSetTriggerDigitalPortProperties
2737 .as_ref()
2738 .expect("Expected function, got error.");
2739 (sym)(handle, directions, nDirections)
2740 }
2741 pub unsafe fn ps5000aSetPulseWidthDigitalPortProperties(
2742 &self,
2743 handle: i16,
2744 directions: *mut PS5000A_DIGITAL_CHANNEL_DIRECTIONS,
2745 nDirections: i16,
2746 ) -> PICO_STATUS {
2747 let sym = self
2748 .ps5000aSetPulseWidthDigitalPortProperties
2749 .as_ref()
2750 .expect("Expected function, got error.");
2751 (sym)(handle, directions, nDirections)
2752 }
2753 pub unsafe fn ps5000aSetTriggerDelay(&self, handle: i16, delay: u32) -> PICO_STATUS {
2754 let sym = self
2755 .ps5000aSetTriggerDelay
2756 .as_ref()
2757 .expect("Expected function, got error.");
2758 (sym)(handle, delay)
2759 }
2760 pub unsafe fn ps5000aSetPulseWidthQualifier(
2761 &self,
2762 handle: i16,
2763 conditions: *mut PS5000A_PWQ_CONDITIONS,
2764 nConditions: i16,
2765 direction: PS5000A_THRESHOLD_DIRECTION,
2766 lower: u32,
2767 upper: u32,
2768 type_: PS5000A_PULSE_WIDTH_TYPE,
2769 ) -> PICO_STATUS {
2770 let sym = self
2771 .ps5000aSetPulseWidthQualifier
2772 .as_ref()
2773 .expect("Expected function, got error.");
2774 (sym)(
2775 handle,
2776 conditions,
2777 nConditions,
2778 direction,
2779 lower,
2780 upper,
2781 type_,
2782 )
2783 }
2784 pub unsafe fn ps5000aSetPulseWidthQualifierProperties(
2785 &self,
2786 handle: i16,
2787 lower: u32,
2788 upper: u32,
2789 type_: PS5000A_PULSE_WIDTH_TYPE,
2790 ) -> PICO_STATUS {
2791 let sym = self
2792 .ps5000aSetPulseWidthQualifierProperties
2793 .as_ref()
2794 .expect("Expected function, got error.");
2795 (sym)(handle, lower, upper, type_)
2796 }
2797 pub unsafe fn ps5000aSetPulseWidthQualifierConditions(
2798 &self,
2799 handle: i16,
2800 conditions: *mut PS5000A_CONDITION,
2801 nConditions: i16,
2802 info: PS5000A_CONDITIONS_INFO,
2803 ) -> PICO_STATUS {
2804 let sym = self
2805 .ps5000aSetPulseWidthQualifierConditions
2806 .as_ref()
2807 .expect("Expected function, got error.");
2808 (sym)(handle, conditions, nConditions, info)
2809 }
2810 pub unsafe fn ps5000aSetPulseWidthQualifierDirections(
2811 &self,
2812 handle: i16,
2813 directions: *mut PS5000A_DIRECTION,
2814 nDirections: i16,
2815 ) -> PICO_STATUS {
2816 let sym = self
2817 .ps5000aSetPulseWidthQualifierDirections
2818 .as_ref()
2819 .expect("Expected function, got error.");
2820 (sym)(handle, directions, nDirections)
2821 }
2822 pub unsafe fn ps5000aIsTriggerOrPulseWidthQualifierEnabled(
2823 &self,
2824 handle: i16,
2825 triggerEnabled: *mut i16,
2826 pulseWidthQualifierEnabled: *mut i16,
2827 ) -> PICO_STATUS {
2828 let sym = self
2829 .ps5000aIsTriggerOrPulseWidthQualifierEnabled
2830 .as_ref()
2831 .expect("Expected function, got error.");
2832 (sym)(handle, triggerEnabled, pulseWidthQualifierEnabled)
2833 }
2834 pub unsafe fn ps5000aGetTriggerTimeOffset(
2835 &self,
2836 handle: i16,
2837 timeUpper: *mut u32,
2838 timeLower: *mut u32,
2839 timeUnits: *mut PS5000A_TIME_UNITS,
2840 segmentIndex: u32,
2841 ) -> PICO_STATUS {
2842 let sym = self
2843 .ps5000aGetTriggerTimeOffset
2844 .as_ref()
2845 .expect("Expected function, got error.");
2846 (sym)(handle, timeUpper, timeLower, timeUnits, segmentIndex)
2847 }
2848 pub unsafe fn ps5000aGetTriggerTimeOffset64(
2849 &self,
2850 handle: i16,
2851 time: *mut i64,
2852 timeUnits: *mut PS5000A_TIME_UNITS,
2853 segmentIndex: u32,
2854 ) -> PICO_STATUS {
2855 let sym = self
2856 .ps5000aGetTriggerTimeOffset64
2857 .as_ref()
2858 .expect("Expected function, got error.");
2859 (sym)(handle, time, timeUnits, segmentIndex)
2860 }
2861 pub unsafe fn ps5000aGetValuesTriggerTimeOffsetBulk(
2862 &self,
2863 handle: i16,
2864 timesUpper: *mut u32,
2865 timesLower: *mut u32,
2866 timeUnits: *mut PS5000A_TIME_UNITS,
2867 fromSegmentIndex: u32,
2868 toSegmentIndex: u32,
2869 ) -> PICO_STATUS {
2870 let sym = self
2871 .ps5000aGetValuesTriggerTimeOffsetBulk
2872 .as_ref()
2873 .expect("Expected function, got error.");
2874 (sym)(
2875 handle,
2876 timesUpper,
2877 timesLower,
2878 timeUnits,
2879 fromSegmentIndex,
2880 toSegmentIndex,
2881 )
2882 }
2883 pub unsafe fn ps5000aGetValuesTriggerTimeOffsetBulk64(
2884 &self,
2885 handle: i16,
2886 times: *mut i64,
2887 timeUnits: *mut PS5000A_TIME_UNITS,
2888 fromSegmentIndex: u32,
2889 toSegmentIndex: u32,
2890 ) -> PICO_STATUS {
2891 let sym = self
2892 .ps5000aGetValuesTriggerTimeOffsetBulk64
2893 .as_ref()
2894 .expect("Expected function, got error.");
2895 (sym)(handle, times, timeUnits, fromSegmentIndex, toSegmentIndex)
2896 }
2897 pub unsafe fn ps5000aSetDataBuffers(
2898 &self,
2899 handle: i16,
2900 source: PS5000A_CHANNEL,
2901 bufferMax: *mut i16,
2902 bufferMin: *mut i16,
2903 bufferLth: i32,
2904 segmentIndex: u32,
2905 mode: PS5000A_RATIO_MODE,
2906 ) -> PICO_STATUS {
2907 let sym = self
2908 .ps5000aSetDataBuffers
2909 .as_ref()
2910 .expect("Expected function, got error.");
2911 (sym)(
2912 handle,
2913 source,
2914 bufferMax,
2915 bufferMin,
2916 bufferLth,
2917 segmentIndex,
2918 mode,
2919 )
2920 }
2921 pub unsafe fn ps5000aSetDataBuffer(
2922 &self,
2923 handle: i16,
2924 source: PS5000A_CHANNEL,
2925 buffer: *mut i16,
2926 bufferLth: i32,
2927 segmentIndex: u32,
2928 mode: PS5000A_RATIO_MODE,
2929 ) -> PICO_STATUS {
2930 let sym = self
2931 .ps5000aSetDataBuffer
2932 .as_ref()
2933 .expect("Expected function, got error.");
2934 (sym)(handle, source, buffer, bufferLth, segmentIndex, mode)
2935 }
2936 pub unsafe fn ps5000aSetUnscaledDataBuffers(
2937 &self,
2938 handle: i16,
2939 source: PS5000A_CHANNEL,
2940 bufferMax: *mut i8,
2941 bufferMin: *mut i8,
2942 bufferLth: i32,
2943 segmentIndex: u32,
2944 mode: PS5000A_RATIO_MODE,
2945 ) -> PICO_STATUS {
2946 let sym = self
2947 .ps5000aSetUnscaledDataBuffers
2948 .as_ref()
2949 .expect("Expected function, got error.");
2950 (sym)(
2951 handle,
2952 source,
2953 bufferMax,
2954 bufferMin,
2955 bufferLth,
2956 segmentIndex,
2957 mode,
2958 )
2959 }
2960 pub unsafe fn ps5000aSetEtsTimeBuffer(
2961 &self,
2962 handle: i16,
2963 buffer: *mut i64,
2964 bufferLth: i32,
2965 ) -> PICO_STATUS {
2966 let sym = self
2967 .ps5000aSetEtsTimeBuffer
2968 .as_ref()
2969 .expect("Expected function, got error.");
2970 (sym)(handle, buffer, bufferLth)
2971 }
2972 pub unsafe fn ps5000aSetEtsTimeBuffers(
2973 &self,
2974 handle: i16,
2975 timeUpper: *mut u32,
2976 timeLower: *mut u32,
2977 bufferLth: i32,
2978 ) -> PICO_STATUS {
2979 let sym = self
2980 .ps5000aSetEtsTimeBuffers
2981 .as_ref()
2982 .expect("Expected function, got error.");
2983 (sym)(handle, timeUpper, timeLower, bufferLth)
2984 }
2985 pub unsafe fn ps5000aIsReady(&self, handle: i16, ready: *mut i16) -> PICO_STATUS {
2986 let sym = self
2987 .ps5000aIsReady
2988 .as_ref()
2989 .expect("Expected function, got error.");
2990 (sym)(handle, ready)
2991 }
2992 pub unsafe fn ps5000aRunBlock(
2993 &self,
2994 handle: i16,
2995 noOfPreTriggerSamples: i32,
2996 noOfPostTriggerSamples: i32,
2997 timebase: u32,
2998 timeIndisposedMs: *mut i32,
2999 segmentIndex: u32,
3000 lpReady: ps5000aBlockReady,
3001 pParameter: *mut ::std::os::raw::c_void,
3002 ) -> PICO_STATUS {
3003 let sym = self
3004 .ps5000aRunBlock
3005 .as_ref()
3006 .expect("Expected function, got error.");
3007 (sym)(
3008 handle,
3009 noOfPreTriggerSamples,
3010 noOfPostTriggerSamples,
3011 timebase,
3012 timeIndisposedMs,
3013 segmentIndex,
3014 lpReady,
3015 pParameter,
3016 )
3017 }
3018 pub unsafe fn ps5000aRunStreaming(
3019 &self,
3020 handle: i16,
3021 sampleInterval: *mut u32,
3022 sampleIntervalTimeUnits: PS5000A_TIME_UNITS,
3023 maxPreTriggerSamples: u32,
3024 maxPostTriggerSamples: u32,
3025 autoStop: i16,
3026 downSampleRatio: u32,
3027 downSampleRatioMode: PS5000A_RATIO_MODE,
3028 overviewBufferSize: u32,
3029 ) -> PICO_STATUS {
3030 let sym = self
3031 .ps5000aRunStreaming
3032 .as_ref()
3033 .expect("Expected function, got error.");
3034 (sym)(
3035 handle,
3036 sampleInterval,
3037 sampleIntervalTimeUnits,
3038 maxPreTriggerSamples,
3039 maxPostTriggerSamples,
3040 autoStop,
3041 downSampleRatio,
3042 downSampleRatioMode,
3043 overviewBufferSize,
3044 )
3045 }
3046 pub unsafe fn ps5000aGetStreamingLatestValues(
3047 &self,
3048 handle: i16,
3049 lpPs5000aReady: ps5000aStreamingReady,
3050 pParameter: *mut ::std::os::raw::c_void,
3051 ) -> PICO_STATUS {
3052 let sym = self
3053 .ps5000aGetStreamingLatestValues
3054 .as_ref()
3055 .expect("Expected function, got error.");
3056 (sym)(handle, lpPs5000aReady, pParameter)
3057 }
3058 pub unsafe fn ps5000aNoOfStreamingValues(
3059 &self,
3060 handle: i16,
3061 noOfValues: *mut u32,
3062 ) -> PICO_STATUS {
3063 let sym = self
3064 .ps5000aNoOfStreamingValues
3065 .as_ref()
3066 .expect("Expected function, got error.");
3067 (sym)(handle, noOfValues)
3068 }
3069 pub unsafe fn ps5000aGetMaxDownSampleRatio(
3070 &self,
3071 handle: i16,
3072 noOfUnaggreatedSamples: u32,
3073 maxDownSampleRatio: *mut u32,
3074 downSampleRatioMode: PS5000A_RATIO_MODE,
3075 segmentIndex: u32,
3076 ) -> PICO_STATUS {
3077 let sym = self
3078 .ps5000aGetMaxDownSampleRatio
3079 .as_ref()
3080 .expect("Expected function, got error.");
3081 (sym)(
3082 handle,
3083 noOfUnaggreatedSamples,
3084 maxDownSampleRatio,
3085 downSampleRatioMode,
3086 segmentIndex,
3087 )
3088 }
3089 pub unsafe fn ps5000aGetValues(
3090 &self,
3091 handle: i16,
3092 startIndex: u32,
3093 noOfSamples: *mut u32,
3094 downSampleRatio: u32,
3095 downSampleRatioMode: PS5000A_RATIO_MODE,
3096 segmentIndex: u32,
3097 overflow: *mut i16,
3098 ) -> PICO_STATUS {
3099 let sym = self
3100 .ps5000aGetValues
3101 .as_ref()
3102 .expect("Expected function, got error.");
3103 (sym)(
3104 handle,
3105 startIndex,
3106 noOfSamples,
3107 downSampleRatio,
3108 downSampleRatioMode,
3109 segmentIndex,
3110 overflow,
3111 )
3112 }
3113 pub unsafe fn ps5000aGetValuesAsync(
3114 &self,
3115 handle: i16,
3116 startIndex: u32,
3117 noOfSamples: u32,
3118 downSampleRatio: u32,
3119 downSampleRatioMode: PS5000A_RATIO_MODE,
3120 segmentIndex: u32,
3121 lpDataReady: *mut ::std::os::raw::c_void,
3122 pParameter: *mut ::std::os::raw::c_void,
3123 ) -> PICO_STATUS {
3124 let sym = self
3125 .ps5000aGetValuesAsync
3126 .as_ref()
3127 .expect("Expected function, got error.");
3128 (sym)(
3129 handle,
3130 startIndex,
3131 noOfSamples,
3132 downSampleRatio,
3133 downSampleRatioMode,
3134 segmentIndex,
3135 lpDataReady,
3136 pParameter,
3137 )
3138 }
3139 pub unsafe fn ps5000aGetValuesBulk(
3140 &self,
3141 handle: i16,
3142 noOfSamples: *mut u32,
3143 fromSegmentIndex: u32,
3144 toSegmentIndex: u32,
3145 downSampleRatio: u32,
3146 downSampleRatioMode: PS5000A_RATIO_MODE,
3147 overflow: *mut i16,
3148 ) -> PICO_STATUS {
3149 let sym = self
3150 .ps5000aGetValuesBulk
3151 .as_ref()
3152 .expect("Expected function, got error.");
3153 (sym)(
3154 handle,
3155 noOfSamples,
3156 fromSegmentIndex,
3157 toSegmentIndex,
3158 downSampleRatio,
3159 downSampleRatioMode,
3160 overflow,
3161 )
3162 }
3163 pub unsafe fn ps5000aGetValuesOverlapped(
3164 &self,
3165 handle: i16,
3166 startIndex: u32,
3167 noOfSamples: *mut u32,
3168 downSampleRatio: u32,
3169 downSampleRatioMode: PS5000A_RATIO_MODE,
3170 segmentIndex: u32,
3171 overflow: *mut i16,
3172 ) -> PICO_STATUS {
3173 let sym = self
3174 .ps5000aGetValuesOverlapped
3175 .as_ref()
3176 .expect("Expected function, got error.");
3177 (sym)(
3178 handle,
3179 startIndex,
3180 noOfSamples,
3181 downSampleRatio,
3182 downSampleRatioMode,
3183 segmentIndex,
3184 overflow,
3185 )
3186 }
3187 pub unsafe fn ps5000aGetValuesOverlappedBulk(
3188 &self,
3189 handle: i16,
3190 startIndex: u32,
3191 noOfSamples: *mut u32,
3192 downSampleRatio: u32,
3193 downSampleRatioMode: PS5000A_RATIO_MODE,
3194 fromSegmentIndex: u32,
3195 toSegmentIndex: u32,
3196 overflow: *mut i16,
3197 ) -> PICO_STATUS {
3198 let sym = self
3199 .ps5000aGetValuesOverlappedBulk
3200 .as_ref()
3201 .expect("Expected function, got error.");
3202 (sym)(
3203 handle,
3204 startIndex,
3205 noOfSamples,
3206 downSampleRatio,
3207 downSampleRatioMode,
3208 fromSegmentIndex,
3209 toSegmentIndex,
3210 overflow,
3211 )
3212 }
3213 pub unsafe fn ps5000aTriggerWithinPreTriggerSamples(
3214 &self,
3215 handle: i16,
3216 state: PS5000A_TRIGGER_WITHIN_PRE_TRIGGER,
3217 ) -> PICO_STATUS {
3218 let sym = self
3219 .ps5000aTriggerWithinPreTriggerSamples
3220 .as_ref()
3221 .expect("Expected function, got error.");
3222 (sym)(handle, state)
3223 }
3224 pub unsafe fn ps5000aGetTriggerInfoBulk(
3225 &self,
3226 handle: i16,
3227 triggerInfo: *mut PS5000A_TRIGGER_INFO,
3228 fromSegmentIndex: u32,
3229 toSegmentIndex: u32,
3230 ) -> PICO_STATUS {
3231 let sym = self
3232 .ps5000aGetTriggerInfoBulk
3233 .as_ref()
3234 .expect("Expected function, got error.");
3235 (sym)(handle, triggerInfo, fromSegmentIndex, toSegmentIndex)
3236 }
3237 pub unsafe fn ps5000aEnumerateUnits(
3238 &self,
3239 count: *mut i16,
3240 serials: *mut i8,
3241 serialLth: *mut i16,
3242 ) -> PICO_STATUS {
3243 let sym = self
3244 .ps5000aEnumerateUnits
3245 .as_ref()
3246 .expect("Expected function, got error.");
3247 (sym)(count, serials, serialLth)
3248 }
3249 pub unsafe fn ps5000aGetChannelInformation(
3250 &self,
3251 handle: i16,
3252 info: PS5000A_CHANNEL_INFO,
3253 probe: i32,
3254 ranges: *mut i32,
3255 length: *mut i32,
3256 channels: i32,
3257 ) -> PICO_STATUS {
3258 let sym = self
3259 .ps5000aGetChannelInformation
3260 .as_ref()
3261 .expect("Expected function, got error.");
3262 (sym)(handle, info, probe, ranges, length, channels)
3263 }
3264 pub unsafe fn ps5000aMaximumValue(&self, handle: i16, value: *mut i16) -> PICO_STATUS {
3265 let sym = self
3266 .ps5000aMaximumValue
3267 .as_ref()
3268 .expect("Expected function, got error.");
3269 (sym)(handle, value)
3270 }
3271 pub unsafe fn ps5000aMinimumValue(&self, handle: i16, value: *mut i16) -> PICO_STATUS {
3272 let sym = self
3273 .ps5000aMinimumValue
3274 .as_ref()
3275 .expect("Expected function, got error.");
3276 (sym)(handle, value)
3277 }
3278 pub unsafe fn ps5000aGetAnalogueOffset(
3279 &self,
3280 handle: i16,
3281 range: PS5000A_RANGE,
3282 coupling: PS5000A_COUPLING,
3283 maximumVoltage: *mut f32,
3284 minimumVoltage: *mut f32,
3285 ) -> PICO_STATUS {
3286 let sym = self
3287 .ps5000aGetAnalogueOffset
3288 .as_ref()
3289 .expect("Expected function, got error.");
3290 (sym)(handle, range, coupling, maximumVoltage, minimumVoltage)
3291 }
3292 pub unsafe fn ps5000aGetMaxSegments(&self, handle: i16, maxSegments: *mut u32) -> PICO_STATUS {
3293 let sym = self
3294 .ps5000aGetMaxSegments
3295 .as_ref()
3296 .expect("Expected function, got error.");
3297 (sym)(handle, maxSegments)
3298 }
3299 pub unsafe fn ps5000aChangePowerSource(
3300 &self,
3301 handle: i16,
3302 powerState: PICO_STATUS,
3303 ) -> PICO_STATUS {
3304 let sym = self
3305 .ps5000aChangePowerSource
3306 .as_ref()
3307 .expect("Expected function, got error.");
3308 (sym)(handle, powerState)
3309 }
3310 pub unsafe fn ps5000aCurrentPowerSource(&self, handle: i16) -> PICO_STATUS {
3311 let sym = self
3312 .ps5000aCurrentPowerSource
3313 .as_ref()
3314 .expect("Expected function, got error.");
3315 (sym)(handle)
3316 }
3317 pub unsafe fn ps5000aStop(&self, handle: i16) -> PICO_STATUS {
3318 let sym = self
3319 .ps5000aStop
3320 .as_ref()
3321 .expect("Expected function, got error.");
3322 (sym)(handle)
3323 }
3324 pub unsafe fn ps5000aPingUnit(&self, handle: i16) -> PICO_STATUS {
3325 let sym = self
3326 .ps5000aPingUnit
3327 .as_ref()
3328 .expect("Expected function, got error.");
3329 (sym)(handle)
3330 }
3331 pub unsafe fn ps5000aSetNoOfCaptures(&self, handle: i16, nCaptures: u32) -> PICO_STATUS {
3332 let sym = self
3333 .ps5000aSetNoOfCaptures
3334 .as_ref()
3335 .expect("Expected function, got error.");
3336 (sym)(handle, nCaptures)
3337 }
3338 pub unsafe fn ps5000aGetNoOfCaptures(&self, handle: i16, nCaptures: *mut u32) -> PICO_STATUS {
3339 let sym = self
3340 .ps5000aGetNoOfCaptures
3341 .as_ref()
3342 .expect("Expected function, got error.");
3343 (sym)(handle, nCaptures)
3344 }
3345 pub unsafe fn ps5000aGetNoOfProcessedCaptures(
3346 &self,
3347 handle: i16,
3348 nProcessedCaptures: *mut u32,
3349 ) -> PICO_STATUS {
3350 let sym = self
3351 .ps5000aGetNoOfProcessedCaptures
3352 .as_ref()
3353 .expect("Expected function, got error.");
3354 (sym)(handle, nProcessedCaptures)
3355 }
3356 pub unsafe fn ps5000aSetDeviceResolution(
3357 &self,
3358 handle: i16,
3359 resolution: PS5000A_DEVICE_RESOLUTION,
3360 ) -> PICO_STATUS {
3361 let sym = self
3362 .ps5000aSetDeviceResolution
3363 .as_ref()
3364 .expect("Expected function, got error.");
3365 (sym)(handle, resolution)
3366 }
3367 pub unsafe fn ps5000aGetDeviceResolution(
3368 &self,
3369 handle: i16,
3370 resolution: *mut PS5000A_DEVICE_RESOLUTION,
3371 ) -> PICO_STATUS {
3372 let sym = self
3373 .ps5000aGetDeviceResolution
3374 .as_ref()
3375 .expect("Expected function, got error.");
3376 (sym)(handle, resolution)
3377 }
3378 pub unsafe fn ps5000aQueryOutputEdgeDetect(&self, handle: i16, state: *mut i16) -> PICO_STATUS {
3379 let sym = self
3380 .ps5000aQueryOutputEdgeDetect
3381 .as_ref()
3382 .expect("Expected function, got error.");
3383 (sym)(handle, state)
3384 }
3385 pub unsafe fn ps5000aSetOutputEdgeDetect(&self, handle: i16, state: i16) -> PICO_STATUS {
3386 let sym = self
3387 .ps5000aSetOutputEdgeDetect
3388 .as_ref()
3389 .expect("Expected function, got error.");
3390 (sym)(handle, state)
3391 }
3392 pub unsafe fn ps5000aGetScalingValues(
3393 &self,
3394 handle: i16,
3395 scalingValues: *mut PS5000A_SCALING_FACTORS_VALUES,
3396 nChannels: i16,
3397 ) -> PICO_STATUS {
3398 let sym = self
3399 .ps5000aGetScalingValues
3400 .as_ref()
3401 .expect("Expected function, got error.");
3402 (sym)(handle, scalingValues, nChannels)
3403 }
3404 pub unsafe fn ps5000aCheckForUpdate(
3405 &self,
3406 handle: i16,
3407 current: *mut PICO_VERSION,
3408 update: *mut PICO_VERSION,
3409 updateRequired: *mut u16,
3410 ) -> PICO_STATUS {
3411 let sym = self
3412 .ps5000aCheckForUpdate
3413 .as_ref()
3414 .expect("Expected function, got error.");
3415 (sym)(handle, current, update, updateRequired)
3416 }
3417 pub unsafe fn ps5000aStartFirmwareUpdate(
3418 &self,
3419 handle: i16,
3420 progress: PicoUpdateFirmwareProgress,
3421 ) -> PICO_STATUS {
3422 let sym = self
3423 .ps5000aStartFirmwareUpdate
3424 .as_ref()
3425 .expect("Expected function, got error.");
3426 (sym)(handle, progress)
3427 }
3428}