Skip to main content

pico_sys_dynamic/
psospa.rs

1pub type PICO_POINTER = *mut ::std::os::raw::c_void;
2pub type PICO_INFO = u32;
3pub type PICO_STATUS = u32;
4pub const enPicoStringValue_PICO_SV_MEMORY: enPicoStringValue = 0;
5pub const enPicoStringValue_PICO_SV_MEMORY_NO_OF_SEGMENTS: enPicoStringValue = 1;
6pub const enPicoStringValue_PICO_SV_MEMORY_MAX_SAMPLES: enPicoStringValue = 2;
7pub const enPicoStringValue_PICO_SV_NO_OF_CHANNELS: enPicoStringValue = 3;
8pub const enPicoStringValue_PICO_SV_ARRAY_OF_CHANNELS: enPicoStringValue = 4;
9pub const enPicoStringValue_PICO_SV_CHANNEL: enPicoStringValue = 5;
10pub const enPicoStringValue_PICO_SV_CHANNEL_NAME: enPicoStringValue = 6;
11pub const enPicoStringValue_PICO_SV_CHANNEL_RANGE: enPicoStringValue = 7;
12pub const enPicoStringValue_PICO_SV_CHANNEL_COUPLING: enPicoStringValue = 8;
13pub const enPicoStringValue_PICO_SV_CHANNEL_ENABLED: enPicoStringValue = 9;
14pub const enPicoStringValue_PICO_SV_CHANNEL_ANALOGUE_OFFSET: enPicoStringValue = 10;
15pub const enPicoStringValue_PICO_SV_CHANNEL_FILTER: enPicoStringValue = 11;
16pub const enPicoStringValue_PICO_SV_TRIGGER: enPicoStringValue = 12;
17pub const enPicoStringValue_PICO_SV_TRIGGER_AUXIO_OUTPUT_ENABLED: enPicoStringValue = 13;
18pub const enPicoStringValue_PICO_SV_TRIGGER_AUTO_TRIGGER_MICROSECONDS: enPicoStringValue = 14;
19pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES: enPicoStringValue = 15;
20pub const enPicoStringValue_PICO_SV_NO_OF_TRIGGER_PROPERTIES: enPicoStringValue = 16;
21pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_CHANNEL: enPicoStringValue = 17;
22pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_UPPER: enPicoStringValue = 18;
23pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_UPPER_HYSTERESIS:
24    enPicoStringValue = 19;
25pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_LOWER: enPicoStringValue = 20;
26pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_LOWER_HYSTERESIS:
27    enPicoStringValue = 21;
28pub const enPicoStringValue_PICO_SV_TRIGGER_PROPERTIES_THRESHOLD_MODE: enPicoStringValue = 22;
29pub const enPicoStringValue_PICO_SV_TRIGGER_ARRAY_OF_BLOCK_CONDITIONS: enPicoStringValue = 23;
30pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_BLOCK_CONDITIONS: enPicoStringValue = 24;
31pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITIONS: enPicoStringValue = 25;
32pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_CONDITIONS: enPicoStringValue = 26;
33pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITION_SOURCE: enPicoStringValue = 27;
34pub const enPicoStringValue_PICO_SV_TRIGGER_CONDITION_STATE: enPicoStringValue = 28;
35pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION: enPicoStringValue = 29;
36pub const enPicoStringValue_PICO_SV_TRIGGER_NO_OF_DIRECTIONS: enPicoStringValue = 30;
37pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION_CHANNEL: enPicoStringValue = 31;
38pub const enPicoStringValue_PICO_SV_TRIGGER_DIRECTION_DIRECTION: enPicoStringValue = 32;
39pub const enPicoStringValue_PICO_SV_TRIGGER_DELAY: enPicoStringValue = 33;
40pub const enPicoStringValue_PICO_SV_TRIGGER_DELAY_MS: enPicoStringValue = 34;
41pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER: enPicoStringValue = 35;
42pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_ENABLED: enPicoStringValue = 36;
43pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_CHANNEL: enPicoStringValue = 37;
44pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_RANGE: enPicoStringValue = 38;
45pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_TRESHOLDMAJOR: enPicoStringValue = 39;
46pub const enPicoStringValue_PICO_SV_FREQUENCY_COUNTER_TRESHOLDMINOR: enPicoStringValue = 40;
47pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES: enPicoStringValue = 41;
48pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_DIRECTION: enPicoStringValue = 42;
49pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_LOWER: enPicoStringValue = 43;
50pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_UPPER: enPicoStringValue = 44;
51pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_PROPERTIES_TYPE: enPicoStringValue = 45;
52pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_ARRAY_OF_BLOCK_CONDITIONS: enPicoStringValue = 46;
53pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_NO_OF_BLOCK_CONDITIONS: enPicoStringValue = 47;
54pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS: enPicoStringValue = 48;
55pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_NO_OF_CONDITIONS: enPicoStringValue = 49;
56pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS_SOURCE: enPicoStringValue = 50;
57pub const enPicoStringValue_PICO_SV_PULSE_WIDTH_CONDITIONS_STATE: enPicoStringValue = 51;
58pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES: enPicoStringValue = 52;
59pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_PRE_TRIGGER_SAMPLES: enPicoStringValue = 53;
60pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_POST_TRIGGER_SAMPLES: enPicoStringValue = 54;
61pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_TIMEBASE: enPicoStringValue = 55;
62pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_NO_OF_CAPTURES: enPicoStringValue = 56;
63pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_RESOLUTION: enPicoStringValue = 57;
64pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED: enPicoStringValue = 58;
65pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_DOWN_SAMPLE_RATIO:
66    enPicoStringValue = 59;
67pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_DOWN_SAMPLE_RATIO_MODE:
68    enPicoStringValue = 60;
69pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_REQUERSTED_NO_OF_SAMPLES:
70    enPicoStringValue = 61;
71pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_SEGMENT_INDEX_FROM:
72    enPicoStringValue = 62;
73pub const enPicoStringValue_PICO_SV_SAMPLE_PROPERTIES_OVERLAPPED_SEGMENT_INDEX_TO:
74    enPicoStringValue = 63;
75pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR: enPicoStringValue = 64;
76pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN: enPicoStringValue = 65;
77pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_WAVE_TYPE: enPicoStringValue = 66;
78pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_START_FREQUENCY: enPicoStringValue =
79    67;
80pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_STOP_FREQUENCY: enPicoStringValue =
81    68;
82pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_INCREMENT: enPicoStringValue = 69;
83pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_BUILT_IN_DWELL_TIME: enPicoStringValue = 70;
84pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG: enPicoStringValue = 71;
85pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_START_DELTA_PHASE: enPicoStringValue = 72;
86pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_STOP_DELTA_PHASE: enPicoStringValue = 73;
87pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_DELTA_PHASE_INCREMENT: enPicoStringValue =
88    74;
89pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_DWELL_COUNT: enPicoStringValue = 75;
90pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_INDEX_MODE: enPicoStringValue = 76;
91pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_AWG_WAVEFORM_SIZE: enPicoStringValue = 77;
92pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_ARRAY_OF_AWG_WAVEFORM_VALUES:
93    enPicoStringValue = 78;
94pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_OFFSET_VOLTAGE: enPicoStringValue = 79;
95pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_PK_TO_PK: enPicoStringValue = 80;
96pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_OPERATION: enPicoStringValue = 81;
97pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SHOTS: enPicoStringValue = 82;
98pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SWEEPS: enPicoStringValue = 83;
99pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_SWEEP_TYPE: enPicoStringValue = 84;
100pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_TRIGGER_TYPE: enPicoStringValue = 85;
101pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_TRIGGER_SOURCE: enPicoStringValue = 86;
102pub const enPicoStringValue_PICO_SV_SIGNAL_GENERATOR_EXT_IN_THRESHOLD: enPicoStringValue = 87;
103pub const enPicoStringValue_PICO_SV_ETS: enPicoStringValue = 88;
104pub const enPicoStringValue_PICO_SV_ETS_STATE: enPicoStringValue = 89;
105pub const enPicoStringValue_PICO_SV_ETS_CYCLE: enPicoStringValue = 90;
106pub const enPicoStringValue_PICO_SV_ETS_INTERLEAVE: enPicoStringValue = 91;
107pub const enPicoStringValue_PICO_SV_ETS_SAMPLE_TIME_PICOSECONDS: enPicoStringValue = 92;
108pub type enPicoStringValue = ::std::os::raw::c_uint;
109pub use self::enPicoStringValue as PICO_STRING_VALUE;
110pub const enPicoRatioMode_PICO_RATIO_MODE_AGGREGATE: enPicoRatioMode = 1;
111pub const enPicoRatioMode_PICO_RATIO_MODE_DECIMATE: enPicoRatioMode = 2;
112pub const enPicoRatioMode_PICO_RATIO_MODE_AVERAGE: enPicoRatioMode = 4;
113pub const enPicoRatioMode_PICO_RATIO_MODE_DISTRIBUTION: enPicoRatioMode = 8;
114pub const enPicoRatioMode_PICO_RATIO_MODE_SUM: enPicoRatioMode = 16;
115pub const enPicoRatioMode_PICO_RATIO_MODE_TRIGGER_DATA_FOR_TIME_CALCULATION: enPicoRatioMode =
116    268435456;
117pub const enPicoRatioMode_PICO_RATIO_MODE_SEGMENT_HEADER: enPicoRatioMode = 536870912;
118pub const enPicoRatioMode_PICO_RATIO_MODE_TRIGGER: enPicoRatioMode = 1073741824;
119pub const enPicoRatioMode_PICO_RATIO_MODE_RAW: enPicoRatioMode = 2147483648;
120pub type enPicoRatioMode = ::std::os::raw::c_uint;
121pub use self::enPicoRatioMode as PICO_RATIO_MODE;
122pub const enPicoChannel_PICO_CHANNEL_A: enPicoChannel = 0;
123pub const enPicoChannel_PICO_CHANNEL_B: enPicoChannel = 1;
124pub const enPicoChannel_PICO_CHANNEL_C: enPicoChannel = 2;
125pub const enPicoChannel_PICO_CHANNEL_D: enPicoChannel = 3;
126pub const enPicoChannel_PICO_CHANNEL_E: enPicoChannel = 4;
127pub const enPicoChannel_PICO_CHANNEL_F: enPicoChannel = 5;
128pub const enPicoChannel_PICO_CHANNEL_G: enPicoChannel = 6;
129pub const enPicoChannel_PICO_CHANNEL_H: enPicoChannel = 7;
130pub const enPicoChannel_PICO_PORT0: enPicoChannel = 128;
131pub const enPicoChannel_PICO_PORT1: enPicoChannel = 129;
132pub const enPicoChannel_PICO_PORT2: enPicoChannel = 130;
133pub const enPicoChannel_PICO_PORT3: enPicoChannel = 131;
134pub const enPicoChannel_PICO_EXTERNAL: enPicoChannel = 1000;
135pub const enPicoChannel_PICO_TRIGGER_AUX: enPicoChannel = 1001;
136pub const enPicoChannel_PICO_PULSE_WIDTH_SOURCE: enPicoChannel = 268435456;
137pub const enPicoChannel_PICO_DIGITAL_SOURCE: enPicoChannel = 268435457;
138pub type enPicoChannel = ::std::os::raw::c_uint;
139pub use self::enPicoChannel as PICO_CHANNEL;
140pub const enPicoChannelFlags_PICO_CHANNEL_A_FLAGS: enPicoChannelFlags = 1;
141pub const enPicoChannelFlags_PICO_CHANNEL_B_FLAGS: enPicoChannelFlags = 2;
142pub const enPicoChannelFlags_PICO_CHANNEL_C_FLAGS: enPicoChannelFlags = 4;
143pub const enPicoChannelFlags_PICO_CHANNEL_D_FLAGS: enPicoChannelFlags = 8;
144pub const enPicoChannelFlags_PICO_CHANNEL_E_FLAGS: enPicoChannelFlags = 16;
145pub const enPicoChannelFlags_PICO_CHANNEL_F_FLAGS: enPicoChannelFlags = 32;
146pub const enPicoChannelFlags_PICO_CHANNEL_G_FLAGS: enPicoChannelFlags = 64;
147pub const enPicoChannelFlags_PICO_CHANNEL_H_FLAGS: enPicoChannelFlags = 128;
148pub const enPicoChannelFlags_PICO_PORT0_FLAGS: enPicoChannelFlags = 65536;
149pub const enPicoChannelFlags_PICO_PORT1_FLAGS: enPicoChannelFlags = 131072;
150pub const enPicoChannelFlags_PICO_PORT2_FLAGS: enPicoChannelFlags = 262144;
151pub const enPicoChannelFlags_PICO_PORT3_FLAGS: enPicoChannelFlags = 524288;
152pub type enPicoChannelFlags = ::std::os::raw::c_uint;
153pub use self::enPicoChannelFlags as PICO_CHANNEL_FLAGS;
154pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL0: enPicoPortDigitalChannel = 0;
155pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL1: enPicoPortDigitalChannel = 1;
156pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL2: enPicoPortDigitalChannel = 2;
157pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL3: enPicoPortDigitalChannel = 3;
158pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL4: enPicoPortDigitalChannel = 4;
159pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL5: enPicoPortDigitalChannel = 5;
160pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL6: enPicoPortDigitalChannel = 6;
161pub const enPicoPortDigitalChannel_PICO_PORT_DIGITAL_CHANNEL7: enPicoPortDigitalChannel = 7;
162pub type enPicoPortDigitalChannel = ::std::os::raw::c_uint;
163pub use self::enPicoPortDigitalChannel as PICO_PORT_DIGITAL_CHANNEL;
164pub const enPicoDataType_PICO_INT8_T: enPicoDataType = 0;
165pub const enPicoDataType_PICO_INT16_T: enPicoDataType = 1;
166pub const enPicoDataType_PICO_INT32_T: enPicoDataType = 2;
167pub const enPicoDataType_PICO_UINT32_T: enPicoDataType = 3;
168pub const enPicoDataType_PICO_INT64_T: enPicoDataType = 4;
169pub type enPicoDataType = ::std::os::raw::c_uint;
170pub use self::enPicoDataType as PICO_DATA_TYPE;
171pub const enPicoCoupling_PICO_AC: enPicoCoupling = 0;
172pub const enPicoCoupling_PICO_DC: enPicoCoupling = 1;
173pub const enPicoCoupling_PICO_DC_50OHM: enPicoCoupling = 50;
174pub type enPicoCoupling = ::std::os::raw::c_uint;
175pub use self::enPicoCoupling as PICO_COUPLING;
176pub const enPicoBandwidthLimiterFlags_PICO_BW_FULL_FLAG: enPicoBandwidthLimiterFlags = 1;
177pub const enPicoBandwidthLimiterFlags_PICO_BW_20KHZ_FLAG: enPicoBandwidthLimiterFlags = 2;
178pub const enPicoBandwidthLimiterFlags_PICO_BW_100KHZ_FLAG: enPicoBandwidthLimiterFlags = 4;
179pub const enPicoBandwidthLimiterFlags_PICO_BW_1MHZ_FLAG: enPicoBandwidthLimiterFlags = 8;
180pub const enPicoBandwidthLimiterFlags_PICO_BW_20MHZ_FLAG: enPicoBandwidthLimiterFlags = 16;
181pub const enPicoBandwidthLimiterFlags_PICO_BW_200MHZ_FLAG: enPicoBandwidthLimiterFlags = 32;
182pub type enPicoBandwidthLimiterFlags = ::std::os::raw::c_uint;
183pub use self::enPicoBandwidthLimiterFlags as PICO_BANDWIDTH_LIMITER_FLAGS;
184pub const enPicoBandwidthLimiter_PICO_BW_FULL: enPicoBandwidthLimiter = 0;
185pub const enPicoBandwidthLimiter_PICO_BW_100KHZ: enPicoBandwidthLimiter = 100000;
186pub const enPicoBandwidthLimiter_PICO_BW_20KHZ: enPicoBandwidthLimiter = 20000;
187pub const enPicoBandwidthLimiter_PICO_BW_1MHZ: enPicoBandwidthLimiter = 1000000;
188pub const enPicoBandwidthLimiter_PICO_BW_20MHZ: enPicoBandwidthLimiter = 20000000;
189pub const enPicoBandwidthLimiter_PICO_BW_25MHZ: enPicoBandwidthLimiter = 25000000;
190pub const enPicoBandwidthLimiter_PICO_BW_50MHZ: enPicoBandwidthLimiter = 50000000;
191pub const enPicoBandwidthLimiter_PICO_BW_60MHZ: enPicoBandwidthLimiter = 60000000;
192pub const enPicoBandwidthLimiter_PICO_BW_100MHZ: enPicoBandwidthLimiter = 100000000;
193pub const enPicoBandwidthLimiter_PICO_BW_200MHZ: enPicoBandwidthLimiter = 200000000;
194pub const enPicoBandwidthLimiter_PICO_BW_250MHZ: enPicoBandwidthLimiter = 250000000;
195pub const enPicoBandwidthLimiter_PICO_BW_300MHZ: enPicoBandwidthLimiter = 300000000;
196pub const enPicoBandwidthLimiter_PICO_BW_350MHZ: enPicoBandwidthLimiter = 350000000;
197pub const enPicoBandwidthLimiter_PICO_BW_500MHZ: enPicoBandwidthLimiter = 500000000;
198pub type enPicoBandwidthLimiter = ::std::os::raw::c_uint;
199pub use self::enPicoBandwidthLimiter as PICO_BANDWIDTH_LIMITER;
200pub const enPicoPulseWidthType_PICO_PW_TYPE_NONE: enPicoPulseWidthType = 0;
201pub const enPicoPulseWidthType_PICO_PW_TYPE_LESS_THAN: enPicoPulseWidthType = 1;
202pub const enPicoPulseWidthType_PICO_PW_TYPE_GREATER_THAN: enPicoPulseWidthType = 2;
203pub const enPicoPulseWidthType_PICO_PW_TYPE_IN_RANGE: enPicoPulseWidthType = 3;
204pub const enPicoPulseWidthType_PICO_PW_TYPE_OUT_OF_RANGE: enPicoPulseWidthType = 4;
205pub type enPicoPulseWidthType = ::std::os::raw::c_uint;
206pub use self::enPicoPulseWidthType as PICO_PULSE_WIDTH_TYPE;
207pub const enPicoSweepType_PICO_UP: enPicoSweepType = 0;
208pub const enPicoSweepType_PICO_DOWN: enPicoSweepType = 1;
209pub const enPicoSweepType_PICO_UPDOWN: enPicoSweepType = 2;
210pub const enPicoSweepType_PICO_DOWNUP: enPicoSweepType = 3;
211pub type enPicoSweepType = ::std::os::raw::c_uint;
212pub use self::enPicoSweepType as PICO_SWEEP_TYPE;
213pub const enPicoWaveType_PICO_SINE: enPicoWaveType = 17;
214pub const enPicoWaveType_PICO_SQUARE: enPicoWaveType = 18;
215pub const enPicoWaveType_PICO_TRIANGLE: enPicoWaveType = 19;
216pub const enPicoWaveType_PICO_RAMP_UP: enPicoWaveType = 20;
217pub const enPicoWaveType_PICO_RAMP_DOWN: enPicoWaveType = 21;
218pub const enPicoWaveType_PICO_SINC: enPicoWaveType = 22;
219pub const enPicoWaveType_PICO_GAUSSIAN: enPicoWaveType = 23;
220pub const enPicoWaveType_PICO_HALF_SINE: enPicoWaveType = 24;
221pub const enPicoWaveType_PICO_DC_VOLTAGE: enPicoWaveType = 1024;
222pub const enPicoWaveType_PICO_PWM: enPicoWaveType = 4096;
223pub const enPicoWaveType_PICO_WHITENOISE: enPicoWaveType = 8193;
224pub const enPicoWaveType_PICO_PRBS: enPicoWaveType = 8194;
225pub const enPicoWaveType_PICO_ARBITRARY: enPicoWaveType = 268435456;
226pub type enPicoWaveType = ::std::os::raw::c_uint;
227pub use self::enPicoWaveType as PICO_WAVE_TYPE;
228pub const enPicoSigGenTrigType_PICO_SIGGEN_RISING: enPicoSigGenTrigType = 0;
229pub const enPicoSigGenTrigType_PICO_SIGGEN_FALLING: enPicoSigGenTrigType = 1;
230pub const enPicoSigGenTrigType_PICO_SIGGEN_GATE_HIGH: enPicoSigGenTrigType = 2;
231pub const enPicoSigGenTrigType_PICO_SIGGEN_GATE_LOW: enPicoSigGenTrigType = 3;
232pub type enPicoSigGenTrigType = ::std::os::raw::c_uint;
233pub use self::enPicoSigGenTrigType as PICO_SIGGEN_TRIG_TYPE;
234pub const enPicoSigGenTrigSource_PICO_SIGGEN_NONE: enPicoSigGenTrigSource = 0;
235pub const enPicoSigGenTrigSource_PICO_SIGGEN_SCOPE_TRIG: enPicoSigGenTrigSource = 1;
236pub const enPicoSigGenTrigSource_PICO_SIGGEN_AUX_IN: enPicoSigGenTrigSource = 2;
237pub const enPicoSigGenTrigSource_PICO_SIGGEN_EXT_IN: enPicoSigGenTrigSource = 3;
238pub const enPicoSigGenTrigSource_PICO_SIGGEN_SOFT_TRIG: enPicoSigGenTrigSource = 4;
239pub const enPicoSigGenTrigSource_PICO_SIGGEN_TRIGGER_RAW: enPicoSigGenTrigSource = 5;
240pub type enPicoSigGenTrigSource = ::std::os::raw::c_uint;
241pub use self::enPicoSigGenTrigSource as PICO_SIGGEN_TRIG_SOURCE;
242pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_AUTO: enPicoSigGenFilterState = 0;
243pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_OFF: enPicoSigGenFilterState = 1;
244pub const enPicoSigGenFilterState_PICO_SIGGEN_FILTER_ON: enPicoSigGenFilterState = 2;
245pub type enPicoSigGenFilterState = ::std::os::raw::c_uint;
246pub use self::enPicoSigGenFilterState as PICO_SIGGEN_FILTER_STATE;
247pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_OUTPUT_VOLTS: enPicoSigGenParameter = 0;
248pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_SAMPLE: enPicoSigGenParameter = 1;
249pub const enPicoSigGenParameter_PICO_SIGGEN_PARAM_BUFFER_LENGTH: enPicoSigGenParameter = 2;
250pub type enPicoSigGenParameter = ::std::os::raw::c_uint;
251pub use self::enPicoSigGenParameter as PICO_SIGGEN_PARAMETER;
252pub const enPicoTimeUnits_PICO_FS: enPicoTimeUnits = 0;
253pub const enPicoTimeUnits_PICO_PS: enPicoTimeUnits = 1;
254pub const enPicoTimeUnits_PICO_NS: enPicoTimeUnits = 2;
255pub const enPicoTimeUnits_PICO_US: enPicoTimeUnits = 3;
256pub const enPicoTimeUnits_PICO_MS: enPicoTimeUnits = 4;
257pub const enPicoTimeUnits_PICO_S: enPicoTimeUnits = 5;
258pub type enPicoTimeUnits = ::std::os::raw::c_uint;
259pub use self::enPicoTimeUnits as PICO_TIME_UNITS;
260pub const enPicoThresholdDirection_PICO_ABOVE: enPicoThresholdDirection = 0;
261pub const enPicoThresholdDirection_PICO_BELOW: enPicoThresholdDirection = 1;
262pub const enPicoThresholdDirection_PICO_RISING: enPicoThresholdDirection = 2;
263pub const enPicoThresholdDirection_PICO_FALLING: enPicoThresholdDirection = 3;
264pub const enPicoThresholdDirection_PICO_RISING_OR_FALLING: enPicoThresholdDirection = 4;
265pub const enPicoThresholdDirection_PICO_ABOVE_LOWER: enPicoThresholdDirection = 5;
266pub const enPicoThresholdDirection_PICO_BELOW_LOWER: enPicoThresholdDirection = 6;
267pub const enPicoThresholdDirection_PICO_RISING_LOWER: enPicoThresholdDirection = 7;
268pub const enPicoThresholdDirection_PICO_FALLING_LOWER: enPicoThresholdDirection = 8;
269pub const enPicoThresholdDirection_PICO_INSIDE: enPicoThresholdDirection = 0;
270pub const enPicoThresholdDirection_PICO_OUTSIDE: enPicoThresholdDirection = 1;
271pub const enPicoThresholdDirection_PICO_ENTER: enPicoThresholdDirection = 2;
272pub const enPicoThresholdDirection_PICO_EXIT: enPicoThresholdDirection = 3;
273pub const enPicoThresholdDirection_PICO_ENTER_OR_EXIT: enPicoThresholdDirection = 4;
274pub const enPicoThresholdDirection_PICO_POSITIVE_RUNT: enPicoThresholdDirection = 9;
275pub const enPicoThresholdDirection_PICO_NEGATIVE_RUNT: enPicoThresholdDirection = 10;
276pub const enPicoThresholdDirection_PICO_NONE: enPicoThresholdDirection = 2;
277pub type enPicoThresholdDirection = ::std::os::raw::c_uint;
278pub use self::enPicoThresholdDirection as PICO_THRESHOLD_DIRECTION;
279pub const enPicoThresholdMode_PICO_LEVEL: enPicoThresholdMode = 0;
280pub const enPicoThresholdMode_PICO_WINDOW: enPicoThresholdMode = 1;
281pub type enPicoThresholdMode = ::std::os::raw::c_uint;
282pub use self::enPicoThresholdMode as PICO_THRESHOLD_MODE;
283pub const enPicoEtsMode_PICO_ETS_OFF: enPicoEtsMode = 0;
284pub const enPicoEtsMode_PICO_ETS_FAST: enPicoEtsMode = 1;
285pub const enPicoEtsMode_PICO_ETS_SLOW: enPicoEtsMode = 2;
286pub type enPicoEtsMode = ::std::os::raw::c_uint;
287pub use self::enPicoEtsMode as PICO_ETS_MODE;
288pub const enPicoIndexMode_PICO_SINGLE: enPicoIndexMode = 0;
289pub const enPicoIndexMode_PICO_DUAL: enPicoIndexMode = 1;
290pub const enPicoIndexMode_PICO_QUAD: enPicoIndexMode = 2;
291pub type enPicoIndexMode = ::std::os::raw::c_uint;
292pub use self::enPicoIndexMode as PICO_INDEX_MODE;
293pub const enPicoAction_PICO_CLEAR_ALL: enPicoAction = 1;
294pub const enPicoAction_PICO_ADD: enPicoAction = 2;
295pub const enPicoAction_PICO_CLEAR_THIS_DATA_BUFFER: enPicoAction = 4096;
296pub const enPicoAction_PICO_CLEAR_WAVEFORM_DATA_BUFFERS: enPicoAction = 8192;
297pub const enPicoAction_PICO_CLEAR_WAVEFORM_READ_DATA_BUFFERS: enPicoAction = 16384;
298pub type enPicoAction = ::std::os::raw::c_uint;
299pub use self::enPicoAction as PICO_ACTION;
300pub const enPicoTriggerState_PICO_CONDITION_DONT_CARE: enPicoTriggerState = 0;
301pub const enPicoTriggerState_PICO_CONDITION_TRUE: enPicoTriggerState = 1;
302pub const enPicoTriggerState_PICO_CONDITION_FALSE: enPicoTriggerState = 2;
303pub type enPicoTriggerState = ::std::os::raw::c_uint;
304pub use self::enPicoTriggerState as PICO_TRIGGER_STATE;
305pub const enPicoDeviceResolution_PICO_DR_8BIT: enPicoDeviceResolution = 0;
306pub const enPicoDeviceResolution_PICO_DR_12BIT: enPicoDeviceResolution = 1;
307pub const enPicoDeviceResolution_PICO_DR_14BIT: enPicoDeviceResolution = 2;
308pub const enPicoDeviceResolution_PICO_DR_15BIT: enPicoDeviceResolution = 3;
309pub const enPicoDeviceResolution_PICO_DR_16BIT: enPicoDeviceResolution = 4;
310pub const enPicoDeviceResolution_PICO_DR_10BIT: enPicoDeviceResolution = 10;
311pub const enPicoDeviceResolution_PICO_DR_10BIT_TURBO: enPicoDeviceResolution = 26;
312pub type enPicoDeviceResolution = ::std::os::raw::c_uint;
313pub use self::enPicoDeviceResolution as PICO_DEVICE_RESOLUTION;
314pub const enPicoReadSelection_PICO_READSELECTION_NONE: enPicoReadSelection = 0;
315pub const enPicoReadSelection_PICO_TRIGGER_READ: enPicoReadSelection = 1;
316pub const enPicoReadSelection_PICO_DATA_READ1: enPicoReadSelection = 2;
317pub const enPicoReadSelection_PICO_DATA_READ2: enPicoReadSelection = 3;
318pub const enPicoReadSelection_PICO_DATA_READ3: enPicoReadSelection = 4;
319pub type enPicoReadSelection = ::std::os::raw::c_uint;
320pub use self::enPicoReadSelection as PICO_READ_SELECTION;
321pub const enPicoTrimAction_PICO_OLDEST: enPicoTrimAction = 0;
322pub const enPicoTrimAction_PICO_RECENT: enPicoTrimAction = 1;
323pub type enPicoTrimAction = ::std::os::raw::c_uint;
324pub use self::enPicoTrimAction as PICO_TRIM_ACTION;
325pub const enPicoDigitalPortHysteresis_PICO_VERY_HIGH_400MV: enPicoDigitalPortHysteresis = 0;
326pub const enPicoDigitalPortHysteresis_PICO_HIGH_200MV: enPicoDigitalPortHysteresis = 1;
327pub const enPicoDigitalPortHysteresis_PICO_NORMAL_100MV: enPicoDigitalPortHysteresis = 2;
328pub const enPicoDigitalPortHysteresis_PICO_LOW_50MV: enPicoDigitalPortHysteresis = 3;
329pub type enPicoDigitalPortHysteresis = ::std::os::raw::c_uint;
330pub use self::enPicoDigitalPortHysteresis as PICO_DIGITAL_PORT_HYSTERESIS;
331pub const enPicoDigitalDirection_PICO_DIGITAL_DONT_CARE: enPicoDigitalDirection = 0;
332pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_LOW: enPicoDigitalDirection = 1;
333pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_HIGH: enPicoDigitalDirection = 2;
334pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_RISING: enPicoDigitalDirection = 3;
335pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_FALLING: enPicoDigitalDirection = 4;
336pub const enPicoDigitalDirection_PICO_DIGITAL_DIRECTION_RISING_OR_FALLING: enPicoDigitalDirection =
337    5;
338pub const enPicoDigitalDirection_PICO_DIGITAL_MAX_DIRECTION: enPicoDigitalDirection = 6;
339pub type enPicoDigitalDirection = ::std::os::raw::c_uint;
340pub use self::enPicoDigitalDirection as PICO_DIGITAL_DIRECTION;
341pub const enPicoConditionsInfo_PICO_CLEAR_CONDITIONS: enPicoConditionsInfo = 1;
342pub const enPicoConditionsInfo_PICO_ADD_CONDITION: enPicoConditionsInfo = 2;
343pub type enPicoConditionsInfo = ::std::os::raw::c_uint;
344pub use self::enPicoConditionsInfo as PICO_CONDITIONS_INFO;
345pub const enPicoClockReference_PICO_INTERNAL_REF: enPicoClockReference = 0;
346pub const enPicoClockReference_PICO_EXTERNAL_REF: enPicoClockReference = 1;
347pub type enPicoClockReference = ::std::os::raw::c_uint;
348pub use self::enPicoClockReference as PICO_CLOCK_REFERENCE;
349pub const enPicoTriggerWithinPreTrigger_PICO_DISABLE: enPicoTriggerWithinPreTrigger = 0;
350pub const enPicoTriggerWithinPreTrigger_PICO_ARM: enPicoTriggerWithinPreTrigger = 1;
351pub type enPicoTriggerWithinPreTrigger = ::std::os::raw::c_uint;
352pub use self::enPicoTriggerWithinPreTrigger as PICO_TRIGGER_WITHIN_PRE_TRIGGER;
353pub const tPicoTemperatureReference_PICO_TEMPERATURE_UNINITIALISED: tPicoTemperatureReference = 0;
354pub const tPicoTemperatureReference_PICO_TEMPERATURE_NORMAL: tPicoTemperatureReference = 1;
355pub const tPicoTemperatureReference_PICO_TEMPERATURE_WARNING: tPicoTemperatureReference = 2;
356pub const tPicoTemperatureReference_PICO_TEMPERATURE_CRITICAL: tPicoTemperatureReference = 3;
357pub type tPicoTemperatureReference = ::std::os::raw::c_uint;
358pub use self::tPicoTemperatureReference as PICO_TEMPERATURE_REFERENCE;
359pub const enPicoDigitalPort_PICO_DIGITAL_PORT_NONE: enPicoDigitalPort = 0;
360pub const enPicoDigitalPort_PICO_DIGITAL_PORT_MSO_POD: enPicoDigitalPort = 1000;
361pub const enPicoDigitalPort_PICO_DIGITAL_PORT_UNKNOWN_DEVICE: enPicoDigitalPort = -2;
362pub type enPicoDigitalPort = ::std::os::raw::c_int;
363pub use self::enPicoDigitalPort as PICO_DIGITAL_PORT;
364pub const enPicoUsbPowerDeliveryDeviceType_Nothing: enPicoUsbPowerDeliveryDeviceType = 0;
365pub const enPicoUsbPowerDeliveryDeviceType_Source: enPicoUsbPowerDeliveryDeviceType = 2;
366pub const enPicoUsbPowerDeliveryDeviceType_Debug: enPicoUsbPowerDeliveryDeviceType = 3;
367pub type enPicoUsbPowerDeliveryDeviceType = ::std::os::raw::c_uint;
368pub use self::enPicoUsbPowerDeliveryDeviceType as PICO_USB_POWER_DELIVERY_DEVICE_TYPE;
369pub type PicoConnectProbe = i32;
370pub const enPicoConnectProbe_PICO_CONNECT_PROBE_NONE: enPicoConnectProbe = 0;
371pub const enPicoConnectProbe_PICO_CONNECT_PROBE_D9_BNC: enPicoConnectProbe = 4000;
372pub const enPicoConnectProbe_PICO_CONNECT_PROBE_D9_2X_BNC: enPicoConnectProbe = 4001;
373pub const enPicoConnectProbe_PICO_CONNECT_PROBE_DIFFERENTIAL: enPicoConnectProbe = 4002;
374pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_200_2KA: enPicoConnectProbe = 4003;
375pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_40A: enPicoConnectProbe = 4004;
376pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CAT3_HV_1KV: enPicoConnectProbe = 4005;
377pub const enPicoConnectProbe_PICO_CONNECT_PROBE_CURRENT_CLAMP_2000ARMS: enPicoConnectProbe = 4006;
378pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_BLUE: enPicoConnectProbe = 4404;
379pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_RED: enPicoConnectProbe = 4405;
380pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_GREEN: enPicoConnectProbe = 4406;
381pub const enPicoConnectProbe_PICO_BNC_PLUS_PREMIUM_TEST_LEAD_YELLOW: enPicoConnectProbe = 4407;
382pub const enPicoConnectProbe_PICO_BNC_PLUS_COP_PROBE: enPicoConnectProbe = 4408;
383pub const enPicoConnectProbe_PICO_BNC_PLUS_TEMPERATURE_PROBE: enPicoConnectProbe = 5000;
384pub const enPicoConnectProbe_PICO_BNC_PLUS_100A_CURRENT_CLAMP: enPicoConnectProbe = 5003;
385pub const enPicoConnectProbe_PICO_BNC_PLUS_HT_PICKUP: enPicoConnectProbe = 5005;
386pub const enPicoConnectProbe_PICO_BNC_PLUS_X10_SCOPE_PROBE: enPicoConnectProbe = 5006;
387pub const enPicoConnectProbe_PICO_BNC_PLUS_2000A_CURRENT_CLAMP: enPicoConnectProbe = 5007;
388pub const enPicoConnectProbe_PICO_BNC_PLUS_PRESSURE_SENSOR: enPicoConnectProbe = 5008;
389pub const enPicoConnectProbe_PICO_BNC_PLUS_RESISTANCE_LEAD: enPicoConnectProbe = 5009;
390pub const enPicoConnectProbe_PICO_BNC_PLUS_60A_CURRENT_CLAMP: enPicoConnectProbe = 5010;
391pub const enPicoConnectProbe_PICO_BNC_PLUS_OPTICAL_SENSOR: enPicoConnectProbe = 5011;
392pub const enPicoConnectProbe_PICO_BNC_PLUS_60A_CURRENT_CLAMP_V2: enPicoConnectProbe = 5012;
393pub const enPicoConnectProbe_PICO_PASSIVE_PROBE_X10: enPicoConnectProbe = 6000;
394pub const enPicoConnectProbe_PICO_ACTIVE_X10_750MHZ: enPicoConnectProbe = 6001;
395pub const enPicoConnectProbe_PICO_ACTIVE_X10_1_3GHZ: enPicoConnectProbe = 6002;
396pub const enPicoConnectProbe_PICO_CONNECT_PROBE_INTELLIGENT: enPicoConnectProbe = -3;
397pub const enPicoConnectProbe_PICO_CONNECT_PROBE_UNKNOWN_PROBE: enPicoConnectProbe = -2;
398pub const enPicoConnectProbe_PICO_CONNECT_PROBE_FAULT_PROBE: enPicoConnectProbe = -1;
399pub type enPicoConnectProbe = ::std::os::raw::c_int;
400pub use self::enPicoConnectProbe as PICO_CONNECT_PROBE;
401pub const enPicoConnectProbeRange_PICO_X1_PROBE_10MV: enPicoConnectProbeRange = 0;
402pub const enPicoConnectProbeRange_PICO_X1_PROBE_20MV: enPicoConnectProbeRange = 1;
403pub const enPicoConnectProbeRange_PICO_X1_PROBE_50MV: enPicoConnectProbeRange = 2;
404pub const enPicoConnectProbeRange_PICO_X1_PROBE_100MV: enPicoConnectProbeRange = 3;
405pub const enPicoConnectProbeRange_PICO_X1_PROBE_200MV: enPicoConnectProbeRange = 4;
406pub const enPicoConnectProbeRange_PICO_X1_PROBE_500MV: enPicoConnectProbeRange = 5;
407pub const enPicoConnectProbeRange_PICO_X1_PROBE_1V: enPicoConnectProbeRange = 6;
408pub const enPicoConnectProbeRange_PICO_X1_PROBE_2V: enPicoConnectProbeRange = 7;
409pub const enPicoConnectProbeRange_PICO_X1_PROBE_5V: enPicoConnectProbeRange = 8;
410pub const enPicoConnectProbeRange_PICO_X1_PROBE_10V: enPicoConnectProbeRange = 9;
411pub const enPicoConnectProbeRange_PICO_X1_PROBE_20V: enPicoConnectProbeRange = 10;
412pub const enPicoConnectProbeRange_PICO_X1_PROBE_50V: enPicoConnectProbeRange = 11;
413pub const enPicoConnectProbeRange_PICO_X1_PROBE_100V: enPicoConnectProbeRange = 12;
414pub const enPicoConnectProbeRange_PICO_X1_PROBE_200V: enPicoConnectProbeRange = 13;
415pub const enPicoConnectProbeRange_PICO_X1_PROBE_RANGES: enPicoConnectProbeRange = 14;
416pub const enPicoConnectProbeRange_PICO_X10_PROBE_100MV: enPicoConnectProbeRange = 32;
417pub const enPicoConnectProbeRange_PICO_X10_PROBE_200MV: enPicoConnectProbeRange = 33;
418pub const enPicoConnectProbeRange_PICO_X10_PROBE_500MV: enPicoConnectProbeRange = 34;
419pub const enPicoConnectProbeRange_PICO_X10_PROBE_1V: enPicoConnectProbeRange = 35;
420pub const enPicoConnectProbeRange_PICO_X10_PROBE_2V: enPicoConnectProbeRange = 36;
421pub const enPicoConnectProbeRange_PICO_X10_PROBE_5V: enPicoConnectProbeRange = 37;
422pub const enPicoConnectProbeRange_PICO_X10_PROBE_10V: enPicoConnectProbeRange = 38;
423pub const enPicoConnectProbeRange_PICO_X10_PROBE_20V: enPicoConnectProbeRange = 39;
424pub const enPicoConnectProbeRange_PICO_X10_PROBE_50V: enPicoConnectProbeRange = 40;
425pub const enPicoConnectProbeRange_PICO_X10_PROBE_100V: enPicoConnectProbeRange = 41;
426pub const enPicoConnectProbeRange_PICO_X10_PROBE_200V: enPicoConnectProbeRange = 42;
427pub const enPicoConnectProbeRange_PICO_X10_PROBE_500V: enPicoConnectProbeRange = 43;
428pub const enPicoConnectProbeRange_PICO_X10_PROBE_RANGES: enPicoConnectProbeRange = 12;
429pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_315K: enPicoConnectProbeRange = 512;
430pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_1100K: enPicoConnectProbeRange = 513;
431pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_10M: enPicoConnectProbeRange = 514;
432pub const enPicoConnectProbeRange_PICO_PS4000A_MAX_RESISTANCE_RANGES: enPicoConnectProbeRange = 3;
433pub const enPicoConnectProbeRange_PICO_PS4000A_RESISTANCE_ADCV_FLAG: enPicoConnectProbeRange =
434    268435456;
435pub const enPicoConnectProbeRange_PICO_CONNECT_PROBE_OFF: enPicoConnectProbeRange = 1024;
436pub const enPicoConnectProbeRange_PICO_D9_BNC_10MV: enPicoConnectProbeRange = 0;
437pub const enPicoConnectProbeRange_PICO_D9_BNC_20MV: enPicoConnectProbeRange = 1;
438pub const enPicoConnectProbeRange_PICO_D9_BNC_50MV: enPicoConnectProbeRange = 2;
439pub const enPicoConnectProbeRange_PICO_D9_BNC_100MV: enPicoConnectProbeRange = 3;
440pub const enPicoConnectProbeRange_PICO_D9_BNC_200MV: enPicoConnectProbeRange = 4;
441pub const enPicoConnectProbeRange_PICO_D9_BNC_500MV: enPicoConnectProbeRange = 5;
442pub const enPicoConnectProbeRange_PICO_D9_BNC_1V: enPicoConnectProbeRange = 6;
443pub const enPicoConnectProbeRange_PICO_D9_BNC_2V: enPicoConnectProbeRange = 7;
444pub const enPicoConnectProbeRange_PICO_D9_BNC_5V: enPicoConnectProbeRange = 8;
445pub const enPicoConnectProbeRange_PICO_D9_BNC_10V: enPicoConnectProbeRange = 9;
446pub const enPicoConnectProbeRange_PICO_D9_BNC_20V: enPicoConnectProbeRange = 10;
447pub const enPicoConnectProbeRange_PICO_D9_BNC_50V: enPicoConnectProbeRange = 11;
448pub const enPicoConnectProbeRange_PICO_D9_BNC_100V: enPicoConnectProbeRange = 12;
449pub const enPicoConnectProbeRange_PICO_D9_BNC_200V: enPicoConnectProbeRange = 13;
450pub const enPicoConnectProbeRange_PICO_MAX_D9_BNC_RANGES: enPicoConnectProbeRange = 14;
451pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_10MV: enPicoConnectProbeRange = 0;
452pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_20MV: enPicoConnectProbeRange = 1;
453pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_50MV: enPicoConnectProbeRange = 2;
454pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_100MV: enPicoConnectProbeRange = 3;
455pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_200MV: enPicoConnectProbeRange = 4;
456pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_500MV: enPicoConnectProbeRange = 5;
457pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_1V: enPicoConnectProbeRange = 6;
458pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_2V: enPicoConnectProbeRange = 7;
459pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_5V: enPicoConnectProbeRange = 8;
460pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_10V: enPicoConnectProbeRange = 9;
461pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_20V: enPicoConnectProbeRange = 10;
462pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_50V: enPicoConnectProbeRange = 11;
463pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_100V: enPicoConnectProbeRange = 12;
464pub const enPicoConnectProbeRange_PICO_D9_2X_BNC_200V: enPicoConnectProbeRange = 13;
465pub const enPicoConnectProbeRange_PICO_MAX_D9_2X_BNC_RANGES: enPicoConnectProbeRange = 14;
466pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_10MV: enPicoConnectProbeRange = 0;
467pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_20MV: enPicoConnectProbeRange = 1;
468pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_50MV: enPicoConnectProbeRange = 2;
469pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_100MV: enPicoConnectProbeRange = 3;
470pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_200MV: enPicoConnectProbeRange = 4;
471pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_500MV: enPicoConnectProbeRange = 5;
472pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_1V: enPicoConnectProbeRange = 6;
473pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_2V: enPicoConnectProbeRange = 7;
474pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_5V: enPicoConnectProbeRange = 8;
475pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_10V: enPicoConnectProbeRange = 9;
476pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_20V: enPicoConnectProbeRange = 10;
477pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_50V: enPicoConnectProbeRange = 11;
478pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_100V: enPicoConnectProbeRange = 12;
479pub const enPicoConnectProbeRange_PICO_DIFFERENTIAL_200V: enPicoConnectProbeRange = 13;
480pub const enPicoConnectProbeRange_PICO_MAX_DIFFERENTIAL_RANGES: enPicoConnectProbeRange = 14;
481pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_1A: enPicoConnectProbeRange = 4000;
482pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_2A: enPicoConnectProbeRange = 4001;
483pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_5A: enPicoConnectProbeRange = 4002;
484pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_10A: enPicoConnectProbeRange = 4003;
485pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_20A: enPicoConnectProbeRange = 4004;
486pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_50A: enPicoConnectProbeRange = 4005;
487pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_100A: enPicoConnectProbeRange = 4006;
488pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_200A: enPicoConnectProbeRange = 4007;
489pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_500A: enPicoConnectProbeRange = 4008;
490pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_1000A: enPicoConnectProbeRange = 4009;
491pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_200A_2kA_2000A: enPicoConnectProbeRange = 4010;
492pub const enPicoConnectProbeRange_PICO_MAX_CURRENT_CLAMP_200A_2kA_RANGES: enPicoConnectProbeRange =
493    11;
494pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_100mA: enPicoConnectProbeRange = 5000;
495pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_200mA: enPicoConnectProbeRange = 5001;
496pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_500mA: enPicoConnectProbeRange = 5002;
497pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_1A: enPicoConnectProbeRange = 5003;
498pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_2A: enPicoConnectProbeRange = 5004;
499pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_5A: enPicoConnectProbeRange = 5005;
500pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_10A: enPicoConnectProbeRange = 5006;
501pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_20A: enPicoConnectProbeRange = 5007;
502pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_40A_40A: enPicoConnectProbeRange = 5008;
503pub const enPicoConnectProbeRange_PICO_MAX_CURRENT_CLAMP_40A_RANGES: enPicoConnectProbeRange = 9;
504pub const enPicoConnectProbeRange_PICO_1KV_2_5V: enPicoConnectProbeRange = 6003;
505pub const enPicoConnectProbeRange_PICO_1KV_5V: enPicoConnectProbeRange = 6004;
506pub const enPicoConnectProbeRange_PICO_1KV_12_5V: enPicoConnectProbeRange = 6005;
507pub const enPicoConnectProbeRange_PICO_1KV_25V: enPicoConnectProbeRange = 6006;
508pub const enPicoConnectProbeRange_PICO_1KV_50V: enPicoConnectProbeRange = 6007;
509pub const enPicoConnectProbeRange_PICO_1KV_125V: enPicoConnectProbeRange = 6008;
510pub const enPicoConnectProbeRange_PICO_1KV_250V: enPicoConnectProbeRange = 6009;
511pub const enPicoConnectProbeRange_PICO_1KV_500V: enPicoConnectProbeRange = 6010;
512pub const enPicoConnectProbeRange_PICO_1KV_1000V: enPicoConnectProbeRange = 6011;
513pub const enPicoConnectProbeRange_PICO_MAX_1KV_RANGES: enPicoConnectProbeRange = 9;
514pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_10A: enPicoConnectProbeRange = 6500;
515pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_20A: enPicoConnectProbeRange = 6501;
516pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_50A: enPicoConnectProbeRange = 6502;
517pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_100A: enPicoConnectProbeRange = 6503;
518pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_200A: enPicoConnectProbeRange = 6504;
519pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_500A: enPicoConnectProbeRange = 6505;
520pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_1000A: enPicoConnectProbeRange = 6506;
521pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_2000A: enPicoConnectProbeRange = 6507;
522pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_5000A: enPicoConnectProbeRange = 6508;
523pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_2000ARMS_RANGES: enPicoConnectProbeRange = 9;
524pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG5_TO_20OHM: enPicoConnectProbeRange =
525    7000;
526pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG50_TO_200OHM: enPicoConnectProbeRange =
527    7001;
528pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG500_TO_2KOHM: enPicoConnectProbeRange =
529    7002;
530pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG5K_TO_20KOHM: enPicoConnectProbeRange =
531    7003;
532pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG50K_TO_LEAD_200KOHM:
533    enPicoConnectProbeRange = 7004;
534pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_NEG500K_TO_LEAD_2MOHM:
535    enPicoConnectProbeRange = 7005;
536pub const enPicoConnectProbeRange_PICO_RESISTANCE_LEAD_DIODE_TEST: enPicoConnectProbeRange = 7006;
537pub const enPicoConnectProbeRange_PICO_MAX_RESISTANCE_LEAD_RANGES: enPicoConnectProbeRange = 6;
538pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_5KV: enPicoConnectProbeRange = 8950;
539pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_10KV: enPicoConnectProbeRange = 8951;
540pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_20KV: enPicoConnectProbeRange = 8952;
541pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_50KV: enPicoConnectProbeRange = 8953;
542pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_100KV: enPicoConnectProbeRange = 8954;
543pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_5KV_INVERTED: enPicoConnectProbeRange = 8955;
544pub const enPicoConnectProbeRange_PICO_HT_NEG3_TO_10KV_INVERTED: enPicoConnectProbeRange = 8956;
545pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_20KV_INVERTED: enPicoConnectProbeRange = 8957;
546pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_50KV_INVERTED: enPicoConnectProbeRange = 8958;
547pub const enPicoConnectProbeRange_PICO_HT_NEG5_TO_100KV_INVERTED: enPicoConnectProbeRange = 8959;
548pub const enPicoConnectProbeRange_PICO_MAX_HT_RANGES: enPicoConnectProbeRange = 10;
549pub const enPicoConnectProbeRange_PICO_TEMPERATURE_NEG50_TO_150DEGC: enPicoConnectProbeRange = 9000;
550pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG100000_TO_150000_PASCALS:
551    enPicoConnectProbeRange = 9100;
552pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG100000_TO_400000_PASCALS:
553    enPicoConnectProbeRange = 9101;
554pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG200000_TO_800000_PASCALS:
555    enPicoConnectProbeRange = 9102;
556pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG400000_TO_1600000_PASCALS:
557    enPicoConnectProbeRange = 9103;
558pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG400000_TO_3400000_PASCALS:
559    enPicoConnectProbeRange = 9104;
560pub const enPicoConnectProbeRange_PICO_PRESSURE_SENSOR_NEG150000_TO_1350000_PASCALS:
561    enPicoConnectProbeRange = 9105;
562pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_2_5A: enPicoConnectProbeRange = 10000;
563pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_5A: enPicoConnectProbeRange = 10001;
564pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_10A: enPicoConnectProbeRange = 10002;
565pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_25A: enPicoConnectProbeRange = 10003;
566pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_50A: enPicoConnectProbeRange = 10004;
567pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_100A_100A: enPicoConnectProbeRange = 10005;
568pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_2A: enPicoConnectProbeRange = 10500;
569pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_5A: enPicoConnectProbeRange = 10501;
570pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_10A: enPicoConnectProbeRange = 10502;
571pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_20A: enPicoConnectProbeRange = 10503;
572pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_50A: enPicoConnectProbeRange = 10504;
573pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_60A: enPicoConnectProbeRange = 10505;
574pub const enPicoConnectProbeRange_PICO_OPTICAL_SENSOR_10V: enPicoConnectProbeRange = 10550;
575pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_0_5A: enPicoConnectProbeRange = 10600;
576pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_1A: enPicoConnectProbeRange = 10601;
577pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_2A: enPicoConnectProbeRange = 10602;
578pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_5A: enPicoConnectProbeRange = 10603;
579pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_10A: enPicoConnectProbeRange = 10604;
580pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_20A: enPicoConnectProbeRange = 10605;
581pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_50A: enPicoConnectProbeRange = 10606;
582pub const enPicoConnectProbeRange_PICO_CURRENT_CLAMP_60A_V2_60A: enPicoConnectProbeRange = 10607;
583pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_100MV: enPicoConnectProbeRange = 10700;
584pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_200MV: enPicoConnectProbeRange = 10701;
585pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_500MV: enPicoConnectProbeRange = 10702;
586pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_1V: enPicoConnectProbeRange = 10703;
587pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_2V: enPicoConnectProbeRange = 10704;
588pub const enPicoConnectProbeRange_PICO_X10_ACTIVE_PROBE_5V: enPicoConnectProbeRange = 10705;
589pub type enPicoConnectProbeRange = ::std::os::raw::c_uint;
590pub use self::enPicoConnectProbeRange as PICO_CONNECT_PROBE_RANGE;
591pub const enPicoProbeRangeInfo_PICO_PROBE_NONE_NV: enPicoProbeRangeInfo = 0;
592pub const enPicoProbeRangeInfo_PICO_X1_PROBE_NV: enPicoProbeRangeInfo = 1;
593pub const enPicoProbeRangeInfo_PICO_X10_PROBE_NV: enPicoProbeRangeInfo = 10;
594pub type enPicoProbeRangeInfo = ::std::os::raw::c_uint;
595pub use self::enPicoProbeRangeInfo as PICO_PROBE_RANGE_INFO;
596#[repr(C, packed)]
597#[derive(Debug, Copy, Clone)]
598pub struct tPicoTriggerInfo {
599    pub status: PICO_STATUS,
600    pub segmentIndex: u64,
601    pub triggerIndex: u64,
602    pub triggerTime: f64,
603    pub timeUnits: PICO_TIME_UNITS,
604    pub missedTriggers: u64,
605    pub timeStampCounter: u64,
606}
607
608pub type PICO_TRIGGER_INFO = tPicoTriggerInfo;
609#[repr(C, packed)]
610#[derive(Debug, Copy, Clone)]
611pub struct tPicoTriggerChannelProperties {
612    pub thresholdUpper: i16,
613    pub thresholdUpperHysteresis: u16,
614    pub thresholdLower: i16,
615    pub thresholdLowerHysteresis: u16,
616    pub channel: PICO_CHANNEL,
617}
618
619pub type PICO_TRIGGER_CHANNEL_PROPERTIES = tPicoTriggerChannelProperties;
620#[repr(C, packed)]
621#[derive(Debug, Copy, Clone)]
622pub struct tPicoCondition {
623    pub source: PICO_CHANNEL,
624    pub condition: PICO_TRIGGER_STATE,
625}
626
627pub type PICO_CONDITION = tPicoCondition;
628#[repr(C, packed)]
629#[derive(Debug, Copy, Clone)]
630pub struct tPicoDirection {
631    pub channel: PICO_CHANNEL,
632    pub direction: PICO_THRESHOLD_DIRECTION,
633    pub thresholdMode: PICO_THRESHOLD_MODE,
634}
635
636pub type PICO_DIRECTION = tPicoDirection;
637#[repr(C, packed)]
638#[derive(Debug, Copy, Clone)]
639pub struct tPicoUserProbeInteractions {
640    pub connected_: u16,
641    pub channel_: PICO_CHANNEL,
642    pub enabled_: u16,
643    pub probeName_: PicoConnectProbe,
644    pub requiresPower_: u8,
645    pub isPowered_: u8,
646    pub status_: PICO_STATUS,
647    pub probeOff_: PICO_CONNECT_PROBE_RANGE,
648    pub rangeFirst_: PICO_CONNECT_PROBE_RANGE,
649    pub rangeLast_: PICO_CONNECT_PROBE_RANGE,
650    pub rangeCurrent_: PICO_CONNECT_PROBE_RANGE,
651    pub couplingFirst_: PICO_COUPLING,
652    pub couplingLast_: PICO_COUPLING,
653    pub couplingCurrent_: PICO_COUPLING,
654    pub filterFlags_: PICO_BANDWIDTH_LIMITER_FLAGS,
655    pub filterCurrent_: PICO_BANDWIDTH_LIMITER_FLAGS,
656    pub defaultFilter_: PICO_BANDWIDTH_LIMITER,
657}
658
659pub type PICO_USER_PROBE_INTERACTIONS = tPicoUserProbeInteractions;
660#[repr(C, packed)]
661#[derive(Debug, Copy, Clone)]
662pub struct tPicoDataBuffers {
663    pub channel_: PICO_CHANNEL,
664    pub waveform_: u64,
665    pub downSampleRatioMode_: PICO_RATIO_MODE,
666    pub read_: PICO_READ_SELECTION,
667    pub bufferMax_: PICO_POINTER,
668    pub bufferMin_: PICO_POINTER,
669    pub dataType_: PICO_DATA_TYPE,
670    pub nDistributionPoints_: u32,
671}
672
673pub type PICO_DATA_BUFFERS = tPicoDataBuffers;
674#[repr(C, packed)]
675#[derive(Debug, Copy, Clone)]
676pub struct tPicoStreamingDataInfo {
677    pub channel_: PICO_CHANNEL,
678    pub mode_: PICO_RATIO_MODE,
679    pub type_: PICO_DATA_TYPE,
680    pub noOfSamples_: i32,
681    pub bufferIndex_: u64,
682    pub startIndex_: i32,
683    pub overflow_: i16,
684}
685
686pub type PICO_STREAMING_DATA_INFO = tPicoStreamingDataInfo;
687#[repr(C, packed)]
688#[derive(Debug, Copy, Clone)]
689pub struct tPicoStreamingDataTriggerInfo {
690    pub triggerAt_: u64,
691    pub triggered_: i16,
692    pub autoStop_: i16,
693}
694
695pub type PICO_STREAMING_DATA_TRIGGER_INFO = tPicoStreamingDataTriggerInfo;
696#[repr(C, packed)]
697#[derive(Debug, Copy, Clone)]
698pub struct tPicoScalingFactors {
699    pub channel: PICO_CHANNEL,
700    pub range: PICO_CONNECT_PROBE_RANGE,
701    pub offset: i16,
702    pub scalingFactor: f64,
703}
704
705pub type PICO_SCALING_FACTORS_VALUES = tPicoScalingFactors;
706#[repr(C, packed)]
707#[derive(Debug, Copy, Clone)]
708pub struct tPicoScalingFactorsForRangeTypes {
709    pub channel: PICO_CHANNEL,
710    pub rangeMin: i64,
711    pub rangeMax: i64,
712    pub rangeType: PICO_PROBE_RANGE_INFO,
713    pub offset: i16,
714    pub scalingFactor: f64,
715}
716
717pub type PICO_SCALING_FACTORS_FOR_RANGE_TYPES_VALUES = tPicoScalingFactorsForRangeTypes;
718#[repr(C, packed)]
719#[derive(Debug, Copy, Clone)]
720pub struct tProbeApp {
721    pub id_: i32,
722    pub appMajorVersion_: i32,
723    pub appMinorVersion_: i32,
724}
725
726pub type PROBE_APP = tProbeApp;
727#[repr(C, packed)]
728#[derive(Debug, Copy, Clone)]
729pub struct tDigitalChannelDirections {
730    pub channel: PICO_PORT_DIGITAL_CHANNEL,
731    pub direction: PICO_DIGITAL_DIRECTION,
732}
733
734pub type PICO_DIGITAL_CHANNEL_DIRECTIONS = tDigitalChannelDirections;
735#[repr(C, packed)]
736#[derive(Debug, Copy, Clone)]
737pub struct tPicoDigitalPortInteractions {
738    pub connected_: u16,
739    pub channel_: PICO_CHANNEL,
740    pub digitalPortName_: PICO_DIGITAL_PORT,
741    pub status_: PICO_STATUS,
742    pub serial_: [i8; 10usize],
743    pub calibrationDate_: [i8; 8usize],
744}
745
746pub type PICO_DIGITAL_PORT_INTERACTIONS = tPicoDigitalPortInteractions;
747#[repr(C, packed)]
748#[derive(Debug, Copy, Clone)]
749pub struct tPicoChannelOvervoltageTripped {
750    pub channel_: PICO_CHANNEL,
751    pub tripped_: u8,
752}
753
754pub type PICO_CHANNEL_OVERVOLTAGE_TRIPPED = tPicoChannelOvervoltageTripped;
755#[repr(C, packed)]
756#[derive(Debug, Copy, Clone)]
757pub struct tPicoUsbPowerDelivery {
758    pub valid_: u8,
759    pub busVoltagemV_: u32,
760    pub rpCurrentLimitmA_: u32,
761    pub partnerConnected_: u8,
762    pub ccPolarity_: u8,
763    pub attachedDevice_: PICO_USB_POWER_DELIVERY_DEVICE_TYPE,
764    pub contractExists_: u8,
765    pub currentPdo_: u32,
766    pub currentRdo_: u32,
767}
768
769pub type PICO_USB_POWER_DELIVERY = tPicoUsbPowerDelivery;
770#[repr(C)]
771#[derive(Debug, Copy, Clone)]
772pub struct tPicoUsbPowerDetails {
773    pub powerErrorLikely_: u8,
774    pub dataPort_: PICO_USB_POWER_DELIVERY,
775    pub powerPort_: PICO_USB_POWER_DELIVERY,
776}
777
778pub type PICO_USB_POWER_DETAILS = tPicoUsbPowerDetails;
779pub type PicoUpdateFirmwareProgress =
780    ::std::option::Option<unsafe extern "C" fn(handle: i16, progress: u16)>;
781pub type PicoProbeInteractions = ::std::option::Option<
782    unsafe extern "C" fn(
783        handle: i16,
784        status: PICO_STATUS,
785        probes: *mut PICO_USER_PROBE_INTERACTIONS,
786        nProbes: u32,
787    ),
788>;
789pub type PicoDataReadyUsingReads = ::std::option::Option<
790    unsafe extern "C" fn(
791        handle: i16,
792        read: PICO_READ_SELECTION,
793        status: PICO_STATUS,
794        fromSegmentIndex: u64,
795        toSegmentIndex: u64,
796        pParameter: PICO_POINTER,
797    ),
798>;
799pub type PicoExternalReferenceInteractions = ::std::option::Option<
800    unsafe extern "C" fn(handle: i16, status: PICO_STATUS, reference: PICO_CLOCK_REFERENCE),
801>;
802pub type PicoAWGOverrangeInteractions =
803    ::std::option::Option<unsafe extern "C" fn(handle: i16, status: PICO_STATUS)>;
804pub type PicoTemperatureSensorInteractions = ::std::option::Option<
805    unsafe extern "C" fn(handle: i16, temperatureStatus: PICO_TEMPERATURE_REFERENCE),
806>;
807#[repr(C, packed)]
808#[derive(Debug, Copy, Clone)]
809pub struct tPicoVersion {
810    pub major_: i16,
811    pub minor_: i16,
812    pub revision_: i16,
813    pub build_: i16,
814}
815
816pub type PICO_VERSION = tPicoVersion;
817#[repr(C, packed)]
818#[derive(Debug, Copy, Clone)]
819pub struct tPicoFirmwareInfo {
820    pub firmwareType: PICO_INFO,
821    pub currentVersion: PICO_VERSION,
822    pub updateVersion: PICO_VERSION,
823    pub updateRequired: u16,
824}
825
826pub type PICO_FIRMWARE_INFO = tPicoFirmwareInfo;
827pub type psospaBlockReady = ::std::option::Option<
828    unsafe extern "C" fn(handle: i16, status: PICO_STATUS, pParameter: PICO_POINTER),
829>;
830pub type psospaDataReady = ::std::option::Option<
831    unsafe extern "C" fn(
832        handle: i16,
833        status: PICO_STATUS,
834        noOfSamples: u64,
835        overflow: i16,
836        pParameter: PICO_POINTER,
837    ),
838>;
839extern crate libloading;
840pub struct PSOSPALoader {
841    __library: ::libloading::Library,
842    pub psospaOpenUnit: Result<
843        unsafe extern "C" fn(
844            handle: *mut i16,
845            serial: *mut i8,
846            resolution: PICO_DEVICE_RESOLUTION,
847            powerDetails: *mut PICO_USB_POWER_DETAILS,
848        ) -> PICO_STATUS,
849        ::libloading::Error,
850    >,
851    pub psospaGetUnitInfo: Result<
852        unsafe extern "C" fn(
853            handle: i16,
854            string: *mut i8,
855            stringLength: i16,
856            requiredSize: *mut i16,
857            info: PICO_INFO,
858        ) -> PICO_STATUS,
859        ::libloading::Error,
860    >,
861    pub psospaGetVariantDetails: Result<
862        unsafe extern "C" fn(
863            variantName: *const i8,
864            variantNameLength: i16,
865            outputString: *mut i8,
866            outputStringLength: *mut i32,
867        ) -> PICO_STATUS,
868        ::libloading::Error,
869    >,
870    pub psospaGetAccessoryInfo: Result<
871        unsafe extern "C" fn(
872            handle: i16,
873            channel: PICO_CHANNEL,
874            string: *mut i8,
875            stringLength: i16,
876            requiredSize: *mut i16,
877            info: PICO_INFO,
878        ) -> PICO_STATUS,
879        ::libloading::Error,
880    >,
881    pub psospaCloseUnit:
882        Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
883    pub psospaMemorySegments: Result<
884        unsafe extern "C" fn(handle: i16, nSegments: u64, nMaxSamples: *mut u64) -> PICO_STATUS,
885        ::libloading::Error,
886    >,
887    pub psospaMemorySegmentsBySamples: Result<
888        unsafe extern "C" fn(handle: i16, nSamples: u64, nMaxSegments: *mut u64) -> PICO_STATUS,
889        ::libloading::Error,
890    >,
891    pub psospaGetMaximumAvailableMemory: Result<
892        unsafe extern "C" fn(
893            handle: i16,
894            nMaxSamples: *mut u64,
895            resolution: PICO_DEVICE_RESOLUTION,
896        ) -> PICO_STATUS,
897        ::libloading::Error,
898    >,
899    pub psospaQueryMaxSegmentsBySamples: Result<
900        unsafe extern "C" fn(
901            handle: i16,
902            nSamples: u64,
903            nChannelEnabled: u32,
904            nMaxSegments: *mut u64,
905            resolution: PICO_DEVICE_RESOLUTION,
906        ) -> PICO_STATUS,
907        ::libloading::Error,
908    >,
909    pub psospaSetChannelOn: Result<
910        unsafe extern "C" fn(
911            handle: i16,
912            channel: PICO_CHANNEL,
913            coupling: PICO_COUPLING,
914            rangeMin: i64,
915            rangeMax: i64,
916            rangeType: PICO_PROBE_RANGE_INFO,
917            analogueOffset: f64,
918            bandwidth: PICO_BANDWIDTH_LIMITER,
919        ) -> PICO_STATUS,
920        ::libloading::Error,
921    >,
922    pub psospaSetChannelOff: Result<
923        unsafe extern "C" fn(handle: i16, channel: PICO_CHANNEL) -> PICO_STATUS,
924        ::libloading::Error,
925    >,
926    pub psospaSetDigitalPortOn: Result<
927        unsafe extern "C" fn(
928            handle: i16,
929            port: PICO_CHANNEL,
930            logicThresholdLevel: *mut i16,
931            logicThresholdLevelLength: i16,
932            hysteresis: PICO_DIGITAL_PORT_HYSTERESIS,
933        ) -> PICO_STATUS,
934        ::libloading::Error,
935    >,
936    pub psospaSetDigitalPortOff: Result<
937        unsafe extern "C" fn(handle: i16, port: PICO_CHANNEL) -> PICO_STATUS,
938        ::libloading::Error,
939    >,
940    pub psospaGetTimebase: Result<
941        unsafe extern "C" fn(
942            handle: i16,
943            timebase: u32,
944            noSamples: u64,
945            timeIntervalNanoseconds: *mut f64,
946            maxSamples: *mut u64,
947            segmentIndex: u64,
948        ) -> PICO_STATUS,
949        ::libloading::Error,
950    >,
951    pub psospaSigGenWaveform: Result<
952        unsafe extern "C" fn(
953            handle: i16,
954            waveType: PICO_WAVE_TYPE,
955            buffer: *mut i16,
956            bufferLength: u64,
957        ) -> PICO_STATUS,
958        ::libloading::Error,
959    >,
960    pub psospaSigGenRange: Result<
961        unsafe extern "C" fn(handle: i16, peakToPeakVolts: f64, offsetVolts: f64) -> PICO_STATUS,
962        ::libloading::Error,
963    >,
964    pub psospaSigGenWaveformDutyCycle: Result<
965        unsafe extern "C" fn(handle: i16, dutyCyclePercent: f64) -> PICO_STATUS,
966        ::libloading::Error,
967    >,
968    pub psospaSigGenTrigger: Result<
969        unsafe extern "C" fn(
970            handle: i16,
971            triggerType: PICO_SIGGEN_TRIG_TYPE,
972            triggerSource: PICO_SIGGEN_TRIG_SOURCE,
973            cycles: u64,
974            autoTriggerPicoSeconds: u64,
975        ) -> PICO_STATUS,
976        ::libloading::Error,
977    >,
978    pub psospaSigGenFilter: Result<
979        unsafe extern "C" fn(handle: i16, filterState: PICO_SIGGEN_FILTER_STATE) -> PICO_STATUS,
980        ::libloading::Error,
981    >,
982    pub psospaSigGenFrequency: Result<
983        unsafe extern "C" fn(handle: i16, frequencyHz: f64) -> PICO_STATUS,
984        ::libloading::Error,
985    >,
986    pub psospaSigGenFrequencySweep: Result<
987        unsafe extern "C" fn(
988            handle: i16,
989            stopFrequencyHz: f64,
990            frequencyIncrement: f64,
991            dwellTimeSeconds: f64,
992            sweepType: PICO_SWEEP_TYPE,
993        ) -> PICO_STATUS,
994        ::libloading::Error,
995    >,
996    pub psospaSigGenPhase: Result<
997        unsafe extern "C" fn(handle: i16, deltaPhase: u64) -> PICO_STATUS,
998        ::libloading::Error,
999    >,
1000    pub psospaSigGenPhaseSweep: Result<
1001        unsafe extern "C" fn(
1002            handle: i16,
1003            stopDeltaPhase: u64,
1004            deltaPhaseIncrement: u64,
1005            dwellCount: u64,
1006            sweepType: PICO_SWEEP_TYPE,
1007        ) -> PICO_STATUS,
1008        ::libloading::Error,
1009    >,
1010    pub psospaSigGenClockManual: Result<
1011        unsafe extern "C" fn(
1012            handle: i16,
1013            dacClockFrequency: f64,
1014            prescaleRatio: u64,
1015        ) -> PICO_STATUS,
1016        ::libloading::Error,
1017    >,
1018    pub psospaSigGenSoftwareTriggerControl: Result<
1019        unsafe extern "C" fn(handle: i16, triggerState: PICO_SIGGEN_TRIG_TYPE) -> PICO_STATUS,
1020        ::libloading::Error,
1021    >,
1022    pub psospaSigGenApply: Result<
1023        unsafe extern "C" fn(
1024            handle: i16,
1025            sigGenEnabled: i16,
1026            sweepEnabled: i16,
1027            triggerEnabled: i16,
1028            automaticClockOptimisationEnabled: i16,
1029            overrideAutomaticClockAndPrescale: i16,
1030            frequency: *mut f64,
1031            stopFrequency: *mut f64,
1032            frequencyIncrement: *mut f64,
1033            dwellTime: *mut f64,
1034        ) -> PICO_STATUS,
1035        ::libloading::Error,
1036    >,
1037    pub psospaSigGenLimits: Result<
1038        unsafe extern "C" fn(
1039            handle: i16,
1040            parameter: PICO_SIGGEN_PARAMETER,
1041            minimumPermissibleValue: *mut f64,
1042            maximumPermissibleValue: *mut f64,
1043            step: *mut f64,
1044        ) -> PICO_STATUS,
1045        ::libloading::Error,
1046    >,
1047    pub psospaSigGenFrequencyLimits: Result<
1048        unsafe extern "C" fn(
1049            handle: i16,
1050            waveType: PICO_WAVE_TYPE,
1051            numSamples: *mut u64,
1052            startFrequency: *mut f64,
1053            sweepEnabled: i16,
1054            manualDacClockFrequency: *mut f64,
1055            manualPrescaleRatio: *mut u64,
1056            maxStopFrequencyOut: *mut f64,
1057            minFrequencyStepOut: *mut f64,
1058            maxFrequencyStepOut: *mut f64,
1059            minDwellTimeOut: *mut f64,
1060            maxDwellTimeOut: *mut f64,
1061        ) -> PICO_STATUS,
1062        ::libloading::Error,
1063    >,
1064    pub psospaSigGenPause:
1065        Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1066    pub psospaSigGenRestart:
1067        Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1068    pub psospaSetSimpleTrigger: Result<
1069        unsafe extern "C" fn(
1070            handle: i16,
1071            enable: i16,
1072            source: PICO_CHANNEL,
1073            threshold: i16,
1074            direction: PICO_THRESHOLD_DIRECTION,
1075            delay: u64,
1076            autoTriggerMicroSeconds: u32,
1077        ) -> PICO_STATUS,
1078        ::libloading::Error,
1079    >,
1080    pub psospaTriggerWithinPreTriggerSamples: Result<
1081        unsafe extern "C" fn(handle: i16, state: PICO_TRIGGER_WITHIN_PRE_TRIGGER) -> PICO_STATUS,
1082        ::libloading::Error,
1083    >,
1084    pub psospaSetTriggerChannelProperties: Result<
1085        unsafe extern "C" fn(
1086            handle: i16,
1087            channelProperties: *mut PICO_TRIGGER_CHANNEL_PROPERTIES,
1088            nChannelProperties: i16,
1089            auxOutputEnable: i16,
1090            autoTriggerMicroSeconds: u32,
1091        ) -> PICO_STATUS,
1092        ::libloading::Error,
1093    >,
1094    pub psospaSetTriggerChannelConditions: Result<
1095        unsafe extern "C" fn(
1096            handle: i16,
1097            conditions: *mut PICO_CONDITION,
1098            nConditions: i16,
1099            action: PICO_ACTION,
1100        ) -> PICO_STATUS,
1101        ::libloading::Error,
1102    >,
1103    pub psospaSetTriggerChannelDirections: Result<
1104        unsafe extern "C" fn(
1105            handle: i16,
1106            directions: *mut PICO_DIRECTION,
1107            nDirections: i16,
1108        ) -> PICO_STATUS,
1109        ::libloading::Error,
1110    >,
1111    pub psospaSetTriggerDelay:
1112        Result<unsafe extern "C" fn(handle: i16, delay: u64) -> PICO_STATUS, ::libloading::Error>,
1113    pub psospaSetTriggerHoldoffCounterBySamples: Result<
1114        unsafe extern "C" fn(handle: i16, holdoffSamples: u64) -> PICO_STATUS,
1115        ::libloading::Error,
1116    >,
1117    pub psospaSetPulseWidthQualifierProperties: Result<
1118        unsafe extern "C" fn(
1119            handle: i16,
1120            lower: u32,
1121            upper: u32,
1122            type_: PICO_PULSE_WIDTH_TYPE,
1123        ) -> PICO_STATUS,
1124        ::libloading::Error,
1125    >,
1126    pub psospaSetPulseWidthQualifierConditions: Result<
1127        unsafe extern "C" fn(
1128            handle: i16,
1129            conditions: *mut PICO_CONDITION,
1130            nConditions: i16,
1131            action: PICO_ACTION,
1132        ) -> PICO_STATUS,
1133        ::libloading::Error,
1134    >,
1135    pub psospaSetPulseWidthQualifierDirections: Result<
1136        unsafe extern "C" fn(
1137            handle: i16,
1138            directions: *mut PICO_DIRECTION,
1139            nDirections: i16,
1140        ) -> PICO_STATUS,
1141        ::libloading::Error,
1142    >,
1143    pub psospaSetTriggerDigitalPortProperties: Result<
1144        unsafe extern "C" fn(
1145            handle: i16,
1146            port: PICO_CHANNEL,
1147            directions: *mut PICO_DIGITAL_CHANNEL_DIRECTIONS,
1148            nDirections: i16,
1149        ) -> PICO_STATUS,
1150        ::libloading::Error,
1151    >,
1152    pub psospaSetPulseWidthDigitalPortProperties: Result<
1153        unsafe extern "C" fn(
1154            handle: i16,
1155            port: PICO_CHANNEL,
1156            directions: *mut PICO_DIGITAL_CHANNEL_DIRECTIONS,
1157            nDirections: i16,
1158        ) -> PICO_STATUS,
1159        ::libloading::Error,
1160    >,
1161    pub psospaGetTriggerTimeOffset: Result<
1162        unsafe extern "C" fn(
1163            handle: i16,
1164            time: *mut i64,
1165            timeUnits: *mut PICO_TIME_UNITS,
1166            segmentIndex: u64,
1167        ) -> PICO_STATUS,
1168        ::libloading::Error,
1169    >,
1170    pub psospaGetValuesTriggerTimeOffsetBulk: Result<
1171        unsafe extern "C" fn(
1172            handle: i16,
1173            times: *mut i64,
1174            timeUnits: *mut PICO_TIME_UNITS,
1175            fromSegmentIndex: u64,
1176            toSegmentIndex: u64,
1177        ) -> PICO_STATUS,
1178        ::libloading::Error,
1179    >,
1180    pub psospaSetDataBuffer: Result<
1181        unsafe extern "C" fn(
1182            handle: i16,
1183            channel: PICO_CHANNEL,
1184            buffer: PICO_POINTER,
1185            nSamples: i32,
1186            dataType: PICO_DATA_TYPE,
1187            waveform: u64,
1188            downSampleRatioMode: PICO_RATIO_MODE,
1189            action: PICO_ACTION,
1190        ) -> PICO_STATUS,
1191        ::libloading::Error,
1192    >,
1193    pub psospaSetDataBuffers: Result<
1194        unsafe extern "C" fn(
1195            handle: i16,
1196            channel: PICO_CHANNEL,
1197            bufferMax: PICO_POINTER,
1198            bufferMin: PICO_POINTER,
1199            nSamples: i32,
1200            dataType: PICO_DATA_TYPE,
1201            waveform: u64,
1202            downSampleRatioMode: PICO_RATIO_MODE,
1203            action: PICO_ACTION,
1204        ) -> PICO_STATUS,
1205        ::libloading::Error,
1206    >,
1207    pub psospaRunBlock: Result<
1208        unsafe extern "C" fn(
1209            handle: i16,
1210            noOfPreTriggerSamples: u64,
1211            noOfPostTriggerSamples: u64,
1212            timebase: u32,
1213            timeIndisposedMs: *mut f64,
1214            segmentIndex: u64,
1215            lpReady: psospaBlockReady,
1216            pParameter: PICO_POINTER,
1217        ) -> PICO_STATUS,
1218        ::libloading::Error,
1219    >,
1220    pub psospaIsReady: Result<
1221        unsafe extern "C" fn(handle: i16, ready: *mut i16) -> PICO_STATUS,
1222        ::libloading::Error,
1223    >,
1224    pub psospaRunStreaming: Result<
1225        unsafe extern "C" fn(
1226            handle: i16,
1227            sampleInterval: *mut f64,
1228            sampleIntervalTimeUnits: PICO_TIME_UNITS,
1229            maxPreTriggerSamples: u64,
1230            maxPostPreTriggerSamples: u64,
1231            autoStop: i16,
1232            downSampleRatio: u64,
1233            downSampleRatioMode: PICO_RATIO_MODE,
1234        ) -> PICO_STATUS,
1235        ::libloading::Error,
1236    >,
1237    pub psospaGetStreamingLatestValues: Result<
1238        unsafe extern "C" fn(
1239            handle: i16,
1240            streamingDataInfo: *mut PICO_STREAMING_DATA_INFO,
1241            nStreamingDataInfos: u64,
1242            triggerInfo: *mut PICO_STREAMING_DATA_TRIGGER_INFO,
1243        ) -> PICO_STATUS,
1244        ::libloading::Error,
1245    >,
1246    pub psospaNoOfStreamingValues: Result<
1247        unsafe extern "C" fn(handle: i16, noOfValues: *mut u64) -> PICO_STATUS,
1248        ::libloading::Error,
1249    >,
1250    pub psospaGetValues: Result<
1251        unsafe extern "C" fn(
1252            handle: i16,
1253            startIndex: u64,
1254            noOfSamples: *mut u64,
1255            downSampleRatio: u64,
1256            downSampleRatioMode: PICO_RATIO_MODE,
1257            segmentIndex: u64,
1258            overflow: *mut i16,
1259        ) -> PICO_STATUS,
1260        ::libloading::Error,
1261    >,
1262    pub psospaGetValuesBulk: Result<
1263        unsafe extern "C" fn(
1264            handle: i16,
1265            startIndex: u64,
1266            noOfSamples: *mut u64,
1267            fromSegmentIndex: u64,
1268            toSegmentIndex: u64,
1269            downSampleRatio: u64,
1270            downSampleRatioMode: PICO_RATIO_MODE,
1271            overflow: *mut i16,
1272        ) -> PICO_STATUS,
1273        ::libloading::Error,
1274    >,
1275    pub psospaGetValuesAsync: Result<
1276        unsafe extern "C" fn(
1277            handle: i16,
1278            startIndex: u64,
1279            noOfSamples: u64,
1280            downSampleRatio: u64,
1281            downSampleRatioMode: PICO_RATIO_MODE,
1282            segmentIndex: u64,
1283            lpDataReady: PICO_POINTER,
1284            pParameter: PICO_POINTER,
1285        ) -> PICO_STATUS,
1286        ::libloading::Error,
1287    >,
1288    pub psospaGetValuesBulkAsync: Result<
1289        unsafe extern "C" fn(
1290            handle: i16,
1291            startIndex: u64,
1292            noOfSamples: u64,
1293            fromSegmentIndex: u64,
1294            toSegmentIndex: u64,
1295            downSampleRatio: u64,
1296            downSampleRatioMode: PICO_RATIO_MODE,
1297            lpDataReady: PICO_POINTER,
1298            pParameter: PICO_POINTER,
1299        ) -> PICO_STATUS,
1300        ::libloading::Error,
1301    >,
1302    pub psospaGetValuesOverlapped: Result<
1303        unsafe extern "C" fn(
1304            handle: i16,
1305            startIndex: u64,
1306            noOfSamples: *mut u64,
1307            downSampleRatio: u64,
1308            downSampleRatioMode: PICO_RATIO_MODE,
1309            fromSegmentIndex: u64,
1310            toSegmentIndex: u64,
1311            overflow: *mut i16,
1312        ) -> PICO_STATUS,
1313        ::libloading::Error,
1314    >,
1315    pub psospaStopUsingGetValuesOverlapped:
1316        Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1317    pub psospaGetNoOfCaptures: Result<
1318        unsafe extern "C" fn(handle: i16, nCaptures: *mut u64) -> PICO_STATUS,
1319        ::libloading::Error,
1320    >,
1321    pub psospaGetNoOfProcessedCaptures: Result<
1322        unsafe extern "C" fn(handle: i16, nProcessedCaptures: *mut u64) -> PICO_STATUS,
1323        ::libloading::Error,
1324    >,
1325    pub psospaStop: Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1326    pub psospaSetNoOfCaptures: Result<
1327        unsafe extern "C" fn(handle: i16, nCaptures: u64) -> PICO_STATUS,
1328        ::libloading::Error,
1329    >,
1330    pub psospaGetTriggerInfo: Result<
1331        unsafe extern "C" fn(
1332            handle: i16,
1333            triggerInfo: *mut PICO_TRIGGER_INFO,
1334            firstSegmentIndex: u64,
1335            segmentCount: u64,
1336        ) -> PICO_STATUS,
1337        ::libloading::Error,
1338    >,
1339    pub psospaEnumerateUnits: Result<
1340        unsafe extern "C" fn(count: *mut i16, serials: *mut i8, serialLth: *mut i16) -> PICO_STATUS,
1341        ::libloading::Error,
1342    >,
1343    pub psospaPingUnit:
1344        Result<unsafe extern "C" fn(handle: i16) -> PICO_STATUS, ::libloading::Error>,
1345    pub psospaGetAnalogueOffsetLimits: Result<
1346        unsafe extern "C" fn(
1347            handle: i16,
1348            rangeMin: i64,
1349            rangeMax: i64,
1350            rangeType: PICO_PROBE_RANGE_INFO,
1351            coupling: PICO_COUPLING,
1352            maximumVoltage: *mut f64,
1353            minimumVoltage: *mut f64,
1354        ) -> PICO_STATUS,
1355        ::libloading::Error,
1356    >,
1357    pub psospaGetMinimumTimebaseStateless: Result<
1358        unsafe extern "C" fn(
1359            handle: i16,
1360            enabledChannelFlags: PICO_CHANNEL_FLAGS,
1361            timebase: *mut u32,
1362            timeInterval: *mut f64,
1363            resolution: PICO_DEVICE_RESOLUTION,
1364        ) -> PICO_STATUS,
1365        ::libloading::Error,
1366    >,
1367    pub psospaNearestSampleIntervalStateless: Result<
1368        unsafe extern "C" fn(
1369            handle: i16,
1370            enabledChannelFlags: PICO_CHANNEL_FLAGS,
1371            timeIntervalRequested: f64,
1372            roundFaster: u8,
1373            resolution: PICO_DEVICE_RESOLUTION,
1374            timebase: *mut u32,
1375            timeIntervalAvailable: *mut f64,
1376        ) -> PICO_STATUS,
1377        ::libloading::Error,
1378    >,
1379    pub psospaChannelCombinationsStateless: Result<
1380        unsafe extern "C" fn(
1381            handle: i16,
1382            channelFlagsCombinations: *mut PICO_CHANNEL_FLAGS,
1383            nChannelCombinations: *mut u32,
1384            resolution: PICO_DEVICE_RESOLUTION,
1385            timebase: u32,
1386        ) -> PICO_STATUS,
1387        ::libloading::Error,
1388    >,
1389    pub psospaSetDeviceResolution: Result<
1390        unsafe extern "C" fn(handle: i16, resolution: PICO_DEVICE_RESOLUTION) -> PICO_STATUS,
1391        ::libloading::Error,
1392    >,
1393    pub psospaGetDeviceResolution: Result<
1394        unsafe extern "C" fn(handle: i16, resolution: *mut PICO_DEVICE_RESOLUTION) -> PICO_STATUS,
1395        ::libloading::Error,
1396    >,
1397    pub psospaQueryOutputEdgeDetect: Result<
1398        unsafe extern "C" fn(handle: i16, state: *mut i16) -> PICO_STATUS,
1399        ::libloading::Error,
1400    >,
1401    pub psospaSetOutputEdgeDetect:
1402        Result<unsafe extern "C" fn(handle: i16, state: i16) -> PICO_STATUS, ::libloading::Error>,
1403    pub psospaGetScalingValues: Result<
1404        unsafe extern "C" fn(
1405            handle: i16,
1406            scalingValues: *mut PICO_SCALING_FACTORS_FOR_RANGE_TYPES_VALUES,
1407            nChannels: i16,
1408        ) -> PICO_STATUS,
1409        ::libloading::Error,
1410    >,
1411    pub psospaGetAdcLimits: Result<
1412        unsafe extern "C" fn(
1413            handle: i16,
1414            resolution: PICO_DEVICE_RESOLUTION,
1415            minValue: *mut i16,
1416            maxValue: *mut i16,
1417        ) -> PICO_STATUS,
1418        ::libloading::Error,
1419    >,
1420    pub psospaCheckForUpdate: Result<
1421        unsafe extern "C" fn(
1422            handle: i16,
1423            firmwareInfos: *mut PICO_FIRMWARE_INFO,
1424            nFirmwareInfos: *mut i16,
1425            updatesRequired: *mut u16,
1426        ) -> PICO_STATUS,
1427        ::libloading::Error,
1428    >,
1429    pub psospaStartFirmwareUpdate: Result<
1430        unsafe extern "C" fn(handle: i16, progress: PicoUpdateFirmwareProgress) -> PICO_STATUS,
1431        ::libloading::Error,
1432    >,
1433    pub psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus: Result<
1434        unsafe extern "C" fn(
1435            handle: i16,
1436            allChannelsTrippedStatus: *mut PICO_CHANNEL_OVERVOLTAGE_TRIPPED,
1437            nChannelTrippedStatus: u8,
1438        ) -> PICO_STATUS,
1439        ::libloading::Error,
1440    >,
1441    pub psospaReportAllChannelsOvervoltageTripStatus: Result<
1442        unsafe extern "C" fn(
1443            handle: i16,
1444            allChannelsTrippedStatus: *mut PICO_CHANNEL_OVERVOLTAGE_TRIPPED,
1445            nChannelTrippedStatus: u8,
1446        ) -> PICO_STATUS,
1447        ::libloading::Error,
1448    >,
1449}
1450impl PSOSPALoader {
1451    pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
1452    where
1453        P: AsRef<::std::ffi::OsStr>,
1454    {
1455        let library = ::libloading::Library::new(path)?;
1456        Self::from_library(library)
1457    }
1458    pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
1459    where
1460        L: Into<::libloading::Library>,
1461    {
1462        let __library = library.into();
1463        let psospaOpenUnit = __library.get(b"psospaOpenUnit\0").map(|sym| *sym);
1464        let psospaGetUnitInfo = __library.get(b"psospaGetUnitInfo\0").map(|sym| *sym);
1465        let psospaGetVariantDetails = __library.get(b"psospaGetVariantDetails\0").map(|sym| *sym);
1466        let psospaGetAccessoryInfo = __library.get(b"psospaGetAccessoryInfo\0").map(|sym| *sym);
1467        let psospaCloseUnit = __library.get(b"psospaCloseUnit\0").map(|sym| *sym);
1468        let psospaMemorySegments = __library.get(b"psospaMemorySegments\0").map(|sym| *sym);
1469        let psospaMemorySegmentsBySamples = __library
1470            .get(b"psospaMemorySegmentsBySamples\0")
1471            .map(|sym| *sym);
1472        let psospaGetMaximumAvailableMemory = __library
1473            .get(b"psospaGetMaximumAvailableMemory\0")
1474            .map(|sym| *sym);
1475        let psospaQueryMaxSegmentsBySamples = __library
1476            .get(b"psospaQueryMaxSegmentsBySamples\0")
1477            .map(|sym| *sym);
1478        let psospaSetChannelOn = __library.get(b"psospaSetChannelOn\0").map(|sym| *sym);
1479        let psospaSetChannelOff = __library.get(b"psospaSetChannelOff\0").map(|sym| *sym);
1480        let psospaSetDigitalPortOn = __library.get(b"psospaSetDigitalPortOn\0").map(|sym| *sym);
1481        let psospaSetDigitalPortOff = __library.get(b"psospaSetDigitalPortOff\0").map(|sym| *sym);
1482        let psospaGetTimebase = __library.get(b"psospaGetTimebase\0").map(|sym| *sym);
1483        let psospaSigGenWaveform = __library.get(b"psospaSigGenWaveform\0").map(|sym| *sym);
1484        let psospaSigGenRange = __library.get(b"psospaSigGenRange\0").map(|sym| *sym);
1485        let psospaSigGenWaveformDutyCycle = __library
1486            .get(b"psospaSigGenWaveformDutyCycle\0")
1487            .map(|sym| *sym);
1488        let psospaSigGenTrigger = __library.get(b"psospaSigGenTrigger\0").map(|sym| *sym);
1489        let psospaSigGenFilter = __library.get(b"psospaSigGenFilter\0").map(|sym| *sym);
1490        let psospaSigGenFrequency = __library.get(b"psospaSigGenFrequency\0").map(|sym| *sym);
1491        let psospaSigGenFrequencySweep = __library
1492            .get(b"psospaSigGenFrequencySweep\0")
1493            .map(|sym| *sym);
1494        let psospaSigGenPhase = __library.get(b"psospaSigGenPhase\0").map(|sym| *sym);
1495        let psospaSigGenPhaseSweep = __library.get(b"psospaSigGenPhaseSweep\0").map(|sym| *sym);
1496        let psospaSigGenClockManual = __library.get(b"psospaSigGenClockManual\0").map(|sym| *sym);
1497        let psospaSigGenSoftwareTriggerControl = __library
1498            .get(b"psospaSigGenSoftwareTriggerControl\0")
1499            .map(|sym| *sym);
1500        let psospaSigGenApply = __library.get(b"psospaSigGenApply\0").map(|sym| *sym);
1501        let psospaSigGenLimits = __library.get(b"psospaSigGenLimits\0").map(|sym| *sym);
1502        let psospaSigGenFrequencyLimits = __library
1503            .get(b"psospaSigGenFrequencyLimits\0")
1504            .map(|sym| *sym);
1505        let psospaSigGenPause = __library.get(b"psospaSigGenPause\0").map(|sym| *sym);
1506        let psospaSigGenRestart = __library.get(b"psospaSigGenRestart\0").map(|sym| *sym);
1507        let psospaSetSimpleTrigger = __library.get(b"psospaSetSimpleTrigger\0").map(|sym| *sym);
1508        let psospaTriggerWithinPreTriggerSamples = __library
1509            .get(b"psospaTriggerWithinPreTriggerSamples\0")
1510            .map(|sym| *sym);
1511        let psospaSetTriggerChannelProperties = __library
1512            .get(b"psospaSetTriggerChannelProperties\0")
1513            .map(|sym| *sym);
1514        let psospaSetTriggerChannelConditions = __library
1515            .get(b"psospaSetTriggerChannelConditions\0")
1516            .map(|sym| *sym);
1517        let psospaSetTriggerChannelDirections = __library
1518            .get(b"psospaSetTriggerChannelDirections\0")
1519            .map(|sym| *sym);
1520        let psospaSetTriggerDelay = __library.get(b"psospaSetTriggerDelay\0").map(|sym| *sym);
1521        let psospaSetTriggerHoldoffCounterBySamples = __library
1522            .get(b"psospaSetTriggerHoldoffCounterBySamples\0")
1523            .map(|sym| *sym);
1524        let psospaSetPulseWidthQualifierProperties = __library
1525            .get(b"psospaSetPulseWidthQualifierProperties\0")
1526            .map(|sym| *sym);
1527        let psospaSetPulseWidthQualifierConditions = __library
1528            .get(b"psospaSetPulseWidthQualifierConditions\0")
1529            .map(|sym| *sym);
1530        let psospaSetPulseWidthQualifierDirections = __library
1531            .get(b"psospaSetPulseWidthQualifierDirections\0")
1532            .map(|sym| *sym);
1533        let psospaSetTriggerDigitalPortProperties = __library
1534            .get(b"psospaSetTriggerDigitalPortProperties\0")
1535            .map(|sym| *sym);
1536        let psospaSetPulseWidthDigitalPortProperties = __library
1537            .get(b"psospaSetPulseWidthDigitalPortProperties\0")
1538            .map(|sym| *sym);
1539        let psospaGetTriggerTimeOffset = __library
1540            .get(b"psospaGetTriggerTimeOffset\0")
1541            .map(|sym| *sym);
1542        let psospaGetValuesTriggerTimeOffsetBulk = __library
1543            .get(b"psospaGetValuesTriggerTimeOffsetBulk\0")
1544            .map(|sym| *sym);
1545        let psospaSetDataBuffer = __library.get(b"psospaSetDataBuffer\0").map(|sym| *sym);
1546        let psospaSetDataBuffers = __library.get(b"psospaSetDataBuffers\0").map(|sym| *sym);
1547        let psospaRunBlock = __library.get(b"psospaRunBlock\0").map(|sym| *sym);
1548        let psospaIsReady = __library.get(b"psospaIsReady\0").map(|sym| *sym);
1549        let psospaRunStreaming = __library.get(b"psospaRunStreaming\0").map(|sym| *sym);
1550        let psospaGetStreamingLatestValues = __library
1551            .get(b"psospaGetStreamingLatestValues\0")
1552            .map(|sym| *sym);
1553        let psospaNoOfStreamingValues = __library
1554            .get(b"psospaNoOfStreamingValues\0")
1555            .map(|sym| *sym);
1556        let psospaGetValues = __library.get(b"psospaGetValues\0").map(|sym| *sym);
1557        let psospaGetValuesBulk = __library.get(b"psospaGetValuesBulk\0").map(|sym| *sym);
1558        let psospaGetValuesAsync = __library.get(b"psospaGetValuesAsync\0").map(|sym| *sym);
1559        let psospaGetValuesBulkAsync = __library.get(b"psospaGetValuesBulkAsync\0").map(|sym| *sym);
1560        let psospaGetValuesOverlapped = __library
1561            .get(b"psospaGetValuesOverlapped\0")
1562            .map(|sym| *sym);
1563        let psospaStopUsingGetValuesOverlapped = __library
1564            .get(b"psospaStopUsingGetValuesOverlapped\0")
1565            .map(|sym| *sym);
1566        let psospaGetNoOfCaptures = __library.get(b"psospaGetNoOfCaptures\0").map(|sym| *sym);
1567        let psospaGetNoOfProcessedCaptures = __library
1568            .get(b"psospaGetNoOfProcessedCaptures\0")
1569            .map(|sym| *sym);
1570        let psospaStop = __library.get(b"psospaStop\0").map(|sym| *sym);
1571        let psospaSetNoOfCaptures = __library.get(b"psospaSetNoOfCaptures\0").map(|sym| *sym);
1572        let psospaGetTriggerInfo = __library.get(b"psospaGetTriggerInfo\0").map(|sym| *sym);
1573        let psospaEnumerateUnits = __library.get(b"psospaEnumerateUnits\0").map(|sym| *sym);
1574        let psospaPingUnit = __library.get(b"psospaPingUnit\0").map(|sym| *sym);
1575        let psospaGetAnalogueOffsetLimits = __library
1576            .get(b"psospaGetAnalogueOffsetLimits\0")
1577            .map(|sym| *sym);
1578        let psospaGetMinimumTimebaseStateless = __library
1579            .get(b"psospaGetMinimumTimebaseStateless\0")
1580            .map(|sym| *sym);
1581        let psospaNearestSampleIntervalStateless = __library
1582            .get(b"psospaNearestSampleIntervalStateless\0")
1583            .map(|sym| *sym);
1584        let psospaChannelCombinationsStateless = __library
1585            .get(b"psospaChannelCombinationsStateless\0")
1586            .map(|sym| *sym);
1587        let psospaSetDeviceResolution = __library
1588            .get(b"psospaSetDeviceResolution\0")
1589            .map(|sym| *sym);
1590        let psospaGetDeviceResolution = __library
1591            .get(b"psospaGetDeviceResolution\0")
1592            .map(|sym| *sym);
1593        let psospaQueryOutputEdgeDetect = __library
1594            .get(b"psospaQueryOutputEdgeDetect\0")
1595            .map(|sym| *sym);
1596        let psospaSetOutputEdgeDetect = __library
1597            .get(b"psospaSetOutputEdgeDetect\0")
1598            .map(|sym| *sym);
1599        let psospaGetScalingValues = __library.get(b"psospaGetScalingValues\0").map(|sym| *sym);
1600        let psospaGetAdcLimits = __library.get(b"psospaGetAdcLimits\0").map(|sym| *sym);
1601        let psospaCheckForUpdate = __library.get(b"psospaCheckForUpdate\0").map(|sym| *sym);
1602        let psospaStartFirmwareUpdate = __library
1603            .get(b"psospaStartFirmwareUpdate\0")
1604            .map(|sym| *sym);
1605        let psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus = __library
1606            .get(b"psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus\0")
1607            .map(|sym| *sym);
1608        let psospaReportAllChannelsOvervoltageTripStatus = __library
1609            .get(b"psospaReportAllChannelsOvervoltageTripStatus\0")
1610            .map(|sym| *sym);
1611        Ok(PSOSPALoader {
1612            __library,
1613            psospaOpenUnit,
1614            psospaGetUnitInfo,
1615            psospaGetVariantDetails,
1616            psospaGetAccessoryInfo,
1617            psospaCloseUnit,
1618            psospaMemorySegments,
1619            psospaMemorySegmentsBySamples,
1620            psospaGetMaximumAvailableMemory,
1621            psospaQueryMaxSegmentsBySamples,
1622            psospaSetChannelOn,
1623            psospaSetChannelOff,
1624            psospaSetDigitalPortOn,
1625            psospaSetDigitalPortOff,
1626            psospaGetTimebase,
1627            psospaSigGenWaveform,
1628            psospaSigGenRange,
1629            psospaSigGenWaveformDutyCycle,
1630            psospaSigGenTrigger,
1631            psospaSigGenFilter,
1632            psospaSigGenFrequency,
1633            psospaSigGenFrequencySweep,
1634            psospaSigGenPhase,
1635            psospaSigGenPhaseSweep,
1636            psospaSigGenClockManual,
1637            psospaSigGenSoftwareTriggerControl,
1638            psospaSigGenApply,
1639            psospaSigGenLimits,
1640            psospaSigGenFrequencyLimits,
1641            psospaSigGenPause,
1642            psospaSigGenRestart,
1643            psospaSetSimpleTrigger,
1644            psospaTriggerWithinPreTriggerSamples,
1645            psospaSetTriggerChannelProperties,
1646            psospaSetTriggerChannelConditions,
1647            psospaSetTriggerChannelDirections,
1648            psospaSetTriggerDelay,
1649            psospaSetTriggerHoldoffCounterBySamples,
1650            psospaSetPulseWidthQualifierProperties,
1651            psospaSetPulseWidthQualifierConditions,
1652            psospaSetPulseWidthQualifierDirections,
1653            psospaSetTriggerDigitalPortProperties,
1654            psospaSetPulseWidthDigitalPortProperties,
1655            psospaGetTriggerTimeOffset,
1656            psospaGetValuesTriggerTimeOffsetBulk,
1657            psospaSetDataBuffer,
1658            psospaSetDataBuffers,
1659            psospaRunBlock,
1660            psospaIsReady,
1661            psospaRunStreaming,
1662            psospaGetStreamingLatestValues,
1663            psospaNoOfStreamingValues,
1664            psospaGetValues,
1665            psospaGetValuesBulk,
1666            psospaGetValuesAsync,
1667            psospaGetValuesBulkAsync,
1668            psospaGetValuesOverlapped,
1669            psospaStopUsingGetValuesOverlapped,
1670            psospaGetNoOfCaptures,
1671            psospaGetNoOfProcessedCaptures,
1672            psospaStop,
1673            psospaSetNoOfCaptures,
1674            psospaGetTriggerInfo,
1675            psospaEnumerateUnits,
1676            psospaPingUnit,
1677            psospaGetAnalogueOffsetLimits,
1678            psospaGetMinimumTimebaseStateless,
1679            psospaNearestSampleIntervalStateless,
1680            psospaChannelCombinationsStateless,
1681            psospaSetDeviceResolution,
1682            psospaGetDeviceResolution,
1683            psospaQueryOutputEdgeDetect,
1684            psospaSetOutputEdgeDetect,
1685            psospaGetScalingValues,
1686            psospaGetAdcLimits,
1687            psospaCheckForUpdate,
1688            psospaStartFirmwareUpdate,
1689            psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus,
1690            psospaReportAllChannelsOvervoltageTripStatus,
1691        })
1692    }
1693    pub unsafe fn psospaOpenUnit(
1694        &self,
1695        handle: *mut i16,
1696        serial: *mut i8,
1697        resolution: PICO_DEVICE_RESOLUTION,
1698        powerDetails: *mut PICO_USB_POWER_DETAILS,
1699    ) -> PICO_STATUS {
1700        (self
1701            .psospaOpenUnit
1702            .as_ref()
1703            .expect("Expected function, got error."))(
1704            handle, serial, resolution, powerDetails
1705        )
1706    }
1707    pub unsafe fn psospaGetUnitInfo(
1708        &self,
1709        handle: i16,
1710        string: *mut i8,
1711        stringLength: i16,
1712        requiredSize: *mut i16,
1713        info: PICO_INFO,
1714    ) -> PICO_STATUS {
1715        (self
1716            .psospaGetUnitInfo
1717            .as_ref()
1718            .expect("Expected function, got error."))(
1719            handle,
1720            string,
1721            stringLength,
1722            requiredSize,
1723            info,
1724        )
1725    }
1726    pub unsafe fn psospaGetVariantDetails(
1727        &self,
1728        variantName: *const i8,
1729        variantNameLength: i16,
1730        outputString: *mut i8,
1731        outputStringLength: *mut i32,
1732    ) -> PICO_STATUS {
1733        (self
1734            .psospaGetVariantDetails
1735            .as_ref()
1736            .expect("Expected function, got error."))(
1737            variantName,
1738            variantNameLength,
1739            outputString,
1740            outputStringLength,
1741        )
1742    }
1743    pub unsafe fn psospaGetAccessoryInfo(
1744        &self,
1745        handle: i16,
1746        channel: PICO_CHANNEL,
1747        string: *mut i8,
1748        stringLength: i16,
1749        requiredSize: *mut i16,
1750        info: PICO_INFO,
1751    ) -> PICO_STATUS {
1752        (self
1753            .psospaGetAccessoryInfo
1754            .as_ref()
1755            .expect("Expected function, got error."))(
1756            handle,
1757            channel,
1758            string,
1759            stringLength,
1760            requiredSize,
1761            info,
1762        )
1763    }
1764    pub unsafe fn psospaCloseUnit(&self, handle: i16) -> PICO_STATUS {
1765        (self
1766            .psospaCloseUnit
1767            .as_ref()
1768            .expect("Expected function, got error."))(handle)
1769    }
1770    pub unsafe fn psospaMemorySegments(
1771        &self,
1772        handle: i16,
1773        nSegments: u64,
1774        nMaxSamples: *mut u64,
1775    ) -> PICO_STATUS {
1776        (self
1777            .psospaMemorySegments
1778            .as_ref()
1779            .expect("Expected function, got error."))(handle, nSegments, nMaxSamples)
1780    }
1781    pub unsafe fn psospaMemorySegmentsBySamples(
1782        &self,
1783        handle: i16,
1784        nSamples: u64,
1785        nMaxSegments: *mut u64,
1786    ) -> PICO_STATUS {
1787        (self
1788            .psospaMemorySegmentsBySamples
1789            .as_ref()
1790            .expect("Expected function, got error."))(handle, nSamples, nMaxSegments)
1791    }
1792    pub unsafe fn psospaGetMaximumAvailableMemory(
1793        &self,
1794        handle: i16,
1795        nMaxSamples: *mut u64,
1796        resolution: PICO_DEVICE_RESOLUTION,
1797    ) -> PICO_STATUS {
1798        (self
1799            .psospaGetMaximumAvailableMemory
1800            .as_ref()
1801            .expect("Expected function, got error."))(handle, nMaxSamples, resolution)
1802    }
1803    pub unsafe fn psospaQueryMaxSegmentsBySamples(
1804        &self,
1805        handle: i16,
1806        nSamples: u64,
1807        nChannelEnabled: u32,
1808        nMaxSegments: *mut u64,
1809        resolution: PICO_DEVICE_RESOLUTION,
1810    ) -> PICO_STATUS {
1811        (self
1812            .psospaQueryMaxSegmentsBySamples
1813            .as_ref()
1814            .expect("Expected function, got error."))(
1815            handle,
1816            nSamples,
1817            nChannelEnabled,
1818            nMaxSegments,
1819            resolution,
1820        )
1821    }
1822    pub unsafe fn psospaSetChannelOn(
1823        &self,
1824        handle: i16,
1825        channel: PICO_CHANNEL,
1826        coupling: PICO_COUPLING,
1827        rangeMin: i64,
1828        rangeMax: i64,
1829        rangeType: PICO_PROBE_RANGE_INFO,
1830        analogueOffset: f64,
1831        bandwidth: PICO_BANDWIDTH_LIMITER,
1832    ) -> PICO_STATUS {
1833        (self
1834            .psospaSetChannelOn
1835            .as_ref()
1836            .expect("Expected function, got error."))(
1837            handle,
1838            channel,
1839            coupling,
1840            rangeMin,
1841            rangeMax,
1842            rangeType,
1843            analogueOffset,
1844            bandwidth,
1845        )
1846    }
1847    pub unsafe fn psospaSetChannelOff(&self, handle: i16, channel: PICO_CHANNEL) -> PICO_STATUS {
1848        (self
1849            .psospaSetChannelOff
1850            .as_ref()
1851            .expect("Expected function, got error."))(handle, channel)
1852    }
1853    pub unsafe fn psospaSetDigitalPortOn(
1854        &self,
1855        handle: i16,
1856        port: PICO_CHANNEL,
1857        logicThresholdLevel: *mut i16,
1858        logicThresholdLevelLength: i16,
1859        hysteresis: PICO_DIGITAL_PORT_HYSTERESIS,
1860    ) -> PICO_STATUS {
1861        (self
1862            .psospaSetDigitalPortOn
1863            .as_ref()
1864            .expect("Expected function, got error."))(
1865            handle,
1866            port,
1867            logicThresholdLevel,
1868            logicThresholdLevelLength,
1869            hysteresis,
1870        )
1871    }
1872    pub unsafe fn psospaSetDigitalPortOff(&self, handle: i16, port: PICO_CHANNEL) -> PICO_STATUS {
1873        (self
1874            .psospaSetDigitalPortOff
1875            .as_ref()
1876            .expect("Expected function, got error."))(handle, port)
1877    }
1878    pub unsafe fn psospaGetTimebase(
1879        &self,
1880        handle: i16,
1881        timebase: u32,
1882        noSamples: u64,
1883        timeIntervalNanoseconds: *mut f64,
1884        maxSamples: *mut u64,
1885        segmentIndex: u64,
1886    ) -> PICO_STATUS {
1887        (self
1888            .psospaGetTimebase
1889            .as_ref()
1890            .expect("Expected function, got error."))(
1891            handle,
1892            timebase,
1893            noSamples,
1894            timeIntervalNanoseconds,
1895            maxSamples,
1896            segmentIndex,
1897        )
1898    }
1899    pub unsafe fn psospaSigGenWaveform(
1900        &self,
1901        handle: i16,
1902        waveType: PICO_WAVE_TYPE,
1903        buffer: *mut i16,
1904        bufferLength: u64,
1905    ) -> PICO_STATUS {
1906        (self
1907            .psospaSigGenWaveform
1908            .as_ref()
1909            .expect("Expected function, got error."))(handle, waveType, buffer, bufferLength)
1910    }
1911    pub unsafe fn psospaSigGenRange(
1912        &self,
1913        handle: i16,
1914        peakToPeakVolts: f64,
1915        offsetVolts: f64,
1916    ) -> PICO_STATUS {
1917        (self
1918            .psospaSigGenRange
1919            .as_ref()
1920            .expect("Expected function, got error."))(handle, peakToPeakVolts, offsetVolts)
1921    }
1922    pub unsafe fn psospaSigGenWaveformDutyCycle(
1923        &self,
1924        handle: i16,
1925        dutyCyclePercent: f64,
1926    ) -> PICO_STATUS {
1927        (self
1928            .psospaSigGenWaveformDutyCycle
1929            .as_ref()
1930            .expect("Expected function, got error."))(handle, dutyCyclePercent)
1931    }
1932    pub unsafe fn psospaSigGenTrigger(
1933        &self,
1934        handle: i16,
1935        triggerType: PICO_SIGGEN_TRIG_TYPE,
1936        triggerSource: PICO_SIGGEN_TRIG_SOURCE,
1937        cycles: u64,
1938        autoTriggerPicoSeconds: u64,
1939    ) -> PICO_STATUS {
1940        (self
1941            .psospaSigGenTrigger
1942            .as_ref()
1943            .expect("Expected function, got error."))(
1944            handle,
1945            triggerType,
1946            triggerSource,
1947            cycles,
1948            autoTriggerPicoSeconds,
1949        )
1950    }
1951    pub unsafe fn psospaSigGenFilter(
1952        &self,
1953        handle: i16,
1954        filterState: PICO_SIGGEN_FILTER_STATE,
1955    ) -> PICO_STATUS {
1956        (self
1957            .psospaSigGenFilter
1958            .as_ref()
1959            .expect("Expected function, got error."))(handle, filterState)
1960    }
1961    pub unsafe fn psospaSigGenFrequency(&self, handle: i16, frequencyHz: f64) -> PICO_STATUS {
1962        (self
1963            .psospaSigGenFrequency
1964            .as_ref()
1965            .expect("Expected function, got error."))(handle, frequencyHz)
1966    }
1967    pub unsafe fn psospaSigGenFrequencySweep(
1968        &self,
1969        handle: i16,
1970        stopFrequencyHz: f64,
1971        frequencyIncrement: f64,
1972        dwellTimeSeconds: f64,
1973        sweepType: PICO_SWEEP_TYPE,
1974    ) -> PICO_STATUS {
1975        (self
1976            .psospaSigGenFrequencySweep
1977            .as_ref()
1978            .expect("Expected function, got error."))(
1979            handle,
1980            stopFrequencyHz,
1981            frequencyIncrement,
1982            dwellTimeSeconds,
1983            sweepType,
1984        )
1985    }
1986    pub unsafe fn psospaSigGenPhase(&self, handle: i16, deltaPhase: u64) -> PICO_STATUS {
1987        (self
1988            .psospaSigGenPhase
1989            .as_ref()
1990            .expect("Expected function, got error."))(handle, deltaPhase)
1991    }
1992    pub unsafe fn psospaSigGenPhaseSweep(
1993        &self,
1994        handle: i16,
1995        stopDeltaPhase: u64,
1996        deltaPhaseIncrement: u64,
1997        dwellCount: u64,
1998        sweepType: PICO_SWEEP_TYPE,
1999    ) -> PICO_STATUS {
2000        (self
2001            .psospaSigGenPhaseSweep
2002            .as_ref()
2003            .expect("Expected function, got error."))(
2004            handle,
2005            stopDeltaPhase,
2006            deltaPhaseIncrement,
2007            dwellCount,
2008            sweepType,
2009        )
2010    }
2011    pub unsafe fn psospaSigGenClockManual(
2012        &self,
2013        handle: i16,
2014        dacClockFrequency: f64,
2015        prescaleRatio: u64,
2016    ) -> PICO_STATUS {
2017        (self
2018            .psospaSigGenClockManual
2019            .as_ref()
2020            .expect("Expected function, got error."))(
2021            handle, dacClockFrequency, prescaleRatio
2022        )
2023    }
2024    pub unsafe fn psospaSigGenSoftwareTriggerControl(
2025        &self,
2026        handle: i16,
2027        triggerState: PICO_SIGGEN_TRIG_TYPE,
2028    ) -> PICO_STATUS {
2029        (self
2030            .psospaSigGenSoftwareTriggerControl
2031            .as_ref()
2032            .expect("Expected function, got error."))(handle, triggerState)
2033    }
2034    pub unsafe fn psospaSigGenApply(
2035        &self,
2036        handle: i16,
2037        sigGenEnabled: i16,
2038        sweepEnabled: i16,
2039        triggerEnabled: i16,
2040        automaticClockOptimisationEnabled: i16,
2041        overrideAutomaticClockAndPrescale: i16,
2042        frequency: *mut f64,
2043        stopFrequency: *mut f64,
2044        frequencyIncrement: *mut f64,
2045        dwellTime: *mut f64,
2046    ) -> PICO_STATUS {
2047        (self
2048            .psospaSigGenApply
2049            .as_ref()
2050            .expect("Expected function, got error."))(
2051            handle,
2052            sigGenEnabled,
2053            sweepEnabled,
2054            triggerEnabled,
2055            automaticClockOptimisationEnabled,
2056            overrideAutomaticClockAndPrescale,
2057            frequency,
2058            stopFrequency,
2059            frequencyIncrement,
2060            dwellTime,
2061        )
2062    }
2063    pub unsafe fn psospaSigGenLimits(
2064        &self,
2065        handle: i16,
2066        parameter: PICO_SIGGEN_PARAMETER,
2067        minimumPermissibleValue: *mut f64,
2068        maximumPermissibleValue: *mut f64,
2069        step: *mut f64,
2070    ) -> PICO_STATUS {
2071        (self
2072            .psospaSigGenLimits
2073            .as_ref()
2074            .expect("Expected function, got error."))(
2075            handle,
2076            parameter,
2077            minimumPermissibleValue,
2078            maximumPermissibleValue,
2079            step,
2080        )
2081    }
2082    pub unsafe fn psospaSigGenFrequencyLimits(
2083        &self,
2084        handle: i16,
2085        waveType: PICO_WAVE_TYPE,
2086        numSamples: *mut u64,
2087        startFrequency: *mut f64,
2088        sweepEnabled: i16,
2089        manualDacClockFrequency: *mut f64,
2090        manualPrescaleRatio: *mut u64,
2091        maxStopFrequencyOut: *mut f64,
2092        minFrequencyStepOut: *mut f64,
2093        maxFrequencyStepOut: *mut f64,
2094        minDwellTimeOut: *mut f64,
2095        maxDwellTimeOut: *mut f64,
2096    ) -> PICO_STATUS {
2097        (self
2098            .psospaSigGenFrequencyLimits
2099            .as_ref()
2100            .expect("Expected function, got error."))(
2101            handle,
2102            waveType,
2103            numSamples,
2104            startFrequency,
2105            sweepEnabled,
2106            manualDacClockFrequency,
2107            manualPrescaleRatio,
2108            maxStopFrequencyOut,
2109            minFrequencyStepOut,
2110            maxFrequencyStepOut,
2111            minDwellTimeOut,
2112            maxDwellTimeOut,
2113        )
2114    }
2115    pub unsafe fn psospaSigGenPause(&self, handle: i16) -> PICO_STATUS {
2116        (self
2117            .psospaSigGenPause
2118            .as_ref()
2119            .expect("Expected function, got error."))(handle)
2120    }
2121    pub unsafe fn psospaSigGenRestart(&self, handle: i16) -> PICO_STATUS {
2122        (self
2123            .psospaSigGenRestart
2124            .as_ref()
2125            .expect("Expected function, got error."))(handle)
2126    }
2127    pub unsafe fn psospaSetSimpleTrigger(
2128        &self,
2129        handle: i16,
2130        enable: i16,
2131        source: PICO_CHANNEL,
2132        threshold: i16,
2133        direction: PICO_THRESHOLD_DIRECTION,
2134        delay: u64,
2135        autoTriggerMicroSeconds: u32,
2136    ) -> PICO_STATUS {
2137        (self
2138            .psospaSetSimpleTrigger
2139            .as_ref()
2140            .expect("Expected function, got error."))(
2141            handle,
2142            enable,
2143            source,
2144            threshold,
2145            direction,
2146            delay,
2147            autoTriggerMicroSeconds,
2148        )
2149    }
2150    pub unsafe fn psospaTriggerWithinPreTriggerSamples(
2151        &self,
2152        handle: i16,
2153        state: PICO_TRIGGER_WITHIN_PRE_TRIGGER,
2154    ) -> PICO_STATUS {
2155        (self
2156            .psospaTriggerWithinPreTriggerSamples
2157            .as_ref()
2158            .expect("Expected function, got error."))(handle, state)
2159    }
2160    pub unsafe fn psospaSetTriggerChannelProperties(
2161        &self,
2162        handle: i16,
2163        channelProperties: *mut PICO_TRIGGER_CHANNEL_PROPERTIES,
2164        nChannelProperties: i16,
2165        auxOutputEnable: i16,
2166        autoTriggerMicroSeconds: u32,
2167    ) -> PICO_STATUS {
2168        (self
2169            .psospaSetTriggerChannelProperties
2170            .as_ref()
2171            .expect("Expected function, got error."))(
2172            handle,
2173            channelProperties,
2174            nChannelProperties,
2175            auxOutputEnable,
2176            autoTriggerMicroSeconds,
2177        )
2178    }
2179    pub unsafe fn psospaSetTriggerChannelConditions(
2180        &self,
2181        handle: i16,
2182        conditions: *mut PICO_CONDITION,
2183        nConditions: i16,
2184        action: PICO_ACTION,
2185    ) -> PICO_STATUS {
2186        (self
2187            .psospaSetTriggerChannelConditions
2188            .as_ref()
2189            .expect("Expected function, got error."))(
2190            handle, conditions, nConditions, action
2191        )
2192    }
2193    pub unsafe fn psospaSetTriggerChannelDirections(
2194        &self,
2195        handle: i16,
2196        directions: *mut PICO_DIRECTION,
2197        nDirections: i16,
2198    ) -> PICO_STATUS {
2199        (self
2200            .psospaSetTriggerChannelDirections
2201            .as_ref()
2202            .expect("Expected function, got error."))(handle, directions, nDirections)
2203    }
2204    pub unsafe fn psospaSetTriggerDelay(&self, handle: i16, delay: u64) -> PICO_STATUS {
2205        (self
2206            .psospaSetTriggerDelay
2207            .as_ref()
2208            .expect("Expected function, got error."))(handle, delay)
2209    }
2210    pub unsafe fn psospaSetTriggerHoldoffCounterBySamples(
2211        &self,
2212        handle: i16,
2213        holdoffSamples: u64,
2214    ) -> PICO_STATUS {
2215        (self
2216            .psospaSetTriggerHoldoffCounterBySamples
2217            .as_ref()
2218            .expect("Expected function, got error."))(handle, holdoffSamples)
2219    }
2220    pub unsafe fn psospaSetPulseWidthQualifierProperties(
2221        &self,
2222        handle: i16,
2223        lower: u32,
2224        upper: u32,
2225        type_: PICO_PULSE_WIDTH_TYPE,
2226    ) -> PICO_STATUS {
2227        (self
2228            .psospaSetPulseWidthQualifierProperties
2229            .as_ref()
2230            .expect("Expected function, got error."))(handle, lower, upper, type_)
2231    }
2232    pub unsafe fn psospaSetPulseWidthQualifierConditions(
2233        &self,
2234        handle: i16,
2235        conditions: *mut PICO_CONDITION,
2236        nConditions: i16,
2237        action: PICO_ACTION,
2238    ) -> PICO_STATUS {
2239        (self
2240            .psospaSetPulseWidthQualifierConditions
2241            .as_ref()
2242            .expect("Expected function, got error."))(
2243            handle, conditions, nConditions, action
2244        )
2245    }
2246    pub unsafe fn psospaSetPulseWidthQualifierDirections(
2247        &self,
2248        handle: i16,
2249        directions: *mut PICO_DIRECTION,
2250        nDirections: i16,
2251    ) -> PICO_STATUS {
2252        (self
2253            .psospaSetPulseWidthQualifierDirections
2254            .as_ref()
2255            .expect("Expected function, got error."))(handle, directions, nDirections)
2256    }
2257    pub unsafe fn psospaSetTriggerDigitalPortProperties(
2258        &self,
2259        handle: i16,
2260        port: PICO_CHANNEL,
2261        directions: *mut PICO_DIGITAL_CHANNEL_DIRECTIONS,
2262        nDirections: i16,
2263    ) -> PICO_STATUS {
2264        (self
2265            .psospaSetTriggerDigitalPortProperties
2266            .as_ref()
2267            .expect("Expected function, got error."))(handle, port, directions, nDirections)
2268    }
2269    pub unsafe fn psospaSetPulseWidthDigitalPortProperties(
2270        &self,
2271        handle: i16,
2272        port: PICO_CHANNEL,
2273        directions: *mut PICO_DIGITAL_CHANNEL_DIRECTIONS,
2274        nDirections: i16,
2275    ) -> PICO_STATUS {
2276        (self
2277            .psospaSetPulseWidthDigitalPortProperties
2278            .as_ref()
2279            .expect("Expected function, got error."))(handle, port, directions, nDirections)
2280    }
2281    pub unsafe fn psospaGetTriggerTimeOffset(
2282        &self,
2283        handle: i16,
2284        time: *mut i64,
2285        timeUnits: *mut PICO_TIME_UNITS,
2286        segmentIndex: u64,
2287    ) -> PICO_STATUS {
2288        (self
2289            .psospaGetTriggerTimeOffset
2290            .as_ref()
2291            .expect("Expected function, got error."))(handle, time, timeUnits, segmentIndex)
2292    }
2293    pub unsafe fn psospaGetValuesTriggerTimeOffsetBulk(
2294        &self,
2295        handle: i16,
2296        times: *mut i64,
2297        timeUnits: *mut PICO_TIME_UNITS,
2298        fromSegmentIndex: u64,
2299        toSegmentIndex: u64,
2300    ) -> PICO_STATUS {
2301        (self
2302            .psospaGetValuesTriggerTimeOffsetBulk
2303            .as_ref()
2304            .expect("Expected function, got error."))(
2305            handle,
2306            times,
2307            timeUnits,
2308            fromSegmentIndex,
2309            toSegmentIndex,
2310        )
2311    }
2312    pub unsafe fn psospaSetDataBuffer(
2313        &self,
2314        handle: i16,
2315        channel: PICO_CHANNEL,
2316        buffer: PICO_POINTER,
2317        nSamples: i32,
2318        dataType: PICO_DATA_TYPE,
2319        waveform: u64,
2320        downSampleRatioMode: PICO_RATIO_MODE,
2321        action: PICO_ACTION,
2322    ) -> PICO_STATUS {
2323        (self
2324            .psospaSetDataBuffer
2325            .as_ref()
2326            .expect("Expected function, got error."))(
2327            handle,
2328            channel,
2329            buffer,
2330            nSamples,
2331            dataType,
2332            waveform,
2333            downSampleRatioMode,
2334            action,
2335        )
2336    }
2337    pub unsafe fn psospaSetDataBuffers(
2338        &self,
2339        handle: i16,
2340        channel: PICO_CHANNEL,
2341        bufferMax: PICO_POINTER,
2342        bufferMin: PICO_POINTER,
2343        nSamples: i32,
2344        dataType: PICO_DATA_TYPE,
2345        waveform: u64,
2346        downSampleRatioMode: PICO_RATIO_MODE,
2347        action: PICO_ACTION,
2348    ) -> PICO_STATUS {
2349        (self
2350            .psospaSetDataBuffers
2351            .as_ref()
2352            .expect("Expected function, got error."))(
2353            handle,
2354            channel,
2355            bufferMax,
2356            bufferMin,
2357            nSamples,
2358            dataType,
2359            waveform,
2360            downSampleRatioMode,
2361            action,
2362        )
2363    }
2364    pub unsafe fn psospaRunBlock(
2365        &self,
2366        handle: i16,
2367        noOfPreTriggerSamples: u64,
2368        noOfPostTriggerSamples: u64,
2369        timebase: u32,
2370        timeIndisposedMs: *mut f64,
2371        segmentIndex: u64,
2372        lpReady: psospaBlockReady,
2373        pParameter: PICO_POINTER,
2374    ) -> PICO_STATUS {
2375        (self
2376            .psospaRunBlock
2377            .as_ref()
2378            .expect("Expected function, got error."))(
2379            handle,
2380            noOfPreTriggerSamples,
2381            noOfPostTriggerSamples,
2382            timebase,
2383            timeIndisposedMs,
2384            segmentIndex,
2385            lpReady,
2386            pParameter,
2387        )
2388    }
2389    pub unsafe fn psospaIsReady(&self, handle: i16, ready: *mut i16) -> PICO_STATUS {
2390        (self
2391            .psospaIsReady
2392            .as_ref()
2393            .expect("Expected function, got error."))(handle, ready)
2394    }
2395    pub unsafe fn psospaRunStreaming(
2396        &self,
2397        handle: i16,
2398        sampleInterval: *mut f64,
2399        sampleIntervalTimeUnits: PICO_TIME_UNITS,
2400        maxPreTriggerSamples: u64,
2401        maxPostPreTriggerSamples: u64,
2402        autoStop: i16,
2403        downSampleRatio: u64,
2404        downSampleRatioMode: PICO_RATIO_MODE,
2405    ) -> PICO_STATUS {
2406        (self
2407            .psospaRunStreaming
2408            .as_ref()
2409            .expect("Expected function, got error."))(
2410            handle,
2411            sampleInterval,
2412            sampleIntervalTimeUnits,
2413            maxPreTriggerSamples,
2414            maxPostPreTriggerSamples,
2415            autoStop,
2416            downSampleRatio,
2417            downSampleRatioMode,
2418        )
2419    }
2420    pub unsafe fn psospaGetStreamingLatestValues(
2421        &self,
2422        handle: i16,
2423        streamingDataInfo: *mut PICO_STREAMING_DATA_INFO,
2424        nStreamingDataInfos: u64,
2425        triggerInfo: *mut PICO_STREAMING_DATA_TRIGGER_INFO,
2426    ) -> PICO_STATUS {
2427        (self
2428            .psospaGetStreamingLatestValues
2429            .as_ref()
2430            .expect("Expected function, got error."))(
2431            handle,
2432            streamingDataInfo,
2433            nStreamingDataInfos,
2434            triggerInfo,
2435        )
2436    }
2437    pub unsafe fn psospaNoOfStreamingValues(
2438        &self,
2439        handle: i16,
2440        noOfValues: *mut u64,
2441    ) -> PICO_STATUS {
2442        (self
2443            .psospaNoOfStreamingValues
2444            .as_ref()
2445            .expect("Expected function, got error."))(handle, noOfValues)
2446    }
2447    pub unsafe fn psospaGetValues(
2448        &self,
2449        handle: i16,
2450        startIndex: u64,
2451        noOfSamples: *mut u64,
2452        downSampleRatio: u64,
2453        downSampleRatioMode: PICO_RATIO_MODE,
2454        segmentIndex: u64,
2455        overflow: *mut i16,
2456    ) -> PICO_STATUS {
2457        (self
2458            .psospaGetValues
2459            .as_ref()
2460            .expect("Expected function, got error."))(
2461            handle,
2462            startIndex,
2463            noOfSamples,
2464            downSampleRatio,
2465            downSampleRatioMode,
2466            segmentIndex,
2467            overflow,
2468        )
2469    }
2470    pub unsafe fn psospaGetValuesBulk(
2471        &self,
2472        handle: i16,
2473        startIndex: u64,
2474        noOfSamples: *mut u64,
2475        fromSegmentIndex: u64,
2476        toSegmentIndex: u64,
2477        downSampleRatio: u64,
2478        downSampleRatioMode: PICO_RATIO_MODE,
2479        overflow: *mut i16,
2480    ) -> PICO_STATUS {
2481        (self
2482            .psospaGetValuesBulk
2483            .as_ref()
2484            .expect("Expected function, got error."))(
2485            handle,
2486            startIndex,
2487            noOfSamples,
2488            fromSegmentIndex,
2489            toSegmentIndex,
2490            downSampleRatio,
2491            downSampleRatioMode,
2492            overflow,
2493        )
2494    }
2495    pub unsafe fn psospaGetValuesAsync(
2496        &self,
2497        handle: i16,
2498        startIndex: u64,
2499        noOfSamples: u64,
2500        downSampleRatio: u64,
2501        downSampleRatioMode: PICO_RATIO_MODE,
2502        segmentIndex: u64,
2503        lpDataReady: PICO_POINTER,
2504        pParameter: PICO_POINTER,
2505    ) -> PICO_STATUS {
2506        (self
2507            .psospaGetValuesAsync
2508            .as_ref()
2509            .expect("Expected function, got error."))(
2510            handle,
2511            startIndex,
2512            noOfSamples,
2513            downSampleRatio,
2514            downSampleRatioMode,
2515            segmentIndex,
2516            lpDataReady,
2517            pParameter,
2518        )
2519    }
2520    pub unsafe fn psospaGetValuesBulkAsync(
2521        &self,
2522        handle: i16,
2523        startIndex: u64,
2524        noOfSamples: u64,
2525        fromSegmentIndex: u64,
2526        toSegmentIndex: u64,
2527        downSampleRatio: u64,
2528        downSampleRatioMode: PICO_RATIO_MODE,
2529        lpDataReady: PICO_POINTER,
2530        pParameter: PICO_POINTER,
2531    ) -> PICO_STATUS {
2532        (self
2533            .psospaGetValuesBulkAsync
2534            .as_ref()
2535            .expect("Expected function, got error."))(
2536            handle,
2537            startIndex,
2538            noOfSamples,
2539            fromSegmentIndex,
2540            toSegmentIndex,
2541            downSampleRatio,
2542            downSampleRatioMode,
2543            lpDataReady,
2544            pParameter,
2545        )
2546    }
2547    pub unsafe fn psospaGetValuesOverlapped(
2548        &self,
2549        handle: i16,
2550        startIndex: u64,
2551        noOfSamples: *mut u64,
2552        downSampleRatio: u64,
2553        downSampleRatioMode: PICO_RATIO_MODE,
2554        fromSegmentIndex: u64,
2555        toSegmentIndex: u64,
2556        overflow: *mut i16,
2557    ) -> PICO_STATUS {
2558        (self
2559            .psospaGetValuesOverlapped
2560            .as_ref()
2561            .expect("Expected function, got error."))(
2562            handle,
2563            startIndex,
2564            noOfSamples,
2565            downSampleRatio,
2566            downSampleRatioMode,
2567            fromSegmentIndex,
2568            toSegmentIndex,
2569            overflow,
2570        )
2571    }
2572    pub unsafe fn psospaStopUsingGetValuesOverlapped(&self, handle: i16) -> PICO_STATUS {
2573        (self
2574            .psospaStopUsingGetValuesOverlapped
2575            .as_ref()
2576            .expect("Expected function, got error."))(handle)
2577    }
2578    pub unsafe fn psospaGetNoOfCaptures(&self, handle: i16, nCaptures: *mut u64) -> PICO_STATUS {
2579        (self
2580            .psospaGetNoOfCaptures
2581            .as_ref()
2582            .expect("Expected function, got error."))(handle, nCaptures)
2583    }
2584    pub unsafe fn psospaGetNoOfProcessedCaptures(
2585        &self,
2586        handle: i16,
2587        nProcessedCaptures: *mut u64,
2588    ) -> PICO_STATUS {
2589        (self
2590            .psospaGetNoOfProcessedCaptures
2591            .as_ref()
2592            .expect("Expected function, got error."))(handle, nProcessedCaptures)
2593    }
2594    pub unsafe fn psospaStop(&self, handle: i16) -> PICO_STATUS {
2595        (self
2596            .psospaStop
2597            .as_ref()
2598            .expect("Expected function, got error."))(handle)
2599    }
2600    pub unsafe fn psospaSetNoOfCaptures(&self, handle: i16, nCaptures: u64) -> PICO_STATUS {
2601        (self
2602            .psospaSetNoOfCaptures
2603            .as_ref()
2604            .expect("Expected function, got error."))(handle, nCaptures)
2605    }
2606    pub unsafe fn psospaGetTriggerInfo(
2607        &self,
2608        handle: i16,
2609        triggerInfo: *mut PICO_TRIGGER_INFO,
2610        firstSegmentIndex: u64,
2611        segmentCount: u64,
2612    ) -> PICO_STATUS {
2613        (self
2614            .psospaGetTriggerInfo
2615            .as_ref()
2616            .expect("Expected function, got error."))(
2617            handle,
2618            triggerInfo,
2619            firstSegmentIndex,
2620            segmentCount,
2621        )
2622    }
2623    pub unsafe fn psospaEnumerateUnits(
2624        &self,
2625        count: *mut i16,
2626        serials: *mut i8,
2627        serialLth: *mut i16,
2628    ) -> PICO_STATUS {
2629        (self
2630            .psospaEnumerateUnits
2631            .as_ref()
2632            .expect("Expected function, got error."))(count, serials, serialLth)
2633    }
2634    pub unsafe fn psospaPingUnit(&self, handle: i16) -> PICO_STATUS {
2635        (self
2636            .psospaPingUnit
2637            .as_ref()
2638            .expect("Expected function, got error."))(handle)
2639    }
2640    pub unsafe fn psospaGetAnalogueOffsetLimits(
2641        &self,
2642        handle: i16,
2643        rangeMin: i64,
2644        rangeMax: i64,
2645        rangeType: PICO_PROBE_RANGE_INFO,
2646        coupling: PICO_COUPLING,
2647        maximumVoltage: *mut f64,
2648        minimumVoltage: *mut f64,
2649    ) -> PICO_STATUS {
2650        (self
2651            .psospaGetAnalogueOffsetLimits
2652            .as_ref()
2653            .expect("Expected function, got error."))(
2654            handle,
2655            rangeMin,
2656            rangeMax,
2657            rangeType,
2658            coupling,
2659            maximumVoltage,
2660            minimumVoltage,
2661        )
2662    }
2663    pub unsafe fn psospaGetMinimumTimebaseStateless(
2664        &self,
2665        handle: i16,
2666        enabledChannelFlags: PICO_CHANNEL_FLAGS,
2667        timebase: *mut u32,
2668        timeInterval: *mut f64,
2669        resolution: PICO_DEVICE_RESOLUTION,
2670    ) -> PICO_STATUS {
2671        (self
2672            .psospaGetMinimumTimebaseStateless
2673            .as_ref()
2674            .expect("Expected function, got error."))(
2675            handle,
2676            enabledChannelFlags,
2677            timebase,
2678            timeInterval,
2679            resolution,
2680        )
2681    }
2682    pub unsafe fn psospaNearestSampleIntervalStateless(
2683        &self,
2684        handle: i16,
2685        enabledChannelFlags: PICO_CHANNEL_FLAGS,
2686        timeIntervalRequested: f64,
2687        roundFaster: u8,
2688        resolution: PICO_DEVICE_RESOLUTION,
2689        timebase: *mut u32,
2690        timeIntervalAvailable: *mut f64,
2691    ) -> PICO_STATUS {
2692        (self
2693            .psospaNearestSampleIntervalStateless
2694            .as_ref()
2695            .expect("Expected function, got error."))(
2696            handle,
2697            enabledChannelFlags,
2698            timeIntervalRequested,
2699            roundFaster,
2700            resolution,
2701            timebase,
2702            timeIntervalAvailable,
2703        )
2704    }
2705    pub unsafe fn psospaChannelCombinationsStateless(
2706        &self,
2707        handle: i16,
2708        channelFlagsCombinations: *mut PICO_CHANNEL_FLAGS,
2709        nChannelCombinations: *mut u32,
2710        resolution: PICO_DEVICE_RESOLUTION,
2711        timebase: u32,
2712    ) -> PICO_STATUS {
2713        (self
2714            .psospaChannelCombinationsStateless
2715            .as_ref()
2716            .expect("Expected function, got error."))(
2717            handle,
2718            channelFlagsCombinations,
2719            nChannelCombinations,
2720            resolution,
2721            timebase,
2722        )
2723    }
2724    pub unsafe fn psospaSetDeviceResolution(
2725        &self,
2726        handle: i16,
2727        resolution: PICO_DEVICE_RESOLUTION,
2728    ) -> PICO_STATUS {
2729        (self
2730            .psospaSetDeviceResolution
2731            .as_ref()
2732            .expect("Expected function, got error."))(handle, resolution)
2733    }
2734    pub unsafe fn psospaGetDeviceResolution(
2735        &self,
2736        handle: i16,
2737        resolution: *mut PICO_DEVICE_RESOLUTION,
2738    ) -> PICO_STATUS {
2739        (self
2740            .psospaGetDeviceResolution
2741            .as_ref()
2742            .expect("Expected function, got error."))(handle, resolution)
2743    }
2744    pub unsafe fn psospaQueryOutputEdgeDetect(&self, handle: i16, state: *mut i16) -> PICO_STATUS {
2745        (self
2746            .psospaQueryOutputEdgeDetect
2747            .as_ref()
2748            .expect("Expected function, got error."))(handle, state)
2749    }
2750    pub unsafe fn psospaSetOutputEdgeDetect(&self, handle: i16, state: i16) -> PICO_STATUS {
2751        (self
2752            .psospaSetOutputEdgeDetect
2753            .as_ref()
2754            .expect("Expected function, got error."))(handle, state)
2755    }
2756    pub unsafe fn psospaGetScalingValues(
2757        &self,
2758        handle: i16,
2759        scalingValues: *mut PICO_SCALING_FACTORS_FOR_RANGE_TYPES_VALUES,
2760        nChannels: i16,
2761    ) -> PICO_STATUS {
2762        (self
2763            .psospaGetScalingValues
2764            .as_ref()
2765            .expect("Expected function, got error."))(handle, scalingValues, nChannels)
2766    }
2767    pub unsafe fn psospaGetAdcLimits(
2768        &self,
2769        handle: i16,
2770        resolution: PICO_DEVICE_RESOLUTION,
2771        minValue: *mut i16,
2772        maxValue: *mut i16,
2773    ) -> PICO_STATUS {
2774        (self
2775            .psospaGetAdcLimits
2776            .as_ref()
2777            .expect("Expected function, got error."))(handle, resolution, minValue, maxValue)
2778    }
2779    pub unsafe fn psospaCheckForUpdate(
2780        &self,
2781        handle: i16,
2782        firmwareInfos: *mut PICO_FIRMWARE_INFO,
2783        nFirmwareInfos: *mut i16,
2784        updatesRequired: *mut u16,
2785    ) -> PICO_STATUS {
2786        (self
2787            .psospaCheckForUpdate
2788            .as_ref()
2789            .expect("Expected function, got error."))(
2790            handle,
2791            firmwareInfos,
2792            nFirmwareInfos,
2793            updatesRequired,
2794        )
2795    }
2796    pub unsafe fn psospaStartFirmwareUpdate(
2797        &self,
2798        handle: i16,
2799        progress: PicoUpdateFirmwareProgress,
2800    ) -> PICO_STATUS {
2801        (self
2802            .psospaStartFirmwareUpdate
2803            .as_ref()
2804            .expect("Expected function, got error."))(handle, progress)
2805    }
2806    pub unsafe fn psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus(
2807        &self,
2808        handle: i16,
2809        allChannelsTrippedStatus: *mut PICO_CHANNEL_OVERVOLTAGE_TRIPPED,
2810        nChannelTrippedStatus: u8,
2811    ) -> PICO_STATUS {
2812        (self
2813            .psospaResetChannelsAndReportAllChannelsOvervoltageTripStatus
2814            .as_ref()
2815            .expect("Expected function, got error."))(
2816            handle,
2817            allChannelsTrippedStatus,
2818            nChannelTrippedStatus,
2819        )
2820    }
2821    pub unsafe fn psospaReportAllChannelsOvervoltageTripStatus(
2822        &self,
2823        handle: i16,
2824        allChannelsTrippedStatus: *mut PICO_CHANNEL_OVERVOLTAGE_TRIPPED,
2825        nChannelTrippedStatus: u8,
2826    ) -> PICO_STATUS {
2827        (self
2828            .psospaReportAllChannelsOvervoltageTripStatus
2829            .as_ref()
2830            .expect("Expected function, got error."))(
2831            handle,
2832            allChannelsTrippedStatus,
2833            nChannelTrippedStatus,
2834        )
2835    }
2836}