pico_sys_dynamic/
ps6000a.rs

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