123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364 |
- /**************************************************************************
- *
- * Filename: usbDrDaqApi.h
- * Author: RPM & MAS
- * Description:
- *
- * This header defines the interface to driver routines for the
- * USB DrDAQ Data Logger.
- *
- * Copyright © 2010-2018 Pico Technology Ltd. All rights reserved.
- *
- *************************************************************************/
- #ifndef __USBDRDAQAPI_H__
- #define __USBDRDAQAPI_H__
- #include <stdint.h>
- #define USB_DRDAQ_MAX_AWG_VALUE 1000
- #include "PicoStatus.h"
- #ifdef PREF0
- #undef PREF0
- #endif
- #ifdef PREF1
- #undef PREF1
- #endif
- #ifdef PREF2
- #undef PREF2
- #endif
- #ifdef PREF3
- #undef PREF3
- #endif
- #ifdef __cplusplus
- #define PREF0 extern "C"
- #else
- #define PREF0
- #endif
- // If you are dynamically linking usbdrdaq.dll into your project #define DYNLINK
- // somewhere in your project before here.
- #ifdef WIN32
- #ifdef DYNLINK
- #define PREF1 typedef
- #define PREF2
- #define PREF3(x) (__stdcall *x)
- #else
- #define PREF1
- #ifdef _USRDLL
- #define PREF2 __declspec(dllexport) __stdcall
- #else
- #define PREF2 __declspec(dllimport) __stdcall
- #endif
- #define PREF3(x) x
- #endif
- #else
- #ifdef DYNLINK
- #define PREF1 typedef
- #define PREF2
- #define PREF3(x) (*x)
- #else
- #ifdef _USRDLL
- #define PREF1 __attribute__((visibility("default")))
- #else
- #define PREF1
- #endif
- #define PREF2
- #define PREF3(x) x
- #endif
- #define __stdcall
- #endif
- typedef enum enUsbDrDaqInputs
- {
- USB_DRDAQ_CHANNEL_EXT1 = 1, //Ext. sensor 1
- USB_DRDAQ_CHANNEL_EXT2, //Ext. sensor 2
- USB_DRDAQ_CHANNEL_EXT3, //Ext. sensor 3
- USB_DRDAQ_CHANNEL_SCOPE, //Scope channel
- USB_DRDAQ_CHANNEL_PH, //PH
- USB_DRDAQ_CHANNEL_RES, //Resistance
- USB_DRDAQ_CHANNEL_LIGHT, //Light
- USB_DRDAQ_CHANNEL_TEMP, //Thermistor
- USB_DRDAQ_CHANNEL_MIC_WAVE, //Microphone waveform
- USB_DRDAQ_CHANNEL_MIC_LEVEL, //Microphone level
- USB_DRDAQ_MAX_CHANNELS = USB_DRDAQ_CHANNEL_MIC_LEVEL
- } USB_DRDAQ_INPUTS;
- typedef enum enUsbDrDaqScopeRange
- {
- USB_DRDAQ_1V25,
- USB_DRDAQ_2V5,
- USB_DRDAQ_5V,
- USB_DRDAQ_10V
- }USB_DRDAQ_SCOPE_RANGE;
- typedef enum enUsbDrDaqWave
- {
- USB_DRDAQ_SINE,
- USB_DRDAQ_SQUARE,
- USB_DRDAQ_TRIANGLE,
- USB_DRDAQ_RAMP_UP,
- USB_DRDAQ_RAMP_DOWN,
- USB_DRDAQ_DC
- }USB_DRDAQ_WAVE;
- typedef enum enUsbDrDaqDO
- {
- USB_DRDAQ_GPIO_1 = 1,
- USB_DRDAQ_GPIO_2,
- USB_DRDAQ_GPIO_3,
- USB_DRDAQ_GPIO_4
- }USB_DRDAQ_GPIO;
- typedef enum enUSBDrDAQInfo
- {
- USBDrDAQ_DRIVER_VERSION,
- USBDrDAQ_USB_VERSION,
- USBDrDAQ_HARDWARE_VERSION,
- USBDrDAQ_VARIANT_INFO,
- USBDrDAQ_BATCH_AND_SERIAL,
- USBDrDAQ_CAL_DATE,
- USBDrDAQ_KERNEL_DRIVER_VERSION,
- USBDrDAQ_ERROR,
- USBDrDAQ_SETTINGS,
- USBDrDAQ_FIRMWARE_VERSION,
- USBDrDAQ_DRIVER_PATH = 14
- } USBDrDAQ_INFO;
-
- #ifndef BM_DEFINED
- #define BM_DEFINED
- typedef enum _BLOCK_METHOD{BM_SINGLE, BM_WINDOW, BM_STREAM} BLOCK_METHOD;
- #endif
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqOpenUnit)
- (
- int16_t *handle
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqCloseUnit)
- (
- int16_t handle
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetUnitInfo)
- (
- int16_t handle,
- int8_t *string,
- int16_t stringLength,
- int16_t *requiredSize,
- PICO_INFO info
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqRun)
- (
- int16_t handle,
- uint32_t no_of_values,
- BLOCK_METHOD method
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqReady)
- (
- int16_t handle,
- int16_t *ready
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqStop)
- (
- int16_t handle
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetInterval)
- (
- int16_t handle,
- uint32_t *us_for_block,
- uint32_t ideal_no_of_samples,
- USB_DRDAQ_INPUTS *channels,
- int16_t no_of_channels
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetIntervalF)
- (
- int16_t handle,
- float * us_for_block,
- uint32_t ideal_no_of_samples,
- USB_DRDAQ_INPUTS *channels,
- int16_t no_of_channels
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetTrigger)
- (
- int16_t handle,
- uint16_t enabled,
- uint16_t auto_trigger,
- uint16_t auto_ms,
- uint16_t channel,
- uint16_t dir,
- int16_t threshold,
- uint16_t hysterisis,
- float delay
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetValues)
- (
- int16_t handle,
- int16_t *values,
- uint32_t *noOfValues,
- uint16_t *overflow,
- uint32_t *triggerIndex
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetValuesF)
- (
- int16_t handle,
- float *values,
- uint32_t *noOfValues,
- uint16_t *overflow,
- uint32_t *triggerIndex
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetTriggerTimeOffsetNs)
- (
- int16_t handle,
- int64_t *time
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetSingle)
- (
- int16_t handle,
- USB_DRDAQ_INPUTS channel,
- int16_t *value,
- uint16_t *overflow
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetSingleF)
- (
- int16_t handle,
- USB_DRDAQ_INPUTS channel,
- float *value,
- uint16_t *overflow
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqOpenUnitAsync)
- (
- int16_t *status
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqOpenUnitProgress)
- (
- int16_t *handle,
- int16_t *progress,
- int16_t *complete
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetScalings)
- (
- int16_t handle,
- USB_DRDAQ_INPUTS channel,
- int16_t *nScales,
- int16_t *currentScale,
- int8_t *names,
- int16_t namesSize
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetScalings)
- (
- int16_t handle,
- USB_DRDAQ_INPUTS channel,
- int16_t scalingNumber
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetSigGenBuiltIn)
- (
- int16_t handle,
- int32_t offsetVoltage,
- uint32_t pkToPk,
- int16_t frequency,
- USB_DRDAQ_WAVE waveType
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetSigGenArbitrary)
- (
- int16_t handle,
- int32_t offsetVoltage,
- uint32_t pkToPk,
- int16_t *arbitraryWaveform,
- int16_t arbitraryWaveformSize,
- int32_t updateRate
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqStopSigGen)
- (
- int16_t handle
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetDO)
- (
- int16_t handle,
- USB_DRDAQ_GPIO IOChannel,
- int16_t value
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetPWM)
- (
- int16_t handle,
- USB_DRDAQ_GPIO IOChannel,
- uint16_t period,
- uint8_t cycle
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetInput)
- (
- int16_t handle,
- USB_DRDAQ_GPIO IOChannel,
- int16_t pullUp,
- int16_t *value
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqStartPulseCount)
- (
- int16_t handle,
- USB_DRDAQ_GPIO IOChannel,
- int16_t direction
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetPulseCount)
- (
- int16_t handle,
- USB_DRDAQ_GPIO IOChannel,
- int16_t *count
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqEnableRGBLED)
- (
- int16_t handle,
- int16_t enabled
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqSetRGBLED)
- (
- int16_t handle,
- uint16_t red,
- uint16_t green,
- uint16_t blue
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqGetChannelInfo)
- (
- int16_t handle,
- float *min,
- float *max,
- int16_t *places,
- int16_t *divider,
- USB_DRDAQ_INPUTS channel
- );
- PREF0 PREF1 PICO_STATUS PREF2 PREF3 (UsbDrDaqPingUnit) (int16_t handle);
- PREF0 PREF1 PICO_STATUS PREF2 PREF3(UsbDrDaqPhTemperatureCompensation)
- (
- int16_t handle,
- uint16_t enabled
- );
- #endif
|