LibTiePie  0.4.2
Library for interfacing TiePie engineering instruments
 All Files Functions Typedefs Groups Pages
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  #define INCLUDED_BY_MATLAB
16  #include <tmwtypes.h>
17 
18  typedef INT8_T int8_t;
19  typedef INT16_T int16_t;
20  typedef INT32_T int32_t;
21  typedef INT64_T int64_t;
22 
23  typedef UINT8_T uint8_t;
24  typedef UINT16_T uint16_t;
25  typedef UINT32_T uint32_t;
26  typedef UINT64_T uint64_t;
27 #endif
28 
29 // Check whether we are on a Windows NT based operating system:
30 #if defined( _WIN32 ) || defined( _WIN64 ) || defined( __WIN32__ ) || defined( __TOS_WIN__ ) || defined( __WINDOWS__ )
31  #ifndef HAVE_WINDOWS_H
32  #define HAVE_WINDOWS_H
33  #endif
34  #include <windows.h>
35 #endif
36 
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41 
49 #define BMN_COUNT 3
50 
51 
56 #define BMB_DISABLED 0
57 #define BMB_COUNT 1
58 #define BMB_GATED_PERIODS 2
59 
64 #define BM_UNKNOWN 0
65 
66 #define BM_DISABLED ( 1 << BMB_DISABLED )
67 #define BM_COUNT ( 1 << BMB_COUNT )
68 #define BM_GATED_PERIODS ( 1 << BMB_GATED_PERIODS )
69 
75 #define BMM_NONE 0x0000000000000000ULL
76 #define BMM_ALL ( ( 1ULL << BMN_COUNT ) - 1 )
77 
88 #define CKN_COUNT 5
89 
90 
95 #define CKB_DCV 0
96 #define CKB_ACV 1
97 #define CKB_DCA 2
98 #define CKB_ACA 3
99 #define CKB_OHM 4
100 
101 
105 #define CK_UNKNOWN 0
106 
107 #define CK_DCV ( 1 << CKB_DCV )
108 #define CK_ACV ( 1 << CKB_ACV )
109 #define CK_DCA ( 1 << CKB_DCA )
110 #define CK_ACA ( 1 << CKB_ACA )
111 #define CK_OHM ( 1 << CKB_OHM )
112 
113 
118 #define CKM_V ( CK_DCV | CK_ACV )
119 #define CKM_A ( CK_DCA | CK_ACA )
120 #define CKM_OHM ( CK_OHM )
121 
122 #define CKM_ASYMMETRICRANGE ( CKM_OHM )
123 #define CKM_SYMMETRICRANGE ( CKM_V | CKM_A )
124 
125 
135 #define CON_COUNT 2
136 
137 
142 #define COB_SAMPLE 0
143 #define COB_10MHZ 1
144 
145 
149 #define CO_NONE 0
150 #define CO_SAMPLE ( 1 << COB_SAMPLE )
151 #define CO_10MHZ ( 1 << COB_10MHZ )
152 
153 
162 #define CSN_COUNT 2
163 
164 
169 #define CSB_EXTERNAL 0
170 #define CSB_INTERNAL 1
171 
172 
176 #define CS_EXTERNAL ( 1 << CSB_EXTERNAL )
177 #define CS_INTERNAL ( 1 << CSB_INTERNAL )
178 
179 
188 #define FMN_COUNT 2
189 
190 
195 #define FMB_SIGNALFREQUENCY 0
196 #define FMB_SAMPLEFREQUENCY 1
197 
202 #define FM_UNKNOWN 0x00000000
203 
204 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
205 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
206 
212 #define FMM_NONE 0x00000000
213 #define FMM_ALL ( ( 1 << FMN_COUNT ) - 1 )
214 
225 #define MMN_COUNT 2
226 
227 
232 #define MMB_STREAM 0
233 #define MMB_BLOCK 1
234 
235 
239 #define MM_UNKNOWN 0
240 
241 #define MM_STREAM ( 1 << MMB_STREAM )
242 #define MM_BLOCK ( 1 << MMB_BLOCK )
243 
244 
253 #define STN_COUNT 6
254 
255 
260 #define STB_SINE 0
261 #define STB_TRIANGLE 1
262 #define STB_SQUARE 2
263 #define STB_DC 3
264 #define STB_NOISE 4
265 #define STB_ARBITRARY 5
266 
271 #define ST_UNKNOWN 0
272 
273 #define ST_SINE ( 1 << STB_SINE )
274 #define ST_TRIANGLE ( 1 << STB_TRIANGLE )
275 #define ST_SQUARE ( 1 << STB_SQUARE )
276 #define ST_DC ( 1 << STB_DC )
277 #define ST_NOISE ( 1 << STB_NOISE )
278 #define ST_ARBITRARY ( 1 << STB_ARBITRARY )
279 
285 #define STM_AMPLITUDE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
286 #define STM_OFFSET ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_DC | ST_NOISE | ST_ARBITRARY )
287 #define STM_FREQUENCY ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
288 #define STM_PHASE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
289 #define STM_SYMMETRY ( ST_SINE | ST_TRIANGLE | ST_SQUARE )
290 
301 #define TCN_COUNT 2
302 
303 
308 #define TCB_GREATER 0
309 #define TCB_LESS 1
310 
315 #define TC_UNKNOWN 0
316 
317 #define TC_GREATER ( 1 << TCB_GREATER )
318 #define TC_LESS ( 1 << TCB_LESS )
319 
325 #define TCM_NONE 0
326 #define TCM_ALL ( ( 1 << TCN_COUNT ) - 1 )
327 
328 
338 #define TH_ALLPRESAMPLES 0xffffffffffffffff
339 
340 
349 #define TKN_COUNT 9
350 
351 
356 #define TKB_RISING 0
357 #define TKB_FALLING 1
358 #define TKB_INWINDOW 2
359 #define TKB_OUTWINDOW 3
360 #define TKB_EDGE 4
361 #define TKB_DROPINWINDOW 5
362 #define TKB_DROPOUTWINDOW 6
363 #define TKB_PULSEWIDTHPOSITIVE 7
364 #define TKB_PULSEWIDTHNEGATIVE 8
365 
370 #define TK_UNKNOWN 0
371 #define TK_RISING ( 1ULL << TKB_RISING )
372 #define TK_FALLING ( 1ULL << TKB_FALLING )
373 #define TK_INWINDOW ( 1ULL << TKB_INWINDOW )
374 #define TK_OUTWINDOW ( 1ULL << TKB_OUTWINDOW )
375 #define TK_EDGE ( 1ULL << TKB_EDGE )
376 #define TK_DROPINWINDOW ( 1ULL << TKB_DROPINWINDOW )
377 #define TK_DROPOUTWINDOW ( 1ULL << TKB_DROPOUTWINDOW )
378 #define TK_PULSEWIDTHPOSITIVE ( 1ULL << TKB_PULSEWIDTHPOSITIVE )
379 #define TK_PULSEWIDTHNEGATIVE ( 1ULL << TKB_PULSEWIDTHNEGATIVE )
380 
381 
386 #define TKM_NONE 0
387 #define TKM_EDGE ( TK_RISING | TK_FALLING | TK_EDGE )
388 #define TKM_WINDOW ( TK_INWINDOW | TK_OUTWINDOW | TK_DROPINWINDOW | TK_DROPOUTWINDOW )
389 #define TKM_PULSEWIDTH ( TK_PULSEWIDTHPOSITIVE | TK_PULSEWIDTHNEGATIVE )
390 #define TKM_ALL ( ( 1ULL << TKN_COUNT ) - 1 )
391 
392 
402 #define TO_INFINITY -1
403 
404 
413 #define TOEN_COUNT 3
414 
415 
420 #define TOEB_GENERATOR_START 0
421 #define TOEB_GENERATOR_STOP 1
422 #define TOEB_GENERATOR_NEWPERIOD 2
423 
428 #define TOE_UNKNOWN 0
429 #define TOE_GENERATOR_START ( 1 << TOEB_GENERATOR_START )
430 #define TOE_GENERATOR_STOP ( 1 << TOEB_GENERATOR_STOP )
431 #define TOE_GENERATOR_NEWPERIOD ( 1 << TOEB_GENERATOR_NEWPERIOD )
432 
438 #define TOEM_NONE 0
439 #define TOEM_GENERATOR ( TOE_GENERATOR_START | TOE_GENERATOR_STOP | TOE_GENERATOR_NEWPERIOD )
440 #define TOEM_ALL ( ( 1ULL << TOEN_COUNT ) - 1 )
441 
442 
452 #define TSN_CHANNEL_COUNT 32
453 
454 #define TS_NONE 0x0000000000000000ULL
455 
456 #define TS_CH1 0x0000000000000001ULL
457 #define TS_CH2 0x0000000000000002ULL
458 #define TS_CH3 0x0000000000000004ULL
459 #define TS_CH4 0x0000000000000008ULL
460 #define TS_CH5 0x0000000000000010ULL
461 #define TS_CH6 0x0000000000000020ULL
462 #define TS_CH7 0x0000000000000040ULL
463 #define TS_CH8 0x0000000000000080ULL
464 #define TS_CH9 0x0000000000000100ULL
465 #define TS_CH10 0x0000000000000200ULL
466 #define TS_CH11 0x0000000000000400ULL
467 #define TS_CH12 0x0000000000000800ULL
468 #define TS_CH13 0x0000000000001000ULL
469 #define TS_CH14 0x0000000000002000ULL
470 #define TS_CH15 0x0000000000004000ULL
471 #define TS_CH16 0x0000000000008000ULL
472 #define TS_CH17 0x0000000000010000ULL
473 #define TS_CH18 0x0000000000020000ULL
474 #define TS_CH19 0x0000000000040000ULL
475 #define TS_CH20 0x0000000000080000ULL
476 #define TS_CH21 0x0000000000100000ULL
477 #define TS_CH22 0x0000000000200000ULL
478 #define TS_CH23 0x0000000000400000ULL
479 #define TS_CH24 0x0000000000800000ULL
480 #define TS_CH25 0x0000000001000000ULL
481 #define TS_CH26 0x0000000002000000ULL
482 #define TS_CH27 0x0000000004000000ULL
483 #define TS_CH28 0x0000000008000000ULL
484 #define TS_CH29 0x0000000010000000ULL
485 #define TS_CH30 0x0000000020000000ULL
486 #define TS_CH31 0x0000000040000000ULL
487 #define TS_CH32 0x0000000080000000ULL
488 
489 #define TS_GENSTOP 0x0400000000000000ULL
490 #define TS_GENNEW 0x0800000000000000ULL
491 #define TS_GENSTART 0x1000000000000000ULL
492 #define TS_EXT2 0x2000000000000000ULL
493 #define TS_EXTANALOG 0x4000000000000000ULL
494 #define TS_EXT 0x8000000000000000ULL
495 
496 
501 #define TSM_NONE 0x0000000000000000ULL
502 #define TSM_ALL 0xFFFFFFFFFFFFFFFFULL
503 #define TSM_CHANNELS ( ( 1ULL << TSN_CHANNEL_COUNT ) - 1 )
504 #define TSM_NONCHANNELS ( TSM_ALL - TSM_CHANNELS )
505 #define TSM_GENALL ( TS_GENSTART | TS_GENNEW | TS_GENSTOP )
506 
507 
517 #define PID_NONE 0
518 #define PID_COMBI 2
519 
520 #define PID_HS5 22
521 
522 
529 #ifdef INCLUDED_BY_MATLAB
530 typedef void* TpCallback_t;
531 #else
532 typedef void(*TpCallback_t)( void* pData );
533 #endif
534 
892 #define TPDEVICEHANDLE_INVALID 0
893 
894 
900 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
901 #define DEVICETYPE_GENERATOR 0x00000002
902 #define DEVICETYPE_I2CHOST 0x00000004
903 
904 
910 #define IDKIND_DEVICEID 0x00000001
911 #define IDKIND_INDEX 0x00000002
912 #define IDKIND_SERIALNUMBER 0x00000004
913 
914 
926 #define LIBTIEPIESTATUS_SUCCESS 0
927 #define LIBTIEPIESTATUS_VALUE_CLIPPED 1
928 #define LIBTIEPIESTATUS_VALUE_MODIFIED 2
929 #define LIBTIEPIESTATUS_UNSUCCESSFUL -1
930 #define LIBTIEPIESTATUS_NOT_SUPPORTED -2
931 #define LIBTIEPIESTATUS_INVALID_HANDLE -3
932 #define LIBTIEPIESTATUS_INVALID_VALUE -4
933 #define LIBTIEPIESTATUS_INVALID_CHANNEL -5
934 #define LIBTIEPIESTATUS_INVALID_TRIGGER_SOURCE -6
935 #define LIBTIEPIESTATUS_INVALID_DEVICE_TYPE -7
936 #define LIBTIEPIESTATUS_INVALID_DEVICE_INDEX -8
937 #define LIBTIEPIESTATUS_INVALID_DEVICE_ID -9
938 #define LIBTIEPIESTATUS_INVALID_DEVICE_SERIALNUMBER -10
939 #define LIBTIEPIESTATUS_DEVICE_GONE -11
940 #define LIBTIEPIESTATUS_INTERNAL_ADDRESS -12
941 #define LIBTIEPIESTATUS_NOT_CONTROLLABLE -13
942 #define LIBTIEPIESTATUS_BIT_ERROR -14
943 #define LIBTIEPIESTATUS_NO_ACKNOWLEDGE -15
944 #define LIBTIEPIESTATUS_INVALID_CONTAINED_DEVICE_SERIALNUMBER -16
945 #define LIBTIEPIESTATUS_INVALID_INPUT -17
946 #define LIBTIEPIESTATUS_INVALID_OUTPUT -18
947 
948 
954 #define CONNECTORTYPE_UNKNOWN 0x00000000
955 
956 #define CONNECTORTYPE_BNC 0x00000001
957 #define CONNECTORTYPE_BANANA 0x00000002
958 #define CONNECTORTYPE_POWERPLUG 0x00000004
959 
960 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA | CONNECTORTYPE_POWERPLUG )
961 
968 #define DATARAWTYPE_UNKNOWN 0x00000000
969 
970 #define DATARAWTYPE_INT8 0x00000001
971 #define DATARAWTYPE_INT16 0x00000002
972 #define DATARAWTYPE_INT32 0x00000004
973 #define DATARAWTYPE_INT64 0x00000008
974 
975 #define DATARAWTYPE_UINT8 0x00000010
976 #define DATARAWTYPE_UINT16 0x00000020
977 #define DATARAWTYPE_UINT32 0x00000040
978 #define DATARAWTYPE_UINT64 0x00000080
979 
980 #define DATARAWTYPE_FLOAT32 0x00000100
981 #define DATARAWTYPE_FLOAT64 0x00000200
982 
983 
988 #define DATARAWTYPE_MASK_INT ( DATARAWTYPE_INT8 | DATARAWTYPE_INT16 | DATARAWTYPE_INT32 | DATARAWTYPE_INT64 )
989 #define DATARAWTYPE_MASK_UINT ( DATARAWTYPE_UINT8 | DATARAWTYPE_UINT16 | DATARAWTYPE_UINT32 | DATARAWTYPE_UINT64 )
990 #define DATARAWTYPE_MASK_FLOAT ( DATARAWTYPE_FLOAT32 | DATARAWTYPE_FLOAT64 )
991 #define DATARAWTYPE_MASK_FIXED ( DATARAWTYPE_MASK_INT | DATARAWTYPE_MASK_UINT )
992 
1002 #define IDM_DEVICEID 0x80000000
1003 #define IDM_ALL 0xffffffff
1004 
1011 #define IDB_HS3 0
1012 #define IDB_HS4 1
1013 #define IDB_HS4D 2
1014 #define IDB_HS805 3
1015 #define IDB_HP3 4
1016 #define IDB_HS5 5
1017 #define IDB_HL0516 6
1018 #define IDB_PA1 7
1019 #define IDB_COMBI 8
1020 
1025 #define ID_HS3 ( IDM_DEVICEID | ( 1 << IDB_HS3 ) )
1026 #define ID_HS4 ( IDM_DEVICEID | ( 1 << IDB_HS4 ) )
1027 #define ID_HS4D ( IDM_DEVICEID | ( 1 << IDB_HS4D ) )
1028 #define ID_HS805 ( IDM_DEVICEID | ( 1 << IDB_HS805 ) )
1029 #define ID_HP3 ( IDM_DEVICEID | ( 1 << IDB_HP3 ) )
1030 #define ID_HS5 ( IDM_DEVICEID | ( 1 << IDB_HS5 ) )
1031 #define ID_HL0516 ( IDM_DEVICEID | ( 1 << IDB_HL0516 ) )
1032 #define ID_PA1 ( IDM_DEVICEID | ( 1 << IDB_PA1 ) )
1033 #define ID_COMBI ( IDM_DEVICEID | ( 1 << IDB_COMBI ) )
1034 
1035 
1041 #define BOOL8_FALSE 0
1042 #define BOOL8_TRUE 1
1043 
1050 #define LIBTIEPIE_TRISTATE_UNDEFINED 0
1051 #define LIBTIEPIE_TRISTATE_FALSE 1
1052 #define LIBTIEPIE_TRISTATE_TRUE 2
1053 
1054 
1061 typedef int32_t LibTiePieStatus_t;
1062 typedef uint32_t TpDeviceHandle_t;
1063 typedef uint64_t TpVersion_t;
1064 typedef uint32_t TpDate_t;
1065 typedef uint8_t bool8_t;
1066 typedef uint8_t LibTiePieTriState_t;
1067 typedef void** LibTiePiePointerArray_t;
1068 
1075 #define TPVERSION_MAJOR( x ) ( x >> 48 )
1076 #define TPVERSION_MINOR( x ) ( ( x >> 32 ) & 0xffff )
1077 #define TPVERSION_RELEASE( x ) ( ( x >> 16 ) & 0xffff )
1078 #define TPVERSION_BUILD( x ) ( x & 0xffff )
1079 
1080 #define TPDATE_YEAR( x ) ( x >> 16 )
1081 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
1082 #define TPDATE_DAY( x ) ( x & 0xff )
1083 
1084 
1088 #ifdef HAVE_WINDOWS_H
1089 
1095 #define WM_LIBTIEPIE ( WM_USER + 1337 )
1096 
1097 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
1098 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
1099 
1100 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
1101 
1102 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
1103 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
1104 #define WM_LIBTIEPIE_SCP_CONNECTIONTESTCOMPLETED ( WM_LIBTIEPIE + 7 )
1105 
1106 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
1107 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
1108 
1109 
1113 #endif
1114 
1122 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1123 
1140 TpVersion_t LibGetVersion( void );
1141 
1163 uint32_t LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
1164 
1176 LibTiePieStatus_t LibGetLastStatus( void );
1177 
1189 const char* LibGetLastStatusStr( void );
1190 
1197 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1198 
1204 uint32_t LstGetCount( void );
1205 
1214 bool8_t LstGetDeviceCanOpen( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1215 
1223 uint32_t LstGetDeviceProductId( uint32_t dwIdKind , uint32_t dwId );
1224 
1232 uint32_t LstGetDeviceVendorId( uint32_t dwIdKind , uint32_t dwId );
1233 
1255 uint32_t LstGetDeviceName( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1256 
1278 uint32_t LstGetDeviceNameShort( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1279 
1287 TpVersion_t LstDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId );
1288 
1296 TpVersion_t LstDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId );
1297 
1305 TpDate_t LstDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId );
1306 
1314 uint32_t LstGetDeviceSerialNumber( uint32_t dwIdKind , uint32_t dwId );
1315 
1338 uint32_t LstGetDeviceTypes( uint32_t dwIdKind , uint32_t dwId );
1339 
1352 TpDeviceHandle_t LstOpenDevice( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1353 
1365 TpDeviceHandle_t LstOpenOscilloscope( uint32_t dwIdKind , uint32_t dwId );
1366 
1378 TpDeviceHandle_t LstOpenGenerator( uint32_t dwIdKind , uint32_t dwId );
1379 
1390 TpDeviceHandle_t LstOpenI2CHost( uint32_t dwIdKind , uint32_t dwId );
1391 
1397 void LstRemoveDevice( uint32_t dwSerialNumber );
1398 
1414 void LstUpdate( uint32_t dwDeviceIdMask );
1415 
1421 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1422 
1444 uint32_t LstDevGetContainedSerialNumbers( uint32_t dwIdKind , uint32_t dwId , uint32_t* pBuffer , uint32_t dwBufferLength );
1445 
1454 uint32_t LstCbDevGetProductId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1455 
1464 uint32_t LstCbDevGetVendorId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1465 
1476 uint32_t LstCbDevGetName( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1477 
1488 uint32_t LstCbDevGetNameShort( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1489 
1498 TpVersion_t LstCbDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1499 
1508 TpVersion_t LstCbDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1509 
1518 TpDate_t LstCbDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1519 
1528 uint16_t LstCbScpGetChannelCount( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1529 
1536 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1537 
1544 void LstSetCallbackDeviceAdded( TpCallback_t pCallback , void* pData );
1545 
1552 void LstSetCallbackDeviceRemoved( TpCallback_t pCallback , void* pData );
1553 
1554 #ifdef __linux__
1555 
1562 void LstSetEventDeviceAdded( int fdEvent );
1563 
1570 void LstSetEventDeviceRemoved( int fdEvent );
1571 
1572 #endif
1573 
1574 #ifdef HAVE_WINDOWS_H
1575 
1582 void LstSetEventDeviceAdded( HANDLE hEvent );
1583 
1590 void LstSetEventDeviceRemoved( HANDLE hEvent );
1591 
1600 void LstSetMessageDeviceAdded( HWND hWnd );
1601 
1610 void LstSetMessageDeviceRemoved( HWND hWnd );
1611 
1612 #endif
1613 
1621 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1622 
1632 void DevClose( TpDeviceHandle_t hDevice );
1633 
1639 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1640 
1647 bool8_t DevIsRemoved( TpDeviceHandle_t hDevice );
1648 
1655 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1656 
1674 TpVersion_t DevGetDriverVersion( TpDeviceHandle_t hDevice );
1675 
1693 TpVersion_t DevGetFirmwareVersion( TpDeviceHandle_t hDevice );
1694 
1711 TpDate_t DevGetCalibrationDate( TpDeviceHandle_t hDevice );
1712 
1719 uint32_t DevGetSerialNumber( TpDeviceHandle_t hDevice );
1720 
1727 uint32_t DevGetProductId( TpDeviceHandle_t hDevice );
1728 
1735 uint32_t DevGetVendorId( TpDeviceHandle_t hDevice );
1736 
1743 uint32_t DevGetType( TpDeviceHandle_t hDevice );
1744 
1765 uint32_t DevGetName( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
1766 
1787 uint32_t DevGetNameShort( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
1788 
1797 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1798 
1806 void DevSetCallbackRemoved( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
1807 
1808 #ifdef __linux__
1809 
1817 void DevSetEventRemoved( TpDeviceHandle_t hDevice , int fdEvent );
1818 
1819 #endif
1820 
1821 #ifdef HAVE_WINDOWS_H
1822 
1830 void DevSetEventRemoved( TpDeviceHandle_t hDevice , HANDLE hEvent );
1831 
1841 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1842 
1843 #endif
1844 
1860 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1861 
1868 uint16_t DevTrGetInputCount( TpDeviceHandle_t hDevice );
1869 
1878 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1879 
1888 bool8_t DevTrInGetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput );
1889 
1899 bool8_t DevTrInSetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput , bool8_t bEnable );
1900 
1913 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1914 
1924 uint64_t DevTrInGetKinds( TpDeviceHandle_t hDevice , uint16_t wInput );
1925 
1935 uint64_t DevTrInGetKind( TpDeviceHandle_t hDevice , uint16_t wInput );
1936 
1947 uint64_t DevTrInSetKind( TpDeviceHandle_t hDevice , uint16_t wInput , uint64_t qwKind );
1948 
1959 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1960 
1970 uint32_t DevTrInGetName( TpDeviceHandle_t hDevice , uint16_t wInput , char* pBuffer , uint32_t dwBufferLength );
1971 
1980 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1981 
1988 uint16_t DevTrGetOutputCount( TpDeviceHandle_t hDevice );
1989 
1996 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1997 
2006 bool8_t DevTrOutGetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput );
2007 
2017 bool8_t DevTrOutSetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput , bool8_t bEnable );
2018 
2026 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2027 
2037 uint64_t DevTrOutGetEvents( TpDeviceHandle_t hDevice , uint16_t wOutput );
2038 
2048 uint64_t DevTrOutGetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput );
2049 
2060 uint64_t DevTrOutSetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput , uint64_t qwEvent );
2061 
2068 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2069 
2079 uint32_t DevTrOutGetName( TpDeviceHandle_t hDevice , uint16_t wOutput , char* pBuffer , uint32_t dwBufferLength );
2080 
2092 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2093 
2100 uint16_t ScpGetChannelCount( TpDeviceHandle_t hDevice );
2101 
2109 uint32_t ScpGetSharedChannelGroupCount( TpDeviceHandle_t hDevice );
2110 
2121 uint32_t ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
2122 
2128 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2129 
2137 uint32_t ScpChGetConnectorType( TpDeviceHandle_t hDevice , uint16_t wCh );
2138 
2146 bool8_t ScpChIsDifferential( TpDeviceHandle_t hDevice , uint16_t wCh );
2147 
2155 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2156 
2164 uint64_t ScpChGetCouplings( TpDeviceHandle_t hDevice , uint16_t wCh );
2165 
2173 uint64_t ScpChGetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh );
2174 
2183 uint64_t ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
2184 
2192 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2193 
2201 bool8_t ScpChGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
2202 
2211 bool8_t ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
2212 
2220 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2221 
2229 double ScpChGetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh );
2230 
2239 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
2240 
2248 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2249 
2257 bool8_t ScpChGetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh );
2258 
2267 bool8_t ScpChSetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
2268 
2294 uint32_t ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
2295 
2308 uint32_t ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
2310 
2318 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
2319 
2338 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
2339 
2347 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2348 
2356 bool8_t ScpChHasTrigger( TpDeviceHandle_t hDevice , uint16_t wCh );
2357 
2366 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2367 
2376 bool8_t ScpChTrGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
2377 
2387 bool8_t ScpChTrSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
2388 
2402 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2403 
2413 uint64_t ScpChTrGetKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
2414 
2424 uint64_t ScpChTrGetKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
2426 
2436 uint64_t ScpChTrGetKind( TpDeviceHandle_t hDevice , uint16_t wCh );
2437 
2448 uint64_t ScpChTrSetKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
2449 
2467 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2468 
2479 uint32_t ScpChTrGetLevelCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2480 
2489 double ScpChTrGetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2490 
2500 double ScpChTrSetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
2501 
2519 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2520 
2531 uint32_t ScpChTrGetHysteresisCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2532 
2541 double ScpChTrGetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2542 
2552 double ScpChTrSetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
2553 
2567 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2568 
2579 uint32_t ScpChTrGetConditions( TpDeviceHandle_t hDevice , uint16_t wCh );
2580 
2590 uint32_t ScpChTrGetCondition( TpDeviceHandle_t hDevice , uint16_t wCh );
2591 
2602 uint32_t ScpChTrSetCondition( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwCondition );
2603 
2617 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2618 
2633 uint32_t ScpChTrGetTimeCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2634 
2649 double ScpChTrGetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2650 
2666 double ScpChTrSetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
2667 
2669 
2683 double ScpChTrVerifyTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
2684 
2699 double ScpChTrVerifyTimeEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime , double dSampleFrequency );
2700 
2702 
2758 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2759 
2807 #ifdef INCLUDED_BY_MATLAB
2808 uint64_t ScpGetData( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2809 #else
2810 uint64_t ScpGetData( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2811 #endif
2812 
2822 uint64_t ScpGetData1Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2823 
2834 uint64_t ScpGetData2Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2835 
2847 uint64_t ScpGetData3Ch( TpDeviceHandle_t hDevice , float *pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2848 
2861 uint64_t ScpGetData4Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2862 
2875 uint64_t ScpGetValidPreSampleCount( TpDeviceHandle_t hDevice );
2876 
2887 void ScpChGetDataValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
2888 
2898 double ScpChGetDataValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
2899 
2909 double ScpChGetDataValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
2910 
2917 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2918 
2930 uint64_t ScpGetDataRaw( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2931 
2941 uint64_t ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2942 
2953 uint64_t ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2954 
2966 uint64_t ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2967 
2980 uint64_t ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2981 
2989 uint32_t ScpChGetDataRawType( TpDeviceHandle_t hDevice , uint16_t wCh );
2990 
3003 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
3004 
3015 int64_t ScpChGetDataRawValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
3016 
3027 int64_t ScpChGetDataRawValueZero( TpDeviceHandle_t hDevice , uint16_t wCh );
3028 
3039 int64_t ScpChGetDataRawValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
3040 
3048 bool8_t ScpChIsRangeMaxReachable( TpDeviceHandle_t hDevice , uint16_t wCh );
3049 
3060 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3061 
3069 void ScpSetCallbackDataReady( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
3070 
3077 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3078 
3086 void ScpSetCallbackDataOverflow( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
3087 
3094 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3095 
3103 void ScpSetCallbackConnectionTestCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
3104 
3109 #ifdef __linux__
3110 
3119 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , int fdEvent );
3120 
3129 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , int fdEvent );
3130 
3139 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , int fdEvent );
3140 
3141 #endif
3142 
3143 #ifdef HAVE_WINDOWS_H
3144 
3153 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , HANDLE hEvent );
3154 
3163 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , HANDLE hEvent );
3164 
3173 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
3174 
3185 void ScpSetMessageDataReady( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
3186 
3197 void ScpSetMessageDataOverflow( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
3198 
3209 void ScpSetMessageConnectionTestCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
3210 
3211 #endif
3212 
3224 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3225 
3234 bool8_t ScpStart( TpDeviceHandle_t hDevice );
3235 
3241 void ScpStop( TpDeviceHandle_t hDevice );
3242 
3252 void ScpForceTrigger( TpDeviceHandle_t hDevice );
3253 
3289 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3290 
3297 uint32_t ScpGetMeasureModes( TpDeviceHandle_t hDevice );
3298 
3305 uint32_t ScpGetMeasureMode( TpDeviceHandle_t hDevice );
3306 
3314 uint32_t ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
3315 
3323 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3324 
3331 bool8_t ScpIsRunning( TpDeviceHandle_t hDevice );
3332 
3341 bool8_t ScpIsTriggered( TpDeviceHandle_t hDevice );
3342 
3357 bool8_t ScpIsDataReady( TpDeviceHandle_t hDevice );
3358 
3370 bool8_t ScpIsDataOverflow( TpDeviceHandle_t hDevice );
3371 
3390 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3391 
3415 uint32_t ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t* pList , uint32_t dwLength );
3416 
3423 uint8_t ScpGetResolution( TpDeviceHandle_t hDevice );
3424 
3432 uint8_t ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
3433 
3440 bool8_t ScpIsResolutionEnhanced( TpDeviceHandle_t hDevice );
3441 
3450 bool8_t ScpIsResolutionEnhancedEx( TpDeviceHandle_t hDevice , uint8_t byResolution );
3452 
3462 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3463 
3470 uint32_t ScpGetClockSources( TpDeviceHandle_t hDevice );
3471 
3478 uint32_t ScpGetClockSource( TpDeviceHandle_t hDevice );
3479 
3487 uint32_t ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
3488 
3496 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3497 
3504 uint32_t ScpGetClockOutputs( TpDeviceHandle_t hDevice );
3505 
3512 uint32_t ScpGetClockOutput( TpDeviceHandle_t hDevice );
3513 
3521 uint32_t ScpSetClockOutput( TpDeviceHandle_t hDevice , uint32_t dwClockOutput );
3522 
3546 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3547 
3554 double ScpGetPreSampleRatio( TpDeviceHandle_t hDevice );
3555 
3563 double ScpSetPreSampleRatio( TpDeviceHandle_t hDevice , double dPreSampleRatio );
3564 
3581 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3582 
3589 uint64_t ScpGetTriggerHoldOffCountMax( TpDeviceHandle_t hDevice );
3590 
3599 uint64_t ScpGetTriggerHoldOffCountMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
3601 
3608 uint64_t ScpGetTriggerHoldOffCount( TpDeviceHandle_t hDevice );
3609 
3617 uint64_t ScpSetTriggerHoldOffCount( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
3618 
3635 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3636 
3643 uint64_t ScpGetRecordLengthMax( TpDeviceHandle_t hDevice );
3644 
3654 uint64_t ScpGetRecordLengthMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
3656 
3663 uint64_t ScpGetRecordLength( TpDeviceHandle_t hDevice );
3664 
3672 uint64_t ScpSetRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
3673 
3675 
3683 uint64_t ScpVerifyRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
3684 
3695 uint64_t ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
3696 
3698 
3715 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3716 
3723 double ScpGetSampleFrequencyMax( TpDeviceHandle_t hDevice );
3724 
3731 double ScpGetSampleFrequency( TpDeviceHandle_t hDevice );
3732 
3740 double ScpSetSampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
3741 
3743 
3751 double ScpVerifySampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
3752 
3763 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
3764 
3766 
3797 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3798 
3805 double ScpGetTriggerTimeOut( TpDeviceHandle_t hDevice );
3806 
3814 double ScpSetTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
3815 
3817 
3825 double ScpVerifyTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
3826 
3828 
3837 uint64_t ScpGetTriggerSources( TpDeviceHandle_t hDevice );
3838 
3848 uint64_t ScpGetTriggerSourcesEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
3850 
3858 uint64_t ScpGetTriggerSourceOR( TpDeviceHandle_t hDevice );
3859 
3868 uint64_t ScpSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3869 
3877 uint64_t ScpGetTriggerSourceAND( TpDeviceHandle_t hDevice );
3878 
3887 uint64_t ScpSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3888 
3900 uint64_t ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3901 
3915 uint64_t ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
3917 
3926 uint64_t ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
3927 
3937 uint64_t ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
3938 
3948 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
3949 
3960 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
3961 
3971 double ScpGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
3972 
3983 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
3984 
3993 uint64_t ScpChGetTriggerKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
3994 
4005 uint64_t ScpChGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
4007 
4016 uint64_t ScpChGetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh );
4017 
4027 uint64_t ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
4028 
4038 double ScpChGetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
4039 
4050 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
4051 
4061 double ScpChGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
4062 
4073 double ScpChSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
4074 
4083 double ScpChGetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh );
4084 
4094 double ScpChSetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
4095 
4102 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4103 
4110 bool8_t ScpHasConnectionTest( TpDeviceHandle_t hDevice );
4111 
4119 bool8_t ScpChHasConnectionTest( TpDeviceHandle_t hDevice , uint16_t wCh );
4120 
4128 bool8_t ScpStartConnectionTest( TpDeviceHandle_t hDevice , uint64_t qwChannelMask );
4129 
4136 bool8_t ScpIsConnectionTestCompleted( TpDeviceHandle_t hDevice );
4137 
4146 uint16_t ScpGetConnectionTestData( TpDeviceHandle_t hDevice , LibTiePieTriState_t* pBuffer , uint16_t wChannelCount );
4147 
4157 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4158 
4165 uint32_t GenGetConnectorType( TpDeviceHandle_t hDevice );
4166 
4173 bool8_t GenIsDifferential( TpDeviceHandle_t hDevice );
4174 
4181 double GenGetImpedance( TpDeviceHandle_t hDevice );
4182 
4189 uint8_t GenGetResolution( TpDeviceHandle_t hDevice );
4190 
4197 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4198 
4205 bool8_t GenIsControllable( TpDeviceHandle_t hDevice );
4206 
4213 bool8_t GenGetOutputOn( TpDeviceHandle_t hDevice );
4214 
4222 bool8_t GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
4223 
4229 void GenStart( TpDeviceHandle_t hDevice );
4230 
4236 void GenStop( TpDeviceHandle_t hDevice );
4237 
4245 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4246 
4253 bool8_t GenIsBurstActive( TpDeviceHandle_t hDevice );
4254 
4261 uint64_t GenGetBurstCount( TpDeviceHandle_t hDevice );
4262 
4269 uint64_t GenGetBurstCountMax( TpDeviceHandle_t hDevice );
4270 
4278 uint64_t GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
4279 
4286 uint64_t GenGetBurstModes( TpDeviceHandle_t hDevice );
4287 
4294 uint64_t GenGetBurstMode( TpDeviceHandle_t hDevice );
4295 
4303 uint64_t GenSetBurstMode( TpDeviceHandle_t hDevice , uint64_t qwBurstMode );
4304 
4312 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4313 
4320 uint32_t GenGetSignalTypes( TpDeviceHandle_t hDevice );
4321 
4328 uint32_t GenGetSignalType( TpDeviceHandle_t hDevice );
4329 
4337 uint32_t GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
4338 
4346 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4347 
4354 double GenGetAmplitudeMax( TpDeviceHandle_t hDevice );
4355 
4362 double GenGetAmplitudeMin( TpDeviceHandle_t hDevice );
4363 
4370 double GenGetAmplitude( TpDeviceHandle_t hDevice );
4371 
4379 double GenSetAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
4380 
4382 
4390 double GenVerifyAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
4391 
4393 
4400 bool8_t GenGetAmplitudeAutoRanging( TpDeviceHandle_t hDevice );
4401 
4409 bool8_t GenSetAmplitudeAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
4410 
4433 uint32_t GenGetAmplitudeRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
4434 
4441 double GenGetAmplitudeRange( TpDeviceHandle_t hDevice );
4442 
4459 double GenSetAmplitudeRange( TpDeviceHandle_t hDevice , double dRange );
4460 
4468 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4469 
4478 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , double* pMin , double* pMax );
4479 
4486 double GenGetFrequencyMin( TpDeviceHandle_t hDevice );
4487 
4494 double GenGetFrequencyMax( TpDeviceHandle_t hDevice );
4495 
4502 double GenGetFrequency( TpDeviceHandle_t hDevice );
4503 
4511 double GenSetFrequency( TpDeviceHandle_t hDevice , double dFrequency );
4512 
4514 
4522 double GenVerifyFrequency( TpDeviceHandle_t hDevice , double dFrequency );
4523 
4532 double GenVerifyFrequencyEx( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode );
4533 
4535 
4542 uint32_t GenGetFrequencyModes( TpDeviceHandle_t hDevice );
4543 
4552 uint32_t GenGetFrequencyModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
4554 
4561 uint32_t GenGetFrequencyMode( TpDeviceHandle_t hDevice );
4562 
4570 uint32_t GenSetFrequencyMode( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode );
4571 
4579 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4580 
4587 double GenGetOffsetMin( TpDeviceHandle_t hDevice );
4588 
4595 double GenGetOffsetMax( TpDeviceHandle_t hDevice );
4596 
4603 double GenGetOffset( TpDeviceHandle_t hDevice );
4604 
4612 double GenSetOffset( TpDeviceHandle_t hDevice , double dOffset );
4613 
4615 
4623 double GenVerifyOffset( TpDeviceHandle_t hDevice , double dOffset );
4624 
4626 
4634 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4635 
4642 double GenGetPhase( TpDeviceHandle_t hDevice );
4643 
4651 double GenSetPhase( TpDeviceHandle_t hDevice , double dPhase );
4652 
4654 
4662 double GenVerifyPhase( TpDeviceHandle_t hDevice , double dPhase );
4663 
4665 
4673 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4674 
4681 double GenGetSymmetry( TpDeviceHandle_t hDevice );
4682 
4690 double GenSetSymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
4691 
4693 
4701 double GenVerifySymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
4702 
4704 
4711 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4712 
4719 uint64_t GenGetDataLengthMin( TpDeviceHandle_t hDevice );
4720 
4727 uint64_t GenGetDataLengthMax( TpDeviceHandle_t hDevice );
4728 
4735 uint64_t GenGetDataLength( TpDeviceHandle_t hDevice );
4736 
4738 
4746 uint64_t GenVerifyDataLength( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
4747 
4749 
4757 uint32_t GenGetDataRawType( TpDeviceHandle_t hDevice );
4758 
4766 void GenSetData( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
4767 
4776 void GenSetDataRaw( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
4777 
4786 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4787 
4795 void GenSetCallbackBurstCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4796 
4803 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4804 
4812 void GenSetCallbackControllableChanged( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4813 
4818 #ifdef __linux__
4819 
4828 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , int fdEvent );
4829 
4838 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , int fdEvent );
4839 
4840 #endif
4841 
4842 #ifdef HAVE_WINDOWS_H
4843 
4852 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
4853 
4862 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , HANDLE hEvent );
4863 
4874 void GenSetMessageBurstCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4875 
4886 void GenSetMessageControllableChanged( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4887 
4888 #endif
4889 
4896 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4897 
4905 uint32_t GenGetModes( TpDeviceHandle_t hDevice );
4906 
4916 uint32_t GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
4918 
4926 uint32_t GenGetMode( TpDeviceHandle_t hDevice );
4927 
4936 uint32_t GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
4937 
4945 bool8_t GenGetAutoRanging( TpDeviceHandle_t hDevice );
4946 
4955 bool8_t GenSetAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
4956 
4966 uint32_t GenGetRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
4967 
4975 double GenGetRange( TpDeviceHandle_t hDevice );
4976 
4994 double GenSetRange( TpDeviceHandle_t hDevice , double dRange );
4995 
5003 uint64_t GenGetTriggerSources( TpDeviceHandle_t hDevice );
5004 
5012 uint64_t GenGetTriggerSourceAND( TpDeviceHandle_t hDevice );
5013 
5022 uint64_t GenSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5023 
5031 uint64_t GenGetTriggerSourceOR( TpDeviceHandle_t hDevice );
5032 
5041 uint64_t GenSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5042 
5050 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5051 
5059 bool8_t I2CIsInternalAddress( TpDeviceHandle_t hDevice , uint16_t wAddress );
5060 
5066 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5067 
5078 bool8_t I2CRead( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
5079 
5088 bool8_t I2CReadByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
5089 
5098 bool8_t I2CReadWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
5099 
5106 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5107 
5118 bool8_t I2CWrite( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
5119 
5128 bool8_t I2CWriteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
5129 
5139 bool8_t I2CWriteByteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
5140 
5150 bool8_t I2CWriteByteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
5151 
5160 bool8_t I2CWriteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
5161 
5168 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5169 
5176 double I2CGetSpeed( TpDeviceHandle_t hDevice );
5177 
5184 double I2CGetSpeedMax( TpDeviceHandle_t hDevice );
5185 
5193 double I2CSetSpeed( TpDeviceHandle_t hDevice , double dSpeed );
5194 
5196 
5204 double I2CVerifySpeed( TpDeviceHandle_t hDevice , double dSpeed );
5205 
5207 
5238 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5239 
5247 LibTiePiePointerArray_t HlpPointerArrayNew( uint32_t dwLength );
5248 
5254 void HlpPointerArrayDelete( LibTiePiePointerArray_t pArray );
5255 
5263 void HlpPointerArraySet( LibTiePiePointerArray_t pArray , uint32_t dwIndex , void* pPointer );
5264 
5271 #ifdef __cplusplus
5272 }
5273 #endif
5274 
5275 #endif