libtiepie
 All Files Functions Typedefs Groups
libtiepie.h
Go to the documentation of this file.
1 
6 #ifndef _LIBTIEPIE_H_
7 #define _LIBTIEPIE_H_
8 
9 #if ( defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L ) || ( defined( __GNUC__ ) && defined( __cplusplus ) )
10  #include <stdint.h>
11 #elif defined( _MSC_VER )
12  #include "stdint.h" // Note: You can find a stdint.h for microsoft compilers at http://msinttypes.googlecode.com/svn/trunk/stdint.h .
13 #else
14  // Assume the file is used from Matlab and define int8_t and similar types as follows:
15  #include <tmwtypes.h>
16 
17  typedef INT8_T int8_t;
18  typedef INT16_T int16_t;
19  typedef INT32_T int32_t;
20  typedef INT64_T int64_t;
21 
22  typedef UINT8_T uint8_t;
23  typedef UINT16_T uint16_t;
24  typedef UINT32_T uint32_t;
25  typedef UINT64_T uint64_t;
26 #endif
27 
28 // Check whether we are on a Windows NT based operating system:
29 #if defined( _WIN32 ) || defined( _WIN64 ) || defined( __WIN32__ ) || defined( __TOS_WIN__ ) || defined( __WINDOWS__ )
30  #ifndef HAVE_WINDOWS_H
31  #define HAVE_WINDOWS_H
32  #endif
33  #include <windows.h>
34 #endif
35 
36 #ifdef __cplusplus
37 extern "C"
38 {
39 #endif
40 
48 #define CM_INTERNAL 0
49 #define CM_EXTERNAL 1
50 
51 
58 #define CKN_COUPLING_COUNT 5
59 
60 
65 #define CKB_DCV 0
66 #define CKB_ACV 1
67 #define CKB_DCA 2
68 #define CKB_ACA 3
69 #define CKB_OHM 4
70 
71 
77 #define CK_UNKNOWN 0x0000000000000000
78 
79 #define CK_DCV ( 1 << CKB_DCV )
80 #define CK_ACV ( 1 << CKB_ACV )
81 #define CK_DCA ( 1 << CKB_DCA )
82 #define CK_ACA ( 1 << CKB_ACA )
83 #define CK_OHM ( 1 << CKB_OHM )
84 
85 
91 #define CKM_V ( CK_DCV | CK_ACV )
92 #define CKM_A ( CK_DCA | CK_ACA )
93 #define CKM_OHM ( CK_OHM )
94 
95 
102 #define FMN_GENERATORMODE_COUNT 2
103 
104 
109 #define FMB_SIGNALFREQUENCY 0
110 #define FMB_SAMPLEFREQUENCY 1
111 
118 #define FM_UNKNOWN 0x00000000
119 
120 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
121 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
122 
130 #define MMN_MEASUREMODE_COUNT 2
131 
132 
137 #define MMB_STREAM 0
138 #define MMB_BLOCK 1
139 
140 
146 #define MM_UNKNOWN 0x00000000
147 
148 #define MM_STREAM ( 1 << MMB_STREAM )
149 #define MM_BLOCK ( 1 << MMB_BLOCK )
150 
151 
158 #define STN_SIGNALTYPE_COUNT 6
159 
160 
165 #define STB_SINE 0
166 #define STB_TRIANGLE 1
167 #define STB_SQUARE 2
168 #define STB_DC 3
169 #define STB_NOISE 4
170 #define STB_ARBITRARY 5
171 
178 #define ST_UNKNOWN 0x0000000000000000
179 
180 #define ST_SINE ( 1 << STB_SINE )
181 #define ST_TRIANGLE ( 1 << STB_TRIANGLE )
182 #define ST_SQUARE ( 1 << STB_SQUARE )
183 #define ST_DC ( 1 << STB_DC )
184 #define ST_NOISE ( 1 << STB_NOISE )
185 #define ST_ARBITRARY ( 1 << STB_ARBITRARY )
186 
193 #define STM_AMPLITUDE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
194 #define STM_OFFSET ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_DC | ST_NOISE | ST_ARBITRARY )
195 #define STM_FREQUENCY ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
196 #define STM_PHASE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
197 #define STM_SYMMETRY ( ST_SINE | ST_TRIANGLE | ST_SQUARE )
198 
208 #define TH_ALLPRESAMPLES 0xffffffffffffffff
209 
210 
217 #define TKN_KIND_COUNT 7
218 
219 
224 #define TKB_RISING 0
225 #define TKB_FALLING 1
226 #define TKB_INWINDOW 2
227 #define TKB_OUTWINDOW 3
228 #define TKB_EDGE 4
229 #define TKB_DROPINWINDOW 5
230 #define TKB_DROPOUTWINDOW 6
231 
238 #define TK_UNKNOWN 0x0000000000000000ULL
239 
240 #define TK_RISING ( 1ULL << TKB_RISING )
241 #define TK_FALLING ( 1ULL << TKB_FALLING )
242 #define TK_INWINDOW ( 1ULL << TKB_INWINDOW )
243 #define TK_OUTWINDOW ( 1ULL << TKB_OUTWINDOW )
244 #define TK_EDGE ( 1ULL << TKB_EDGE )
245 #define TK_DROPINWINDOW ( 1ULL << TKB_DROPINWINDOW )
246 #define TK_DROPOUTWINDOW ( 1ULL << TKB_DROPOUTWINDOW )
247 
254 #define TKM_NONE 0x0000000000000000ULL
255 #define TKM_EDGE ( TK_RISING | TK_FALLING | TK_EDGE )
256 #define TKM_WINDOW ( TK_INWINDOW | TK_OUTWINDOW | TK_DROPINWINDOW | TK_DROPOUTWINDOW )
257 #define TKM_ALL ( ( 1ULL << TKN_KIND_COUNT ) - 1 )
258 
259 
268 #define TO_INFINITY -1
269 
270 
279 #define TS_NONE 0x0000000000000000ULL
280 
281 #define TS_CH1 0x0000000000000001ULL
282 #define TS_CH2 0x0000000000000002ULL
283 #define TS_CH3 0x0000000000000004ULL
284 #define TS_CH4 0x0000000000000008ULL
285 #define TS_CH5 0x0000000000000010ULL
286 #define TS_CH6 0x0000000000000020ULL
287 #define TS_CH7 0x0000000000000040ULL
288 #define TS_CH8 0x0000000000000080ULL
289 #define TS_CH9 0x0000000000000100ULL
290 #define TS_CH10 0x0000000000000200ULL
291 #define TS_CH11 0x0000000000000400ULL
292 #define TS_CH12 0x0000000000000800ULL
293 #define TS_CH13 0x0000000000001000ULL
294 #define TS_CH14 0x0000000000002000ULL
295 #define TS_CH15 0x0000000000004000ULL
296 #define TS_CH16 0x0000000000008000ULL
297 #define TS_CH17 0x0000000000010000ULL
298 #define TS_CH18 0x0000000000020000ULL
299 #define TS_CH19 0x0000000000040000ULL
300 #define TS_CH20 0x0000000000080000ULL
301 #define TS_CH21 0x0000000000100000ULL
302 #define TS_CH22 0x0000000000200000ULL
303 #define TS_CH23 0x0000000000400000ULL
304 #define TS_CH24 0x0000000000800000ULL
305 #define TS_CH25 0x0000000001000000ULL
306 #define TS_CH26 0x0000000002000000ULL
307 #define TS_CH27 0x0000000004000000ULL
308 #define TS_CH28 0x0000000008000000ULL
309 #define TS_CH29 0x0000000010000000ULL
310 #define TS_CH30 0x0000000020000000ULL
311 #define TS_CH31 0x0000000040000000ULL
312 #define TS_CH32 0x0000000080000000ULL
313 
314 #define TS_GENSTOP 0x0400000000000000ULL
315 #define TS_GENNEW 0x0800000000000000ULL
316 #define TS_GENSTART 0x1000000000000000ULL
317 #define TS_EXT2 0x2000000000000000ULL
318 #define TS_EXTANALOG 0x4000000000000000ULL
319 #define TS_EXT 0x8000000000000000ULL
320 
321 
325 #define TSN_CHANNEL_COUNT 32
326 
327 
332 #define TSM_NONE 0x0000000000000000ULL
333 #define TSM_ALL 0xFFFFFFFFFFFFFFFFULL
334 #define TSM_CHANNELS ( ( 1ULL << TSN_CHANNEL_COUNT ) - 1 )
335 #define TSM_NONCHANNELS ( TSM_ALL - TSM_CHANNELS )
336 #define TSM_GENALL ( TS_GENSTART | TS_GENNEW | TS_GENSTOP )
337 
338 
345 typedef void(*TpCallback_t)( void* pData );
346 
363 #define TPDEVICEHANDLE_INVALID 0
364 
365 
371 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
372 #define DEVICETYPE_GENERATOR 0x00000002
373 #define DEVICETYPE_I2CHOST 0x00000004
374 
375 
385 #define LIBTIEPIESTATUS_SUCCESS 0
386 #define LIBTIEPIESTATUS_VALUE_CLIPPED 1
387 #define LIBTIEPIESTATUS_VALUE_MODIFIED 2
388 #define LIBTIEPIESTATUS_UNSUCCESSFUL -1
389 #define LIBTIEPIESTATUS_NOT_SUPPORTED -2
390 #define LIBTIEPIESTATUS_INVALID_HANDLE -3
391 #define LIBTIEPIESTATUS_INVALID_VALUE -4
392 #define LIBTIEPIESTATUS_INVALID_CHANNEL -5
393 #define LIBTIEPIESTATUS_INVALID_TRIGGER_SOURCE -6
394 #define LIBTIEPIESTATUS_INVALID_DEVICE_TYPE -7
395 #define LIBTIEPIESTATUS_INVALID_DEVICE_INDEX -8
396 #define LIBTIEPIESTATUS_INVALID_DEVICE_ID -9
397 #define LIBTIEPIESTATUS_INVALID_DEVICE_SERIALNUMBER -10
398 #define LIBTIEPIESTATUS_DEVICE_GONE -11
399 #define LIBTIEPIESTATUS_INTERNAL_ADDRESS -12
400 #define LIBTIEPIESTATUS_NOT_CONTROLLABLE -13
401 
402 
408 #define CONNECTORTYPE_UNKNOWN 0x00000000
409 
410 #define CONNECTORTYPE_BNC 0x00000001
411 #define CONNECTORTYPE_BANANA 0x00000002
412 
413 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA )
414 
421 #define DATARAWTYPE_UNKNOWN 0x00000000
422 
423 #define DATARAWTYPE_INT8 0x00000001
424 #define DATARAWTYPE_INT16 0x00000002
425 #define DATARAWTYPE_INT32 0x00000004
426 #define DATARAWTYPE_INT64 0x00000008
427 
428 #define DATARAWTYPE_UINT8 0x00000010
429 #define DATARAWTYPE_UINT16 0x00000020
430 #define DATARAWTYPE_UINT32 0x00000040
431 #define DATARAWTYPE_UINT64 0x00000080
432 
439 #define IDM_DEVICEID 0x80000000
440 #define IDM_ALL 0xffffffff
441 
448 #define IDB_HS3 0
449 #define IDB_HS4 1
450 #define IDB_HS4D 2
451 #define IDB_HS805 3
452 #define IDB_HP3 4
453 #define IDB_HS5 5
454 #define IDB_HL0516 6
455 #define IDB_PA1 7
456 
463 #define ID_HS3 ( IDM_DEVICEID | ( 1 << IDB_HS3 ) )
464 #define ID_HS4 ( IDM_DEVICEID | ( 1 << IDB_HS4 ) )
465 #define ID_HS4D ( IDM_DEVICEID | ( 1 << IDB_HS4D ) )
466 #define ID_HS805 ( IDM_DEVICEID | ( 1 << IDB_HS805 ) )
467 #define ID_HP3 ( IDM_DEVICEID | ( 1 << IDB_HP3 ) )
468 #define ID_HS5 ( IDM_DEVICEID | ( 1 << IDB_HS5 ) )
469 #define ID_HL0516 ( IDM_DEVICEID | ( 1 << IDB_HL0516 ) )
470 #define ID_PA1 ( IDM_DEVICEID | ( 1 << IDB_PA1 ) )
471 
472 
483 typedef uint8_t bool8_t;
484 
491 #define TPVERSION_MAJOR( x ) ( x >> 48 )
492 #define TPVERSION_MINOR( x ) ( ( x >> 32 ) & 0xffff )
493 #define TPVERSION_RELEASE( x ) ( ( x >> 16 ) & 0xffff )
494 #define TPVERSION_BUILD( x ) ( x & 0xffff )
495 
496 #define TPDATE_YEAR( x ) ( x >> 16 )
497 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
498 #define TPDATE_DAY( x ) ( x & 0xff )
499 
504 #ifdef HAVE_WINDOWS_H
505 
511 #define WM_LIBTIEPIE ( WM_USER + 1337 )
512 
513 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
514 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
515 
516 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
517 
518 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
519 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
520 
521 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
522 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
523 
528 #endif
529 
553 TpVersion_t LibGetVersion();
554 
574 uint32_t LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
575 
588 LibTiePieStatus_t LibGetLastStatus();
589 
601 const char* LibGetLastStatusStr();
602 
615 uint32_t LstGetCount( uint32_t dwDeviceType );
616 
624 bool8_t LstGetDeviceCanOpen( uint32_t dwDeviceType , uint32_t dwId );
625 
632 uint32_t LstGetDeviceProductId( uint32_t dwDeviceType , uint32_t dwId );
633 
640 uint32_t LstGetDeviceVendorId( uint32_t dwDeviceType , uint32_t dwId );
641 
651 uint32_t LstGetDeviceName( uint32_t dwDeviceType , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
652 
661 uint32_t LstGetDeviceNameShort( uint32_t dwDeviceType , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
662 
669 uint32_t LstGetDeviceSerialNumber( uint32_t dwDeviceType , uint32_t dwId );
670 
678 TpDeviceHandle_t LstOpenDevice( uint32_t dwDeviceType , uint32_t dwId );
679 
685 void LstRemoveDevice( uint32_t dwSerialNumber );
686 
702 void LstUpdate( uint32_t dwDeviceIdMask );
703 
715 void LstSetCallbackDeviceAdded( uint32_t dwDeviceType , TpCallback_t pCallback , void* pData );
716 
723 void LstSetCallbackDeviceRemoved( uint32_t dwDeviceType , TpCallback_t pCallback , void* pData );
724 
725 #ifdef HAVE_WINDOWS_H
726 
732 void LstSetEventDeviceAdded( uint32_t dwDeviceType , HANDLE hEvent );
733 
739 void LstSetEventDeviceRemoved( uint32_t dwDeviceType , HANDLE hEvent );
740 
746 void LstSetMessageDeviceAdded( uint32_t dwDeviceType , HWND hWnd );
747 
753 void LstSetMessageDeviceRemoved( uint32_t dwDeviceType , HWND hWnd );
754 
755 #endif
756 
769 void DevClose( TpDeviceHandle_t hDevice );
770 
777 bool8_t DevIsRemoved( TpDeviceHandle_t hDevice );
778 
796 TpVersion_t DevGetDriverVersion( TpDeviceHandle_t hDevice );
797 
815 TpVersion_t DevGetFirmwareVersion( TpDeviceHandle_t hDevice );
816 
833 TpDate_t DevGetCalibrationDate( TpDeviceHandle_t hDevice );
834 
841 uint32_t DevGetSerialNumber( TpDeviceHandle_t hDevice );
842 
849 uint32_t DevGetProductId( TpDeviceHandle_t hDevice );
850 
857 uint32_t DevGetVendorId( TpDeviceHandle_t hDevice );
858 
877 uint32_t DevGetName( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
878 
897 uint32_t DevGetNameShort( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
898 
911 void DevSetCallbackRemoved( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
912 
913 #ifdef HAVE_WINDOWS_H
914 
920 void DevSetEventRemoved( TpDeviceHandle_t hDevice , HANDLE hEvent );
921 
929 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
930 
931 #endif
932 
948 uint16_t ScpGetChannelCount( TpDeviceHandle_t hDevice );
949 
954 uint32_t ScpGetSharedChannelGroupCount( TpDeviceHandle_t hDevice );
955 
960 uint32_t ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
961 
969 bool8_t ScpChGetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh );
970 
979 bool8_t ScpChSetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
980 
988 uint32_t ScpChGetConnectorType( TpDeviceHandle_t hDevice , uint16_t wCh );
989 
998 uint64_t ScpChGetCouplings( TpDeviceHandle_t hDevice , uint16_t wCh );
999 
1008 uint64_t ScpChGetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh );
1009 
1019 uint64_t ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
1020 
1028 bool8_t ScpChGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
1029 
1038 bool8_t ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
1039 
1046 bool8_t ScpChIsDifferential( TpDeviceHandle_t hDevice , uint16_t wCh );
1047 
1052 bool8_t ScpChIsDualRateCapable( TpDeviceHandle_t hDevice , uint16_t wCh );
1053 
1061 double ScpChGetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh );
1062 
1071 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
1072 
1094 uint32_t ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
1095 
1107 uint32_t ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
1108 
1116 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
1117 
1135 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
1136 
1151 uint64_t ScpGetData( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1152 
1161 uint64_t ScpGetData1Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1162 
1171 uint64_t ScpGetData2Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1172 
1181 uint64_t ScpGetData3Ch( TpDeviceHandle_t hDevice , float *pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1182 
1191 uint64_t ScpGetData4Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1192 
1201 uint64_t ScpGetDataRaw( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1202 
1211 uint64_t ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1212 
1221 uint64_t ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1222 
1231 uint64_t ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1232 
1241 uint64_t ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1242 
1248 bool8_t ScpChIsRangeMaxReachable( TpDeviceHandle_t hDevice , uint16_t wCh );
1249 
1255 uint32_t ScpChGetDataRawType( TpDeviceHandle_t hDevice , uint16_t wCh );
1256 
1262 uint64_t ScpGetValidPreSampleCount( TpDeviceHandle_t hDevice );
1263 
1268 void ScpChGetDataValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
1269 
1277 double ScpChGetDataValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
1278 
1286 double ScpChGetDataValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
1287 
1292 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
1293 
1298 int64_t ScpChGetDataRawValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
1299 
1304 int64_t ScpChGetDataRawValueZero( TpDeviceHandle_t hDevice , uint16_t wCh );
1305 
1310 int64_t ScpChGetDataRawValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
1311 
1323 void ScpSetCallbackDataReady( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
1324 
1330 void ScpSetCallbackDataOverflow( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
1331 
1332 #ifdef HAVE_WINDOWS_H
1333 
1340 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , HANDLE hEvent );
1341 
1348 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , HANDLE hEvent );
1349 
1356 void ScpSetMessageDataReady( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1357 
1364 void ScpSetMessageDataOverflow( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1365 
1366 #endif
1367 
1380 bool8_t ScpStart( TpDeviceHandle_t hDevice );
1381 
1387 void ScpStop( TpDeviceHandle_t hDevice );
1388 
1394 void ScpForceTrigger( TpDeviceHandle_t hDevice );
1395 
1402 bool8_t ScpIsDataReady( TpDeviceHandle_t hDevice );
1403 
1410 bool8_t ScpIsDataOverflow( TpDeviceHandle_t hDevice );
1411 
1418 bool8_t ScpIsRunning( TpDeviceHandle_t hDevice );
1419 
1426 bool8_t ScpIsTriggered( TpDeviceHandle_t hDevice );
1427 
1432 uint32_t ScpGetMeasureModes( TpDeviceHandle_t hDevice );
1433 
1440 uint32_t ScpGetMeasureMode( TpDeviceHandle_t hDevice );
1441 
1450 uint32_t ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1451 
1466 uint32_t ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t *pList , uint32_t dwLength );
1467 
1474 uint8_t ScpGetResolution( TpDeviceHandle_t hDevice );
1475 
1483 uint8_t ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
1484 
1491 bool8_t ScpIsResolutionEnhanced( TpDeviceHandle_t hDevice );
1492 
1500 bool8_t ScpIsResolutionEnhancedEx( TpDeviceHandle_t hDevice , uint8_t byResolution );
1501 
1515 uint32_t ScpGetClockSource( TpDeviceHandle_t hDevice );
1516 
1526 uint32_t ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
1527 
1534 double ScpGetPreSampleRatio( TpDeviceHandle_t hDevice );
1535 
1543 double ScpSetPreSampleRatio( TpDeviceHandle_t hDevice , double dPreSampleRatio );
1544 
1551 uint64_t ScpGetTriggerHoldOffCountMax( TpDeviceHandle_t hDevice );
1552 
1559 uint64_t ScpGetTriggerHoldOffCountMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1560 
1567 uint64_t ScpGetTriggerHoldOffCount( TpDeviceHandle_t hDevice );
1568 
1576 uint64_t ScpSetTriggerHoldOffCount( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
1577 
1584 uint64_t ScpGetRecordLengthMax( TpDeviceHandle_t hDevice );
1585 
1590 uint64_t ScpGetRecordLengthMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
1591 
1598 uint64_t ScpGetRecordLength( TpDeviceHandle_t hDevice );
1599 
1607 uint64_t ScpSetRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
1608 
1615 uint64_t ScpVerifyRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
1616 
1626 uint64_t ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1627 
1634 double ScpGetSampleFrequencyMax( TpDeviceHandle_t hDevice );
1635 
1642 double ScpGetSampleFrequency( TpDeviceHandle_t hDevice );
1643 
1651 double ScpSetSampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
1652 
1660 double ScpVerifySampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
1661 
1671 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1672 
1686 double ScpGetTriggerTimeOut( TpDeviceHandle_t hDevice );
1687 
1696 double ScpSetTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
1697 
1706 double ScpVerifyTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
1707 
1715 uint64_t ScpGetTriggerSources( TpDeviceHandle_t hDevice );
1716 
1725 uint64_t ScpGetTriggerSourcesEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1726 
1734 uint64_t ScpGetTriggerSourceOR( TpDeviceHandle_t hDevice );
1735 
1744 uint64_t ScpSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1745 
1753 uint64_t ScpGetTriggerSourceAND( TpDeviceHandle_t hDevice );
1754 
1763 uint64_t ScpSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1764 
1776 uint64_t ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1777 
1790 uint64_t ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
1791 
1800 uint64_t ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
1801 
1811 uint64_t ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
1812 
1821 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
1822 
1832 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
1833 
1842 double ScpGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
1843 
1853 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
1854 
1863 uint64_t ScpChGetTriggerKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
1864 
1874 uint64_t ScpChGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
1875 
1884 uint64_t ScpChGetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh );
1885 
1895 uint64_t ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
1896 
1905 double ScpChGetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
1906 
1916 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
1917 
1926 double ScpChGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
1927 
1937 double ScpChSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
1938 
1946 double ScpChGetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh );
1947 
1956 double ScpChSetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
1957 
1973 uint32_t GenGetConnectorType( TpDeviceHandle_t hDevice );
1974 
1981 bool8_t GenIsDifferential( TpDeviceHandle_t hDevice );
1982 
1989 double GenGetImpedance( TpDeviceHandle_t hDevice );
1990 
2002 bool8_t GenIsControllable( TpDeviceHandle_t hDevice );
2003 
2010 bool8_t GenGetOutputOn( TpDeviceHandle_t hDevice );
2011 
2019 bool8_t GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
2020 
2026 void GenStart( TpDeviceHandle_t hDevice );
2027 
2033 void GenStop( TpDeviceHandle_t hDevice );
2034 
2041 bool8_t GenIsBurstActive( TpDeviceHandle_t hDevice );
2042 
2048 uint64_t GenGetBurstCount( TpDeviceHandle_t hDevice );
2049 
2055 uint64_t GenGetBurstCountMax( TpDeviceHandle_t hDevice );
2056 
2063 uint64_t GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
2064 
2072 uint32_t GenGetModes( TpDeviceHandle_t hDevice );
2073 
2082 uint32_t GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
2083 
2091 uint32_t GenGetMode( TpDeviceHandle_t hDevice );
2092 
2101 uint32_t GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
2102 
2110 uint32_t GenGetSignalTypes( TpDeviceHandle_t hDevice );
2111 
2119 uint32_t GenGetSignalType( TpDeviceHandle_t hDevice );
2120 
2129 uint32_t GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
2130 
2137 double GenGetAmplitudeMax( TpDeviceHandle_t hDevice );
2138 
2145 double GenGetAmplitudeMin( TpDeviceHandle_t hDevice );
2146 
2153 double GenGetAmplitude( TpDeviceHandle_t hDevice );
2154 
2162 double GenSetAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
2163 
2171 double GenVerifyAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
2172 
2180 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwMode , double* pMin , double* pMax );
2181 
2188 double GenGetFrequencyMin( TpDeviceHandle_t hDevice );
2189 
2196 double GenGetFrequencyMax( TpDeviceHandle_t hDevice );
2197 
2204 double GenGetFrequency( TpDeviceHandle_t hDevice );
2205 
2213 double GenSetFrequency( TpDeviceHandle_t hDevice , double dFrequency );
2214 
2221 double GenVerifyFrequency( TpDeviceHandle_t hDevice , double dFrequency );
2222 
2230 double GenVerifyFrequencyEx( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwMode );
2231 
2238 double GenGetOffsetMin( TpDeviceHandle_t hDevice );
2239 
2246 double GenGetOffsetMax( TpDeviceHandle_t hDevice );
2247 
2254 double GenGetOffset( TpDeviceHandle_t hDevice );
2255 
2263 double GenSetOffset( TpDeviceHandle_t hDevice , double dOffset );
2264 
2271 double GenVerifyOffset( TpDeviceHandle_t hDevice , double dOffset );
2272 
2278 double GenGetPhase( TpDeviceHandle_t hDevice );
2279 
2286 double GenSetPhase( TpDeviceHandle_t hDevice , double dPhase );
2287 
2294 double GenVerifyPhase( TpDeviceHandle_t hDevice , double dPhase );
2295 
2302 double GenGetSymmetry( TpDeviceHandle_t hDevice );
2303 
2311 double GenSetSymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
2312 
2319 double GenVerifySymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
2320 
2333 void GenSetCallbackBurstCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2334 
2341 void GenSetCallbackControllableChanged( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2342 
2343 #ifdef HAVE_WINDOWS_H
2344 
2350 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
2351 
2357 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , HANDLE hEvent );
2358 
2366 void GenSetMessageBurstCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2367 
2375 void GenSetMessageControllableChanged( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2376 
2377 #endif
2378 
2385 bool8_t GenGetAutoRanging( TpDeviceHandle_t hDevice );
2386 
2390 bool8_t GenSetAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
2391 
2395 uint32_t GenGetRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
2396 
2400 double GenGetRange( TpDeviceHandle_t hDevice );
2401 
2405 double GenSetRange( TpDeviceHandle_t hDevice , double dRange );
2406 
2420 uint64_t GenGetTriggerSources( TpDeviceHandle_t hDevice );
2421 
2429 uint64_t GenGetTriggerSourceAND( TpDeviceHandle_t hDevice );
2430 
2439 uint64_t GenSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
2440 
2448 uint64_t GenGetTriggerSourceOR( TpDeviceHandle_t hDevice );
2449 
2458 uint64_t GenSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
2459 
2472 uint64_t GenGetDataLengthMax( TpDeviceHandle_t hDevice );
2473 
2480 uint64_t GenGetDataLength( TpDeviceHandle_t hDevice );
2481 
2489 uint64_t GenVerifyDataLength( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
2490 
2497 uint32_t GenGetDataRawType( TpDeviceHandle_t hDevice );
2498 
2506 void GenSetData( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
2507 
2515 void GenSetDataRaw( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
2516 
2524 bool8_t I2CRead( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
2525 bool8_t I2CReadByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
2526 bool8_t I2CReadWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
2527 
2528 bool8_t I2CWrite( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
2529 bool8_t I2CWriteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
2530 bool8_t I2CWriteByteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
2531 bool8_t I2CWriteByteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
2532 bool8_t I2CWriteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
2533 
2534 double I2CGetSpeed( TpDeviceHandle_t hDevice );
2535 double I2CGetSpeedMax( TpDeviceHandle_t hDevice );
2536 double I2CSetSpeed( TpDeviceHandle_t hDevice , double dSpeed );
2537 double I2CVerifySpeed( TpDeviceHandle_t hDevice , double dSpeed );
2538 
2539 bool8_t I2CIsInternalAddress( TpDeviceHandle_t hDevice , uint16_t wAddress );
2540 
2546 #ifdef __cplusplus
2547 }
2548 #endif
2549 
2550 #endif