ps6000aApi.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. /****************************************************************************
  2. *
  3. * Filename: ps6000aApi.h
  4. * Copyright: Pico Technology Limited 2002 - 2022
  5. * Description:
  6. *
  7. * This header defines the interface to driver routines for the
  8. * PicoScope 6000 range of PC Oscilloscopes.
  9. *
  10. ****************************************************************************/
  11. #ifndef __PS6000AAPI_H__
  12. #define __PS6000AAPI_H__
  13. #include <stdint.h>
  14. #include "PicoStatus.h"
  15. #include "PicoDeviceEnums.h"
  16. #include "PicoDeviceStructs.h"
  17. #include "PicoCallback.h"
  18. #include "PicoVersion.h"
  19. #ifdef __cplusplus
  20. #define PREF0 extern "C"
  21. #define TYPE_ENUM
  22. #else
  23. #define PREF0
  24. #define TYPE_ENUM enum
  25. #endif
  26. #ifdef WIN32
  27. #ifdef PREF1
  28. #undef PREF1
  29. #endif
  30. #ifdef PREF2
  31. #undef PREF2
  32. #endif
  33. #ifdef PREF3
  34. #undef PREF3
  35. #endif
  36. //If you are dynamically linking PS6000A.DLL into your project #define DYNLINK here>
  37. #ifdef DYNLINK
  38. #define PREF1 typedef
  39. #define PREF2
  40. #define PREF3(x) (__stdcall *x)
  41. #else
  42. #define PREF1
  43. #ifdef _USRDLL
  44. #define PREF2 __declspec(dllexport) __stdcall
  45. #else
  46. #define PREF2 __declspec(dllimport) __stdcall
  47. #endif
  48. #define PREF3(x) x
  49. #endif
  50. #define PREF4 __stdcall
  51. #else
  52. #ifdef DYNLINK
  53. #define PREF1 typedef
  54. #define PREF2
  55. #define PREF3(x) (*x)
  56. #else
  57. #ifdef _USRDLL
  58. #define PREF1 __attribute__((visibility("default")))
  59. #else
  60. #define PREF1
  61. #endif
  62. #define PREF2
  63. #define PREF3(x) x
  64. #endif
  65. #define PREF4
  66. #endif
  67. typedef void (PREF4 *ps6000aBlockReady)
  68. (
  69. int16_t handle,
  70. PICO_STATUS status,
  71. PICO_POINTER pParameter
  72. );
  73. typedef void (PREF4 *ps6000aDataReady)
  74. (
  75. int16_t handle,
  76. PICO_STATUS status,
  77. uint64_t noOfSamples,
  78. int16_t overflow,
  79. PICO_POINTER pParameter
  80. );
  81. typedef void (PREF4 *ps6000aProbeInteractions)
  82. (
  83. int16_t handle,
  84. PICO_STATUS status,
  85. PICO_USER_PROBE_INTERACTIONS * probes,
  86. uint32_t nProbes
  87. );
  88. PREF0 PREF1 PICO_STATUS PREF2 PREF3 (ps6000aOpenUnit)
  89. (
  90. int16_t * handle,
  91. int8_t * serial,
  92. PICO_DEVICE_RESOLUTION resolution
  93. );
  94. PREF0 PREF1 PICO_STATUS PREF2 PREF3 (ps6000aOpenUnitAsync)
  95. (
  96. int16_t * status,
  97. int8_t * serial,
  98. PICO_DEVICE_RESOLUTION resolution
  99. );
  100. PREF0 PREF1 PICO_STATUS PREF2 PREF3 (ps6000aOpenUnitProgress)
  101. (
  102. int16_t * handle,
  103. int16_t * progressPercent,
  104. int16_t * complete
  105. );
  106. // This function retrieves information about the specified oscilloscope or driver software.
  107. // If the device fails to open or no device is opened, it is still possible to read the driver version.
  108. //
  109. // parameters:
  110. // handle: identifies the device from which information is required. If an invalid handle is passed, only the driver versions can be read.
  111. // string: on exit, the unit information string selected specified by the info argument. If string is NULL, only requiredSize is returned.
  112. // stringLength: the maximum number of 8-bit integers (int8_t) that may be written to string.
  113. // requiredSize: on exit, the required length of the string array.
  114. // info: a number specifying what information is required.
  115. //
  116. // return:
  117. // PICO_OK
  118. // PICO_INVALID_HANDLE
  119. // PICO_NULL_PARAMETER
  120. // PICO_INVALID_INFO
  121. // PICO_INFO_UNAVAILABLE
  122. // PICO_DRIVER_FUNCTION
  123. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetUnitInfo)
  124. (
  125. int16_t handle,
  126. int8_t * string,
  127. int16_t stringLength,
  128. int16_t * requiredSize,
  129. PICO_INFO info
  130. );
  131. // This function retrieves information about the accessory (probe, or MSO Pod) attached to the specified channel.
  132. // Note: you must set a probe interaction callback to be able to retrieve probe information.
  133. //
  134. // parameters:
  135. // handle: identifies the device to which the accessory is attached.
  136. // channel: identifies the channel to which the accessory is attached. If no accessory is connected to this channel, an error will result.
  137. // string: on exit, the accessory information string selected specified by the info argument. If string is NULL, only requiredSize is returned.
  138. // stringLength: the maximum number of 8-bit integers (int8_t) that may be written to string.
  139. // requiredSize: on exit, the required length of the string array.
  140. // info: a number specifying what information is required. Note that unlike ps6000aGetUnitInfo, only PICO_BATCH_AND_SERIAL and PICO_CAL_DATE are valid for accessories.
  141. //
  142. // return:
  143. // PICO_OK
  144. // PICO_INVALID_HANDLE (handle isn't that of an open PicoScope device.)
  145. // PICO_PROBE_COLLECTION_NOT_STARTED (handle hasn't got a probe interaction callback set).
  146. // PICO_INVALID_CHANNEL (channel doesn't map to a channel on the device with handle.)
  147. // PICO_NULL_PARAMETER (requiredSize is NULL.)
  148. // PICO_INVALID_INFO (info is an invalid value for the attached accessory.)
  149. // PICO_NOT_SUPPORTED_BY_THIS_DEVICE (no accessory is connected, or the connected accessory does not support any info.)
  150. // PICO_DRIVER_FUNCTION (another thread is already calling a driver function.)
  151. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetAccessoryInfo)
  152. (
  153. int16_t handle,
  154. PICO_CHANNEL channel,
  155. int8_t * string,
  156. int16_t stringLength,
  157. int16_t * requiredSize,
  158. PICO_INFO info
  159. );
  160. PREF0 PREF1 PICO_STATUS PREF2 PREF3 (ps6000aCloseUnit)
  161. (
  162. int16_t handle
  163. );
  164. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aFlashLed)
  165. (
  166. int16_t handle,
  167. int16_t start
  168. );
  169. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aMemorySegments)
  170. (
  171. int16_t handle,
  172. uint64_t nSegments,
  173. uint64_t * nMaxSamples
  174. );
  175. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aMemorySegmentsBySamples)
  176. (
  177. int16_t handle,
  178. uint64_t nSamples,
  179. uint64_t * nMaxSegments
  180. );
  181. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetMaximumAvailableMemory)
  182. (
  183. int16_t handle,
  184. uint64_t * nMaxSamples,
  185. PICO_DEVICE_RESOLUTION resolution
  186. );
  187. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aQueryMaxSegmentsBySamples)
  188. (
  189. int16_t handle,
  190. uint64_t nSamples,
  191. uint32_t nChannelEnabled,
  192. uint64_t * nMaxSegments,
  193. PICO_DEVICE_RESOLUTION resolution
  194. );
  195. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetChannelOn)
  196. (
  197. int16_t handle,
  198. PICO_CHANNEL channel,
  199. PICO_COUPLING coupling,
  200. PICO_CONNECT_PROBE_RANGE range,
  201. double analogueOffset,
  202. PICO_BANDWIDTH_LIMITER bandwidth
  203. );
  204. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetChannelOff)
  205. (
  206. int16_t handle,
  207. PICO_CHANNEL channel
  208. );
  209. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetDigitalPortOn)
  210. (
  211. int16_t handle,
  212. PICO_CHANNEL port,
  213. int16_t * logicThresholdLevel,
  214. int16_t logicThresholdLevelLength,
  215. PICO_DIGITAL_PORT_HYSTERESIS hysteresis
  216. );
  217. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetDigitalPortOff)
  218. (
  219. int16_t handle,
  220. PICO_CHANNEL port
  221. );
  222. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetTimebase)
  223. (
  224. int16_t handle,
  225. uint32_t timebase,
  226. uint64_t noSamples,
  227. double * timeIntervalNanoseconds,
  228. uint64_t * maxSamples,
  229. uint64_t segmentIndex
  230. );
  231. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenWaveform)
  232. (
  233. int16_t handle,
  234. PICO_WAVE_TYPE waveType,
  235. int16_t * buffer,
  236. uint64_t bufferLength
  237. );
  238. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenRange)
  239. (
  240. int16_t handle,
  241. double peakToPeakVolts,
  242. double offsetVolts
  243. );
  244. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenWaveformDutyCycle)
  245. (
  246. int16_t handle,
  247. double dutyCyclePercent
  248. );
  249. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenTrigger)
  250. (
  251. int16_t handle,
  252. PICO_SIGGEN_TRIG_TYPE triggerType,
  253. PICO_SIGGEN_TRIG_SOURCE triggerSource,
  254. uint64_t cycles,
  255. uint64_t autoTriggerPicoSeconds
  256. );
  257. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenFilter)
  258. (
  259. int16_t handle,
  260. PICO_SIGGEN_FILTER_STATE filterState
  261. );
  262. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenFrequency)
  263. (
  264. int16_t handle,
  265. double frequencyHz
  266. );
  267. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenFrequencySweep)
  268. (
  269. int16_t handle,
  270. double stopFrequencyHz,
  271. double frequencyIncrement,
  272. double dwellTimeSeconds,
  273. PICO_SWEEP_TYPE sweepType
  274. );
  275. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenPhase)
  276. (
  277. int16_t handle,
  278. uint64_t deltaPhase
  279. );
  280. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenPhaseSweep)
  281. (
  282. int16_t handle,
  283. uint64_t stopDeltaPhase,
  284. uint64_t deltaPhaseIncrement,
  285. uint64_t dwellCount,
  286. PICO_SWEEP_TYPE sweepType
  287. );
  288. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenClockManual)
  289. (
  290. int16_t handle,
  291. double dacClockFrequency,
  292. uint64_t prescaleRatio
  293. );
  294. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenSoftwareTriggerControl)
  295. (
  296. int16_t handle,
  297. PICO_SIGGEN_TRIG_TYPE triggerState
  298. );
  299. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenApply)
  300. (
  301. int16_t handle,
  302. int16_t sigGenEnabled,
  303. int16_t sweepEnabled,
  304. int16_t triggerEnabled,
  305. int16_t automaticClockOptimisationEnabled,
  306. int16_t overrideAutomaticClockAndPrescale,
  307. double * frequency,
  308. double * stopFrequency,
  309. double * frequencyIncrement,
  310. double * dwellTime
  311. );
  312. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenLimits)
  313. (
  314. int16_t handle,
  315. PICO_SIGGEN_PARAMETER parameter,
  316. double * minimumPermissibleValue,
  317. double * maximumPermissibleValue,
  318. double * step
  319. );
  320. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenFrequencyLimits)
  321. (
  322. int16_t handle,
  323. PICO_WAVE_TYPE waveType,
  324. uint64_t * numSamples,
  325. double * startFrequency,
  326. int16_t sweepEnabled,
  327. double * manualDacClockFrequency,
  328. uint64_t * manualPrescaleRatio,
  329. double * maxStopFrequencyOut,
  330. double * minFrequencyStepOut,
  331. double * maxFrequencyStepOut,
  332. double * minDwellTimeOut,
  333. double * maxDwellTimeOut
  334. );
  335. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenPause)
  336. (
  337. int16_t handle
  338. );
  339. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSigGenRestart)
  340. (
  341. int16_t handle
  342. );
  343. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetSimpleTrigger)
  344. (
  345. int16_t handle,
  346. int16_t enable,
  347. PICO_CHANNEL source,
  348. int16_t threshold,
  349. PICO_THRESHOLD_DIRECTION direction,
  350. uint64_t delay,
  351. uint32_t autoTriggerMicroSeconds
  352. );
  353. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aTriggerWithinPreTriggerSamples)
  354. (
  355. int16_t handle,
  356. PICO_TRIGGER_WITHIN_PRE_TRIGGER state
  357. );
  358. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetTriggerChannelProperties)
  359. (
  360. int16_t handle,
  361. PICO_TRIGGER_CHANNEL_PROPERTIES * channelProperties,
  362. int16_t nChannelProperties,
  363. int16_t auxOutputEnable,
  364. uint32_t autoTriggerMicroSeconds
  365. );
  366. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetTriggerChannelConditions)
  367. (
  368. int16_t handle,
  369. PICO_CONDITION * conditions,
  370. int16_t nConditions,
  371. PICO_ACTION action
  372. );
  373. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetTriggerChannelDirections)
  374. (
  375. int16_t handle,
  376. PICO_DIRECTION * directions,
  377. int16_t nDirections
  378. );
  379. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetTriggerDelay)
  380. (
  381. int16_t handle,
  382. uint64_t delay
  383. );
  384. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetPulseWidthQualifierProperties)
  385. (
  386. int16_t handle,
  387. uint32_t lower,
  388. uint32_t upper,
  389. PICO_PULSE_WIDTH_TYPE type
  390. );
  391. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetPulseWidthQualifierConditions)
  392. (
  393. int16_t handle,
  394. PICO_CONDITION * conditions,
  395. int16_t nConditions,
  396. PICO_ACTION action
  397. );
  398. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetPulseWidthQualifierDirections)
  399. (
  400. int16_t handle,
  401. PICO_DIRECTION * directions,
  402. int16_t nDirections
  403. );
  404. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetTriggerDigitalPortProperties)
  405. (
  406. int16_t handle,
  407. PICO_CHANNEL port,
  408. PICO_DIGITAL_CHANNEL_DIRECTIONS * directions,
  409. int16_t nDirections
  410. );
  411. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetPulseWidthDigitalPortProperties)
  412. (
  413. int16_t handle,
  414. PICO_CHANNEL port,
  415. PICO_DIGITAL_CHANNEL_DIRECTIONS* directions,
  416. int16_t nDirections
  417. );
  418. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetTriggerTimeOffset)
  419. (
  420. int16_t handle,
  421. int64_t * time,
  422. PICO_TIME_UNITS * timeUnits,
  423. uint64_t segmentIndex
  424. );
  425. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValuesTriggerTimeOffsetBulk)
  426. (
  427. int16_t handle,
  428. int64_t * times,
  429. PICO_TIME_UNITS * timeUnits,
  430. uint64_t fromSegmentIndex,
  431. uint64_t toSegmentIndex
  432. );
  433. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetDataBuffer)
  434. (
  435. int16_t handle,
  436. PICO_CHANNEL channel,
  437. PICO_POINTER buffer,
  438. int32_t nSamples,
  439. PICO_DATA_TYPE dataType,
  440. uint64_t waveform,
  441. PICO_RATIO_MODE downSampleRatioMode,
  442. PICO_ACTION action
  443. );
  444. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetDataBuffers)
  445. (
  446. int16_t handle,
  447. PICO_CHANNEL channel,
  448. PICO_POINTER bufferMax,
  449. PICO_POINTER bufferMin,
  450. int32_t nSamples,
  451. PICO_DATA_TYPE dataType,
  452. uint64_t waveform,
  453. PICO_RATIO_MODE downSampleRatioMode,
  454. PICO_ACTION action
  455. );
  456. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aRunBlock)
  457. (
  458. int16_t handle,
  459. uint64_t noOfPreTriggerSamples,
  460. uint64_t noOfPostTriggerSamples,
  461. uint32_t timebase,
  462. double * timeIndisposedMs,
  463. uint64_t segmentIndex,
  464. ps6000aBlockReady lpReady,
  465. PICO_POINTER pParameter
  466. );
  467. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aIsReady)
  468. (
  469. int16_t handle,
  470. int16_t * ready
  471. );
  472. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aRunStreaming)
  473. (
  474. int16_t handle,
  475. double * sampleInterval,
  476. PICO_TIME_UNITS sampleIntervalTimeUnits,
  477. uint64_t maxPreTriggerSamples,
  478. uint64_t maxPostPreTriggerSamples,
  479. int16_t autoStop,
  480. uint64_t downSampleRatio,
  481. PICO_RATIO_MODE downSampleRatioMode
  482. );
  483. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetStreamingLatestValues)
  484. (
  485. int16_t handle,
  486. PICO_STREAMING_DATA_INFO * streamingDataInfo,
  487. uint64_t nStreamingDataInfos,
  488. PICO_STREAMING_DATA_TRIGGER_INFO * triggerInfo
  489. );
  490. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aNoOfStreamingValues)
  491. (
  492. int16_t handle,
  493. uint64_t * noOfValues
  494. );
  495. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValues)
  496. (
  497. int16_t handle,
  498. uint64_t startIndex,
  499. uint64_t * noOfSamples,
  500. uint64_t downSampleRatio,
  501. PICO_RATIO_MODE downSampleRatioMode,
  502. uint64_t segmentIndex,
  503. int16_t * overflow
  504. );
  505. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValuesBulk)
  506. (
  507. int16_t handle,
  508. uint64_t startIndex,
  509. uint64_t * noOfSamples,
  510. uint64_t fromSegmentIndex,
  511. uint64_t toSegmentIndex,
  512. uint64_t downSampleRatio,
  513. PICO_RATIO_MODE downSampleRatioMode,
  514. int16_t * overflow
  515. );
  516. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValuesAsync)
  517. (
  518. int16_t handle,
  519. uint64_t startIndex,
  520. uint64_t noOfSamples,
  521. uint64_t downSampleRatio,
  522. PICO_RATIO_MODE downSampleRatioMode,
  523. uint64_t segmentIndex,
  524. PICO_POINTER lpDataReady,
  525. PICO_POINTER pParameter
  526. );
  527. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValuesBulkAsync)
  528. (
  529. int16_t handle,
  530. uint64_t startIndex,
  531. uint64_t noOfSamples,
  532. uint64_t fromSegmentIndex,
  533. uint64_t toSegmentIndex,
  534. uint64_t downSampleRatio,
  535. PICO_RATIO_MODE downSampleRatioMode,
  536. PICO_POINTER lpDataReady,
  537. PICO_POINTER pParameter
  538. );
  539. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetValuesOverlapped)
  540. (
  541. int16_t handle,
  542. uint64_t startIndex,
  543. uint64_t * noOfSamples,
  544. uint64_t downSampleRatio,
  545. PICO_RATIO_MODE downSampleRatioMode,
  546. uint64_t fromSegmentIndex,
  547. uint64_t toSegmentIndex,
  548. int16_t * overflow
  549. );
  550. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aStopUsingGetValuesOverlapped)
  551. (
  552. int16_t handle
  553. );
  554. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetNoOfCaptures)
  555. (
  556. int16_t handle,
  557. uint64_t * nCaptures
  558. );
  559. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetNoOfProcessedCaptures)
  560. (
  561. int16_t handle,
  562. uint64_t * nProcessedCaptures
  563. );
  564. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aStop)
  565. (
  566. int16_t handle
  567. );
  568. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetNoOfCaptures)
  569. (
  570. int16_t handle,
  571. uint64_t nCaptures
  572. );
  573. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetTriggerInfo)
  574. (
  575. int16_t handle,
  576. PICO_TRIGGER_INFO * triggerInfo,
  577. uint64_t firstSegmentIndex,
  578. uint64_t segmentCount
  579. );
  580. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aEnumerateUnits)
  581. (
  582. int16_t * count,
  583. int8_t * serials,
  584. int16_t * serialLth
  585. );
  586. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aPingUnit)
  587. (
  588. int16_t handle
  589. );
  590. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetAnalogueOffsetLimits)
  591. (
  592. int16_t handle,
  593. PICO_CONNECT_PROBE_RANGE range,
  594. PICO_COUPLING coupling,
  595. double * maximumVoltage,
  596. double * minimumVoltage
  597. );
  598. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetMinimumTimebaseStateless)
  599. (
  600. int16_t handle,
  601. PICO_CHANNEL_FLAGS enabledChannelFlags,
  602. uint32_t * timebase,
  603. double * timeInterval,
  604. PICO_DEVICE_RESOLUTION resolution
  605. );
  606. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aNearestSampleIntervalStateless)
  607. (
  608. int16_t handle,
  609. PICO_CHANNEL_FLAGS enabledChannelFlags,
  610. double timeIntervalRequested,
  611. PICO_DEVICE_RESOLUTION resolution,
  612. uint32_t * timebase,
  613. double * timeIntervalAvailable
  614. );
  615. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aChannelCombinationsStateless)
  616. (
  617. int16_t handle,
  618. PICO_CHANNEL_FLAGS * channelFlagsCombinations,
  619. uint32_t * nChannelCombinations,
  620. PICO_DEVICE_RESOLUTION resolution,
  621. uint32_t timebase
  622. );
  623. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetDeviceResolution)
  624. (
  625. int16_t handle,
  626. PICO_DEVICE_RESOLUTION resolution
  627. );
  628. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetDeviceResolution)
  629. (
  630. int16_t handle,
  631. PICO_DEVICE_RESOLUTION * resolution
  632. );
  633. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aQueryOutputEdgeDetect)
  634. (
  635. int16_t handle,
  636. int16_t * state
  637. );
  638. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aSetOutputEdgeDetect)
  639. (
  640. int16_t handle,
  641. int16_t state
  642. );
  643. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetScalingValues)
  644. (
  645. int16_t handle,
  646. PICO_SCALING_FACTORS_VALUES *scalingValues,
  647. int16_t nChannels
  648. );
  649. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aGetAdcLimits)
  650. (
  651. int16_t handle,
  652. PICO_DEVICE_RESOLUTION resolution,
  653. int16_t * minValue,
  654. int16_t * maxValue
  655. );
  656. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aCheckForUpdate)
  657. (
  658. int16_t handle,
  659. PICO_FIRMWARE_INFO* firmwareInfos,
  660. int16_t* nFirmwareInfos,
  661. uint16_t* updatesRequired
  662. );
  663. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aStartFirmwareUpdate)
  664. (
  665. int16_t handle,
  666. PicoUpdateFirmwareProgress progress
  667. );
  668. PREF0 PREF1 PICO_STATUS PREF2 PREF3(ps6000aResetChannelsAndReportAllChannelsOvervoltageTripStatus)(
  669. int16_t handle,
  670. PICO_CHANNEL_OVERVOLTAGE_TRIPPED* allChannelsTrippedStatus,
  671. uint8_t nChannelTrippedStatus);
  672. PREF0 PREF1 PICO_STATUS PREF2
  673. PREF3(ps6000aReportAllChannelsOvervoltageTripStatus)(int16_t handle,
  674. PICO_CHANNEL_OVERVOLTAGE_TRIPPED* allChannelsTrippedStatus,
  675. uint8_t nChannelTrippedStatus);
  676. #endif