LibTiePie  0.4.1
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 
47 #define BMN_COUNT 3
48 
49 
54 #define BMB_DISABLED 0
55 #define BMB_COUNT 1
56 #define BMB_GATED_PERIODS 2
57 
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 
76 #define BMM_NONE 0x0000000000000000ULL
77 #define BMM_ALL ( ( 1ULL << BMN_COUNT ) - 1 )
78 
86 #define CKN_COUNT 5
87 
88 
93 #define CKB_DCV 0
94 #define CKB_ACV 1
95 #define CKB_DCA 2
96 #define CKB_ACA 3
97 #define CKB_OHM 4
98 
99 
105 #define CK_UNKNOWN 0x0000000000000000
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 
119 #define CKM_V ( CK_DCV | CK_ACV )
120 #define CKM_A ( CK_DCA | CK_ACA )
121 #define CKM_OHM ( CK_OHM )
122 
123 #define CKM_ASYMMETRICRANGE ( CKM_OHM )
124 #define CKM_SYMMETRICRANGE ( CKM_V | CKM_A )
125 
126 
133 #define CON_COUNT 2
134 
135 
140 #define COB_SAMPLE 0
141 #define COB_10MHZ 1
142 
143 
149 #define CO_NONE 0
150 #define CO_SAMPLE ( 1 << COB_SAMPLE )
151 #define CO_10MHZ ( 1 << COB_10MHZ )
152 
153 
160 #define CSN_COUNT 2
161 
162 
167 #define CSB_EXTERNAL 0
168 #define CSB_INTERNAL 1
169 
170 
176 #define CS_EXTERNAL ( 1 << CSB_EXTERNAL )
177 #define CS_INTERNAL ( 1 << CSB_INTERNAL )
178 
179 
186 #define FMN_COUNT 2
187 
188 
193 #define FMB_SIGNALFREQUENCY 0
194 #define FMB_SAMPLEFREQUENCY 1
195 
202 #define FM_UNKNOWN 0x00000000
203 
204 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
205 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
206 
213 #define FMM_NONE 0x00000000
214 #define FMM_ALL ( ( 1 << FMN_COUNT ) - 1 )
215 
223 #define MMN_COUNT 2
224 
225 
230 #define MMB_STREAM 0
231 #define MMB_BLOCK 1
232 
233 
239 #define MM_UNKNOWN 0x00000000
240 
241 #define MM_STREAM ( 1 << MMB_STREAM )
242 #define MM_BLOCK ( 1 << MMB_BLOCK )
243 
244 
251 #define STN_COUNT 6
252 
253 
258 #define STB_SINE 0
259 #define STB_TRIANGLE 1
260 #define STB_SQUARE 2
261 #define STB_DC 3
262 #define STB_NOISE 4
263 #define STB_ARBITRARY 5
264 
271 #define ST_UNKNOWN 0x0000000000000000
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 
286 #define STM_AMPLITUDE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
287 #define STM_OFFSET ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_DC | ST_NOISE | ST_ARBITRARY )
288 #define STM_FREQUENCY ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
289 #define STM_PHASE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
290 #define STM_SYMMETRY ( ST_SINE | ST_TRIANGLE | ST_SQUARE )
291 
299 #define TCN_COUNT 2
300 
301 
306 #define TCB_GREATER 0
307 #define TCB_LESS 1
308 
315 #define TC_UNKNOWN 0
316 #define TC_GREATER ( 1 << TCB_GREATER )
317 #define TC_LESS ( 1 << TCB_LESS )
318 
325 #define TCM_NONE 0
326 #define TCM_ALL ( ( 1 << TCN_COUNT ) - 1 )
327 
328 
337 #define TH_ALLPRESAMPLES 0xffffffffffffffff
338 
339 
346 #define TKN_COUNT 9
347 
348 
353 #define TKB_RISING 0
354 #define TKB_FALLING 1
355 #define TKB_INWINDOW 2
356 #define TKB_OUTWINDOW 3
357 #define TKB_EDGE 4
358 #define TKB_DROPINWINDOW 5
359 #define TKB_DROPOUTWINDOW 6
360 #define TKB_PULSEWIDTHPOSITIVE 7
361 #define TKB_PULSEWIDTHNEGATIVE 8
362 
369 #define TK_UNKNOWN 0
370 #define TK_RISING ( 1ULL << TKB_RISING )
371 #define TK_FALLING ( 1ULL << TKB_FALLING )
372 #define TK_INWINDOW ( 1ULL << TKB_INWINDOW )
373 #define TK_OUTWINDOW ( 1ULL << TKB_OUTWINDOW )
374 #define TK_EDGE ( 1ULL << TKB_EDGE )
375 #define TK_DROPINWINDOW ( 1ULL << TKB_DROPINWINDOW )
376 #define TK_DROPOUTWINDOW ( 1ULL << TKB_DROPOUTWINDOW )
377 #define TK_PULSEWIDTHPOSITIVE ( 1ULL << TKB_PULSEWIDTHPOSITIVE )
378 #define TK_PULSEWIDTHNEGATIVE ( 1ULL << TKB_PULSEWIDTHNEGATIVE )
379 
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 
401 #define TO_INFINITY -1
402 
403 
410 #define TOEN_COUNT 3
411 
412 
417 #define TOEB_GENERATOR_START 0
418 #define TOEB_GENERATOR_STOP 1
419 #define TOEB_GENERATOR_NEWPERIOD 2
420 
427 #define TOE_UNKNOWN 0
428 #define TOE_GENERATOR_START ( 1 << TOEB_GENERATOR_START )
429 #define TOE_GENERATOR_STOP ( 1 << TOEB_GENERATOR_STOP )
430 #define TOE_GENERATOR_NEWPERIOD ( 1 << TOEB_GENERATOR_NEWPERIOD )
431 
438 #define TOEM_NONE 0x0000000000000000ULL
439 #define TOEM_GENERATOR ( TOE_GENERATOR_START | TOE_GENERATOR_STOP | TOE_GENERATOR_NEWPERIOD )
440 #define TOEM_ALL ( ( 1ULL << TOEN_COUNT ) - 1 )
441 
442 
451 #define TS_NONE 0x0000000000000000ULL
452 
453 #define TS_CH1 0x0000000000000001ULL
454 #define TS_CH2 0x0000000000000002ULL
455 #define TS_CH3 0x0000000000000004ULL
456 #define TS_CH4 0x0000000000000008ULL
457 #define TS_CH5 0x0000000000000010ULL
458 #define TS_CH6 0x0000000000000020ULL
459 #define TS_CH7 0x0000000000000040ULL
460 #define TS_CH8 0x0000000000000080ULL
461 #define TS_CH9 0x0000000000000100ULL
462 #define TS_CH10 0x0000000000000200ULL
463 #define TS_CH11 0x0000000000000400ULL
464 #define TS_CH12 0x0000000000000800ULL
465 #define TS_CH13 0x0000000000001000ULL
466 #define TS_CH14 0x0000000000002000ULL
467 #define TS_CH15 0x0000000000004000ULL
468 #define TS_CH16 0x0000000000008000ULL
469 #define TS_CH17 0x0000000000010000ULL
470 #define TS_CH18 0x0000000000020000ULL
471 #define TS_CH19 0x0000000000040000ULL
472 #define TS_CH20 0x0000000000080000ULL
473 #define TS_CH21 0x0000000000100000ULL
474 #define TS_CH22 0x0000000000200000ULL
475 #define TS_CH23 0x0000000000400000ULL
476 #define TS_CH24 0x0000000000800000ULL
477 #define TS_CH25 0x0000000001000000ULL
478 #define TS_CH26 0x0000000002000000ULL
479 #define TS_CH27 0x0000000004000000ULL
480 #define TS_CH28 0x0000000008000000ULL
481 #define TS_CH29 0x0000000010000000ULL
482 #define TS_CH30 0x0000000020000000ULL
483 #define TS_CH31 0x0000000040000000ULL
484 #define TS_CH32 0x0000000080000000ULL
485 
486 #define TS_GENSTOP 0x0400000000000000ULL
487 #define TS_GENNEW 0x0800000000000000ULL
488 #define TS_GENSTART 0x1000000000000000ULL
489 #define TS_EXT2 0x2000000000000000ULL
490 #define TS_EXTANALOG 0x4000000000000000ULL
491 #define TS_EXT 0x8000000000000000ULL
492 
493 
497 #define TSN_CHANNEL_COUNT 32
498 
499 
504 #define TSM_NONE 0x0000000000000000ULL
505 #define TSM_ALL 0xFFFFFFFFFFFFFFFFULL
506 #define TSM_CHANNELS ( ( 1ULL << TSN_CHANNEL_COUNT ) - 1 )
507 #define TSM_NONCHANNELS ( TSM_ALL - TSM_CHANNELS )
508 #define TSM_GENALL ( TS_GENSTART | TS_GENNEW | TS_GENSTOP )
509 
510 
517 #ifdef INCLUDED_BY_MATLAB
518 typedef void* TpCallback_t;
519 #else
520 typedef void(*TpCallback_t)( void* pData );
521 #endif
522 
631 #define TPDEVICEHANDLE_INVALID 0
632 
633 
639 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
640 #define DEVICETYPE_GENERATOR 0x00000002
641 #define DEVICETYPE_I2CHOST 0x00000004
642 
643 
649 #define IDKIND_DEVICEID 0x00000001
650 #define IDKIND_INDEX 0x00000002
651 #define IDKIND_SERIALNUMBER 0x00000004
652 
653 
663 #define LIBTIEPIESTATUS_SUCCESS 0
664 #define LIBTIEPIESTATUS_VALUE_CLIPPED 1
665 #define LIBTIEPIESTATUS_VALUE_MODIFIED 2
666 #define LIBTIEPIESTATUS_UNSUCCESSFUL -1
667 #define LIBTIEPIESTATUS_NOT_SUPPORTED -2
668 #define LIBTIEPIESTATUS_INVALID_HANDLE -3
669 #define LIBTIEPIESTATUS_INVALID_VALUE -4
670 #define LIBTIEPIESTATUS_INVALID_CHANNEL -5
671 #define LIBTIEPIESTATUS_INVALID_TRIGGER_SOURCE -6
672 #define LIBTIEPIESTATUS_INVALID_DEVICE_TYPE -7
673 #define LIBTIEPIESTATUS_INVALID_DEVICE_INDEX -8
674 #define LIBTIEPIESTATUS_INVALID_DEVICE_ID -9
675 #define LIBTIEPIESTATUS_INVALID_DEVICE_SERIALNUMBER -10
676 #define LIBTIEPIESTATUS_DEVICE_GONE -11
677 #define LIBTIEPIESTATUS_INTERNAL_ADDRESS -12
678 #define LIBTIEPIESTATUS_NOT_CONTROLLABLE -13
679 #define LIBTIEPIESTATUS_BIT_ERROR -14
680 #define LIBTIEPIESTATUS_NO_ACKNOWLEDGE -15
681 #define LIBTIEPIESTATUS_INVALID_CONTAINED_DEVICE_SERIALNUMBER -16
682 #define LIBTIEPIESTATUS_INVALID_INPUT -17
683 #define LIBTIEPIESTATUS_INVALID_OUTPUT -18
684 
685 
691 #define CONNECTORTYPE_UNKNOWN 0x00000000
692 
693 #define CONNECTORTYPE_BNC 0x00000001
694 #define CONNECTORTYPE_BANANA 0x00000002
695 #define CONNECTORTYPE_POWERPLUG 0x00000004
696 
697 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA | CONNECTORTYPE_POWERPLUG )
698 
705 #define DATARAWTYPE_UNKNOWN 0x00000000
706 
707 #define DATARAWTYPE_INT8 0x00000001
708 #define DATARAWTYPE_INT16 0x00000002
709 #define DATARAWTYPE_INT32 0x00000004
710 #define DATARAWTYPE_INT64 0x00000008
711 
712 #define DATARAWTYPE_UINT8 0x00000010
713 #define DATARAWTYPE_UINT16 0x00000020
714 #define DATARAWTYPE_UINT32 0x00000040
715 #define DATARAWTYPE_UINT64 0x00000080
716 
717 #define DATARAWTYPE_FLOAT32 0x00000100
718 #define DATARAWTYPE_FLOAT64 0x00000200
719 
726 #define IDM_DEVICEID 0x80000000
727 #define IDM_ALL 0xffffffff
728 
735 #define IDB_HS3 0
736 #define IDB_HS4 1
737 #define IDB_HS4D 2
738 #define IDB_HS805 3
739 #define IDB_HP3 4
740 #define IDB_HS5 5
741 #define IDB_HL0516 6
742 #define IDB_PA1 7
743 #define IDB_COMBI 8
744 
751 #define ID_HS3 ( IDM_DEVICEID | ( 1 << IDB_HS3 ) )
752 #define ID_HS4 ( IDM_DEVICEID | ( 1 << IDB_HS4 ) )
753 #define ID_HS4D ( IDM_DEVICEID | ( 1 << IDB_HS4D ) )
754 #define ID_HS805 ( IDM_DEVICEID | ( 1 << IDB_HS805 ) )
755 #define ID_HP3 ( IDM_DEVICEID | ( 1 << IDB_HP3 ) )
756 #define ID_HS5 ( IDM_DEVICEID | ( 1 << IDB_HS5 ) )
757 #define ID_HL0516 ( IDM_DEVICEID | ( 1 << IDB_HL0516 ) )
758 #define ID_PA1 ( IDM_DEVICEID | ( 1 << IDB_PA1 ) )
759 #define ID_COMBI ( IDM_DEVICEID | ( 1 << IDB_COMBI ) )
760 
761 
767 #define BOOL8_FALSE 0
768 #define BOOL8_TRUE 1
769 
776 #define LIBTIEPIE_TRISTATE_UNDEFINED 0
777 #define LIBTIEPIE_TRISTATE_FALSE 1
778 #define LIBTIEPIE_TRISTATE_TRUE 2
779 
780 
787 typedef int32_t LibTiePieStatus_t;
788 typedef uint32_t TpDeviceHandle_t;
789 typedef uint64_t TpVersion_t;
790 typedef uint32_t TpDate_t;
791 typedef uint8_t bool8_t;
792 typedef uint8_t LibTiePieTriState_t;
793 typedef void** LibTiePiePointerArray_t;
794 
801 #define TPVERSION_MAJOR( x ) ( x >> 48 )
802 #define TPVERSION_MINOR( x ) ( ( x >> 32 ) & 0xffff )
803 #define TPVERSION_RELEASE( x ) ( ( x >> 16 ) & 0xffff )
804 #define TPVERSION_BUILD( x ) ( x & 0xffff )
805 
806 #define TPDATE_YEAR( x ) ( x >> 16 )
807 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
808 #define TPDATE_DAY( x ) ( x & 0xff )
809 
810 
814 #ifdef HAVE_WINDOWS_H
815 
821 #define WM_LIBTIEPIE ( WM_USER + 1337 )
822 
823 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
824 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
825 
826 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
827 
828 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
829 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
830 #define WM_LIBTIEPIE_SCP_CONNECTIONTESTCOMPLETED ( WM_LIBTIEPIE + 7 )
831 
832 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
833 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
834 
835 
839 #endif
840 
848 // Workaround: Without this line Doxygen adds the documentation below to the group above.
849 
866 TpVersion_t LibGetVersion();
867 
887 uint32_t LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
888 
900 LibTiePieStatus_t LibGetLastStatus();
901 
913 const char* LibGetLastStatusStr();
914 
921 // Workaround: Without this line Doxygen adds the documentation below to the group above.
922 
928 uint32_t LstGetCount();
929 
938 bool8_t LstGetDeviceCanOpen( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
939 
947 uint32_t LstGetDeviceProductId( uint32_t dwIdKind , uint32_t dwId );
948 
956 uint32_t LstGetDeviceVendorId( uint32_t dwIdKind , uint32_t dwId );
957 
977 uint32_t LstGetDeviceName( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
978 
998 uint32_t LstGetDeviceNameShort( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
999 
1007 TpVersion_t LstDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId );
1008 
1016 TpVersion_t LstDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId );
1017 
1025 TpDate_t LstDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId );
1026 
1034 uint32_t LstGetDeviceSerialNumber( uint32_t dwIdKind , uint32_t dwId );
1035 
1058 uint32_t LstGetDeviceTypes( uint32_t dwIdKind , uint32_t dwId );
1059 
1072 TpDeviceHandle_t LstOpenDevice( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1073 
1085 TpDeviceHandle_t LstOpenOscilloscope( uint32_t dwIdKind , uint32_t dwId );
1086 
1098 TpDeviceHandle_t LstOpenGenerator( uint32_t dwIdKind , uint32_t dwId );
1099 
1110 TpDeviceHandle_t LstOpenI2CHost( uint32_t dwIdKind , uint32_t dwId );
1111 
1117 void LstRemoveDevice( uint32_t dwSerialNumber );
1118 
1134 void LstUpdate( uint32_t dwDeviceIdMask );
1135 
1141 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1142 
1162 uint32_t LstDevGetContainedSerialNumbers( uint32_t dwIdKind , uint32_t dwId , uint32_t* pBuffer , uint32_t dwBufferLength );
1163 
1172 uint32_t LstCbDevGetProductId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1173 
1182 uint32_t LstCbDevGetVendorId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1183 
1194 uint32_t LstCbDevGetName( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1195 
1206 uint32_t LstCbDevGetNameShort( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1207 
1216 TpVersion_t LstCbDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1217 
1226 TpVersion_t LstCbDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1227 
1236 TpDate_t LstCbDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1237 
1246 uint16_t LstCbScpGetChannelCount( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1247 
1254 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1255 
1262 void LstSetCallbackDeviceAdded( TpCallback_t pCallback , void* pData );
1263 
1270 void LstSetCallbackDeviceRemoved( TpCallback_t pCallback , void* pData );
1271 
1272 #ifdef __linux__
1273 
1280 void LstSetEventDeviceAdded( int fdEvent );
1281 
1288 void LstSetEventDeviceRemoved( int fdEvent );
1289 
1290 #endif
1291 
1292 #ifdef HAVE_WINDOWS_H
1293 
1300 void LstSetEventDeviceAdded( HANDLE hEvent );
1301 
1308 void LstSetEventDeviceRemoved( HANDLE hEvent );
1309 
1318 void LstSetMessageDeviceAdded( HWND hWnd );
1319 
1328 void LstSetMessageDeviceRemoved( HWND hWnd );
1329 
1330 #endif
1331 
1339 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1340 
1350 void DevClose( TpDeviceHandle_t hDevice );
1351 
1357 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1358 
1365 bool8_t DevIsRemoved( TpDeviceHandle_t hDevice );
1366 
1373 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1374 
1392 TpVersion_t DevGetDriverVersion( TpDeviceHandle_t hDevice );
1393 
1411 TpVersion_t DevGetFirmwareVersion( TpDeviceHandle_t hDevice );
1412 
1429 TpDate_t DevGetCalibrationDate( TpDeviceHandle_t hDevice );
1430 
1437 uint32_t DevGetSerialNumber( TpDeviceHandle_t hDevice );
1438 
1445 uint32_t DevGetProductId( TpDeviceHandle_t hDevice );
1446 
1453 uint32_t DevGetVendorId( TpDeviceHandle_t hDevice );
1454 
1461 uint32_t DevGetType( TpDeviceHandle_t hDevice );
1462 
1481 uint32_t DevGetName( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
1482 
1501 uint32_t DevGetNameShort( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
1502 
1511 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1512 
1520 void DevSetCallbackRemoved( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
1521 
1522 #ifdef __linux__
1523 
1531 void DevSetEventRemoved( TpDeviceHandle_t hDevice , int fdEvent );
1532 
1533 #endif
1534 
1535 #ifdef HAVE_WINDOWS_H
1536 
1544 void DevSetEventRemoved( TpDeviceHandle_t hDevice , HANDLE hEvent );
1545 
1555 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1556 
1557 #endif
1558 
1568 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1569 
1576 uint16_t DevTrGetInputCount( TpDeviceHandle_t hDevice );
1577 
1583 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1584 
1593 bool8_t DevTrInGetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput );
1594 
1604 bool8_t DevTrInSetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput , bool8_t bEnable );
1605 
1612 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1613 
1623 uint64_t DevTrInGetKinds( TpDeviceHandle_t hDevice , uint16_t wInput );
1624 
1634 uint64_t DevTrInGetKind( TpDeviceHandle_t hDevice , uint16_t wInput );
1635 
1646 uint64_t DevTrInSetKind( TpDeviceHandle_t hDevice , uint16_t wInput , uint64_t qwKind );
1647 
1654 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1655 
1665 uint32_t DevTrInGetName( TpDeviceHandle_t hDevice , uint16_t wInput , char* pBuffer , uint32_t dwBufferLength );
1666 
1674 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1675 
1682 uint16_t DevTrGetOutputCount( TpDeviceHandle_t hDevice );
1683 
1689 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1690 
1699 bool8_t DevTrOutGetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput );
1700 
1710 bool8_t DevTrOutSetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput , bool8_t bEnable );
1711 
1718 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1719 
1729 uint64_t DevTrOutGetEvents( TpDeviceHandle_t hDevice , uint16_t wOutput );
1730 
1740 uint64_t DevTrOutGetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput );
1741 
1752 uint64_t DevTrOutSetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput , uint64_t qwEvent );
1753 
1760 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1761 
1771 uint32_t DevTrOutGetName( TpDeviceHandle_t hDevice , uint16_t wOutput , char* pBuffer , uint32_t dwBufferLength );
1772 
1784 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1785 
1792 uint16_t ScpGetChannelCount( TpDeviceHandle_t hDevice );
1793 
1801 uint32_t ScpGetSharedChannelGroupCount( TpDeviceHandle_t hDevice );
1802 
1813 uint32_t ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
1814 
1820 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1821 
1829 uint32_t ScpChGetConnectorType( TpDeviceHandle_t hDevice , uint16_t wCh );
1830 
1838 bool8_t ScpChIsDifferential( TpDeviceHandle_t hDevice , uint16_t wCh );
1839 
1846 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1847 
1855 uint64_t ScpChGetCouplings( TpDeviceHandle_t hDevice , uint16_t wCh );
1856 
1864 uint64_t ScpChGetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh );
1865 
1874 uint64_t ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
1875 
1882 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1883 
1891 bool8_t ScpChGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
1892 
1901 bool8_t ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
1902 
1909 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1910 
1918 double ScpChGetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh );
1919 
1928 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
1929 
1936 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1937 
1945 bool8_t ScpChGetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh );
1946 
1955 bool8_t ScpChSetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
1956 
1978 uint32_t ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
1979 
1991 uint32_t ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
1992 
2000 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
2001 
2019 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
2020 
2030 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2031 
2041 uint64_t ScpChTrGetKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
2042 
2051 uint64_t ScpChTrGetKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
2052 
2062 uint64_t ScpChTrGetKind( TpDeviceHandle_t hDevice , uint16_t wCh );
2063 
2074 uint64_t ScpChTrSetKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
2075 
2082 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2083 
2094 uint32_t ScpChTrGetLevelCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2095 
2104 double ScpChTrGetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2105 
2115 double ScpChTrSetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
2116 
2123 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2124 
2135 uint32_t ScpChTrGetHysteresisCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2136 
2145 double ScpChTrGetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2146 
2156 double ScpChTrSetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
2157 
2164 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2165 
2176 uint32_t ScpChTrGetConditions( TpDeviceHandle_t hDevice , uint16_t wCh );
2177 
2187 uint32_t ScpChTrGetCondition( TpDeviceHandle_t hDevice , uint16_t wCh );
2188 
2199 uint32_t ScpChTrSetCondition( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwCondition );
2200 
2207 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2208 
2219 uint32_t ScpChTrGetTimeCount( TpDeviceHandle_t hDevice , uint16_t wCh );
2220 
2231 double ScpChTrGetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
2232 
2244 double ScpChTrSetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
2245 
2254 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2255 
2267 #ifdef INCLUDED_BY_MATLAB
2268 uint64_t ScpGetData( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2269 #else
2270 uint64_t ScpGetData( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2271 #endif
2272 
2282 uint64_t ScpGetData1Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2283 
2294 uint64_t ScpGetData2Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2295 
2307 uint64_t ScpGetData3Ch( TpDeviceHandle_t hDevice , float *pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2308 
2321 uint64_t ScpGetData4Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2322 
2329 uint64_t ScpGetValidPreSampleCount( TpDeviceHandle_t hDevice );
2330 
2341 void ScpChGetDataValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
2342 
2352 double ScpChGetDataValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
2353 
2363 double ScpChGetDataValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
2364 
2372 bool8_t ScpChIsRangeMaxReachable( TpDeviceHandle_t hDevice , uint16_t wCh );
2373 
2379 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2380 
2392 uint64_t ScpGetDataRaw( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
2393 
2403 uint64_t ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2404 
2415 uint64_t ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2416 
2428 uint64_t ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2429 
2442 uint64_t ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
2443 
2451 uint32_t ScpChGetDataRawType( TpDeviceHandle_t hDevice , uint16_t wCh );
2452 
2465 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
2466 
2477 int64_t ScpChGetDataRawValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
2478 
2489 int64_t ScpChGetDataRawValueZero( TpDeviceHandle_t hDevice , uint16_t wCh );
2490 
2501 int64_t ScpChGetDataRawValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
2502 
2512 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2513 
2521 void ScpSetCallbackDataReady( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
2522 
2529 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2530 
2538 void ScpSetCallbackDataOverflow( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
2539 
2546 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2547 
2555 void ScpSetCallbackConnectionTestCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
2556 
2561 #ifdef __linux__
2562 
2571 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , int fdEvent );
2572 
2581 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , int fdEvent );
2582 
2591 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , int fdEvent );
2592 
2593 #endif
2594 
2595 #ifdef HAVE_WINDOWS_H
2596 
2605 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , HANDLE hEvent );
2606 
2615 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , HANDLE hEvent );
2616 
2625 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
2626 
2637 void ScpSetMessageDataReady( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2638 
2649 void ScpSetMessageDataOverflow( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2650 
2661 void ScpSetMessageConnectionTestCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2662 
2663 #endif
2664 
2671 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2672 
2679 bool8_t ScpStart( TpDeviceHandle_t hDevice );
2680 
2686 void ScpStop( TpDeviceHandle_t hDevice );
2687 
2693 void ScpForceTrigger( TpDeviceHandle_t hDevice );
2694 
2700 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2701 
2708 bool8_t ScpIsDataReady( TpDeviceHandle_t hDevice );
2709 
2716 bool8_t ScpIsDataOverflow( TpDeviceHandle_t hDevice );
2717 
2724 bool8_t ScpIsRunning( TpDeviceHandle_t hDevice );
2725 
2732 bool8_t ScpIsTriggered( TpDeviceHandle_t hDevice );
2733 
2740 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2741 
2748 uint32_t ScpGetMeasureModes( TpDeviceHandle_t hDevice );
2749 
2756 uint32_t ScpGetMeasureMode( TpDeviceHandle_t hDevice );
2757 
2765 uint32_t ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
2766 
2774 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2775 
2784 uint32_t ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t *pList , uint32_t dwLength );
2785 
2792 uint8_t ScpGetResolution( TpDeviceHandle_t hDevice );
2793 
2801 uint8_t ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
2802 
2809 bool8_t ScpIsResolutionEnhanced( TpDeviceHandle_t hDevice );
2810 
2818 bool8_t ScpIsResolutionEnhancedEx( TpDeviceHandle_t hDevice , uint8_t byResolution );
2819 
2828 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2829 
2836 uint32_t ScpGetClockSources( TpDeviceHandle_t hDevice );
2837 
2844 uint32_t ScpGetClockSource( TpDeviceHandle_t hDevice );
2845 
2853 uint32_t ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
2854 
2861 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2862 
2869 uint32_t ScpGetClockOutputs( TpDeviceHandle_t hDevice );
2870 
2877 uint32_t ScpGetClockOutput( TpDeviceHandle_t hDevice );
2878 
2886 uint32_t ScpSetClockOutput( TpDeviceHandle_t hDevice , uint32_t dwClockOutput );
2887 
2897 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2898 
2905 double ScpGetPreSampleRatio( TpDeviceHandle_t hDevice );
2906 
2914 double ScpSetPreSampleRatio( TpDeviceHandle_t hDevice , double dPreSampleRatio );
2915 
2922 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2923 
2930 uint64_t ScpGetTriggerHoldOffCountMax( TpDeviceHandle_t hDevice );
2931 
2939 uint64_t ScpGetTriggerHoldOffCountMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
2940 
2947 uint64_t ScpGetTriggerHoldOffCount( TpDeviceHandle_t hDevice );
2948 
2956 uint64_t ScpSetTriggerHoldOffCount( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
2957 
2964 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2965 
2972 uint64_t ScpGetRecordLengthMax( TpDeviceHandle_t hDevice );
2973 
2982 uint64_t ScpGetRecordLengthMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
2983 
2990 uint64_t ScpGetRecordLength( TpDeviceHandle_t hDevice );
2991 
2999 uint64_t ScpSetRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
3000 
3008 uint64_t ScpVerifyRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
3009 
3020 uint64_t ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
3021 
3028 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3029 
3036 double ScpGetSampleFrequencyMax( TpDeviceHandle_t hDevice );
3037 
3044 double ScpGetSampleFrequency( TpDeviceHandle_t hDevice );
3045 
3053 double ScpSetSampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
3054 
3062 double ScpVerifySampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
3063 
3074 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
3075 
3083 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3084 
3091 double ScpGetTriggerTimeOut( TpDeviceHandle_t hDevice );
3092 
3100 double ScpSetTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
3101 
3109 double ScpVerifyTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
3110 
3117 uint64_t ScpGetTriggerSources( TpDeviceHandle_t hDevice );
3118 
3126 uint64_t ScpGetTriggerSourcesEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
3127 
3134 uint64_t ScpGetTriggerSourceOR( TpDeviceHandle_t hDevice );
3135 
3143 uint64_t ScpSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3144 
3151 uint64_t ScpGetTriggerSourceAND( TpDeviceHandle_t hDevice );
3152 
3160 uint64_t ScpSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3161 
3172 uint64_t ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
3173 
3185 uint64_t ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
3186 
3194 uint64_t ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
3195 
3205 uint64_t ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
3206 
3215 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
3216 
3226 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
3227 
3236 double ScpGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
3237 
3247 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
3248 
3257 uint64_t ScpChGetTriggerKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
3258 
3268 uint64_t ScpChGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
3269 
3278 uint64_t ScpChGetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh );
3279 
3289 uint64_t ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
3290 
3300 double ScpChGetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3301 
3312 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
3313 
3323 double ScpChGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3324 
3335 double ScpChSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
3336 
3345 double ScpChGetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh );
3346 
3356 double ScpChSetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
3357 
3364 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3365 
3372 bool8_t ScpHasConnectionTest( TpDeviceHandle_t hDevice );
3373 
3381 bool8_t ScpChHasConnectionTest( TpDeviceHandle_t hDevice , uint16_t wCh );
3382 
3390 bool8_t ScpStartConnectionTest( TpDeviceHandle_t hDevice , uint64_t qwChannelMask );
3391 
3398 bool8_t ScpIsConnectionTestCompleted( TpDeviceHandle_t hDevice );
3399 
3408 uint16_t ScpGetConnectionTestData( TpDeviceHandle_t hDevice , LibTiePieTriState_t* pBuffer , uint16_t wChannelCount );
3409 
3419 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3420 
3427 uint32_t GenGetConnectorType( TpDeviceHandle_t hDevice );
3428 
3435 bool8_t GenIsDifferential( TpDeviceHandle_t hDevice );
3436 
3443 double GenGetImpedance( TpDeviceHandle_t hDevice );
3444 
3451 uint8_t GenGetResolution( TpDeviceHandle_t hDevice );
3452 
3459 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3460 
3467 bool8_t GenIsControllable( TpDeviceHandle_t hDevice );
3468 
3475 bool8_t GenGetOutputOn( TpDeviceHandle_t hDevice );
3476 
3484 bool8_t GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
3485 
3491 void GenStart( TpDeviceHandle_t hDevice );
3492 
3498 void GenStop( TpDeviceHandle_t hDevice );
3499 
3506 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3507 
3514 bool8_t GenIsBurstActive( TpDeviceHandle_t hDevice );
3515 
3522 uint64_t GenGetBurstCount( TpDeviceHandle_t hDevice );
3523 
3530 uint64_t GenGetBurstCountMax( TpDeviceHandle_t hDevice );
3531 
3539 uint64_t GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
3540 
3547 uint64_t GenGetBurstModes( TpDeviceHandle_t hDevice );
3548 
3555 uint64_t GenGetBurstMode( TpDeviceHandle_t hDevice );
3556 
3564 uint64_t GenSetBurstMode( TpDeviceHandle_t hDevice , uint64_t qwBurstMode );
3565 
3572 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3573 
3580 uint32_t GenGetSignalTypes( TpDeviceHandle_t hDevice );
3581 
3588 uint32_t GenGetSignalType( TpDeviceHandle_t hDevice );
3589 
3597 uint32_t GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
3598 
3605 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3606 
3613 double GenGetAmplitudeMax( TpDeviceHandle_t hDevice );
3614 
3621 double GenGetAmplitudeMin( TpDeviceHandle_t hDevice );
3622 
3629 double GenGetAmplitude( TpDeviceHandle_t hDevice );
3630 
3638 double GenSetAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
3639 
3647 double GenVerifyAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
3648 
3655 bool8_t GenGetAmplitudeAutoRanging( TpDeviceHandle_t hDevice );
3656 
3664 bool8_t GenSetAmplitudeAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
3665 
3686 uint32_t GenGetAmplitudeRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
3687 
3694 double GenGetAmplitudeRange( TpDeviceHandle_t hDevice );
3695 
3712 double GenSetAmplitudeRange( TpDeviceHandle_t hDevice , double dRange );
3713 
3720 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3721 
3730 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , double* pMin , double* pMax );
3731 
3738 double GenGetFrequencyMin( TpDeviceHandle_t hDevice );
3739 
3746 double GenGetFrequencyMax( TpDeviceHandle_t hDevice );
3747 
3754 double GenGetFrequency( TpDeviceHandle_t hDevice );
3755 
3763 double GenSetFrequency( TpDeviceHandle_t hDevice , double dFrequency );
3764 
3772 double GenVerifyFrequency( TpDeviceHandle_t hDevice , double dFrequency );
3773 
3782 double GenVerifyFrequencyEx( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode );
3783 
3790 uint32_t GenGetFrequencyModes( TpDeviceHandle_t hDevice );
3791 
3799 uint32_t GenGetFrequencyModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
3800 
3807 uint32_t GenGetFrequencyMode( TpDeviceHandle_t hDevice );
3808 
3816 uint32_t GenSetFrequencyMode( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode );
3817 
3824 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3825 
3832 double GenGetOffsetMin( TpDeviceHandle_t hDevice );
3833 
3840 double GenGetOffsetMax( TpDeviceHandle_t hDevice );
3841 
3848 double GenGetOffset( TpDeviceHandle_t hDevice );
3849 
3857 double GenSetOffset( TpDeviceHandle_t hDevice , double dOffset );
3858 
3866 double GenVerifyOffset( TpDeviceHandle_t hDevice , double dOffset );
3867 
3874 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3875 
3882 double GenGetPhase( TpDeviceHandle_t hDevice );
3883 
3891 double GenSetPhase( TpDeviceHandle_t hDevice , double dPhase );
3892 
3900 double GenVerifyPhase( TpDeviceHandle_t hDevice , double dPhase );
3901 
3908 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3909 
3916 double GenGetSymmetry( TpDeviceHandle_t hDevice );
3917 
3925 double GenSetSymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
3926 
3934 double GenVerifySymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
3935 
3942 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3943 
3950 uint64_t GenGetDataLengthMax( TpDeviceHandle_t hDevice );
3951 
3958 uint64_t GenGetDataLength( TpDeviceHandle_t hDevice );
3959 
3967 uint64_t GenVerifyDataLength( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
3968 
3976 uint32_t GenGetDataRawType( TpDeviceHandle_t hDevice );
3977 
3985 void GenSetData( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
3986 
3995 void GenSetDataRaw( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
3996 
4005 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4006 
4014 void GenSetCallbackBurstCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4015 
4022 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4023 
4031 void GenSetCallbackControllableChanged( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4032 
4037 #ifdef __linux__
4038 
4047 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , int fdEvent );
4048 
4057 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , int fdEvent );
4058 
4059 #endif
4060 
4061 #ifdef HAVE_WINDOWS_H
4062 
4071 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
4072 
4081 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , HANDLE hEvent );
4082 
4093 void GenSetMessageBurstCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4094 
4105 void GenSetMessageControllableChanged( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4106 
4107 #endif
4108 
4115 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4116 
4124 uint32_t GenGetModes( TpDeviceHandle_t hDevice );
4125 
4134 uint32_t GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
4135 
4143 uint32_t GenGetMode( TpDeviceHandle_t hDevice );
4144 
4153 uint32_t GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
4154 
4162 bool8_t GenGetAutoRanging( TpDeviceHandle_t hDevice );
4163 
4172 bool8_t GenSetAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
4173 
4195 uint32_t GenGetRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
4196 
4204 double GenGetRange( TpDeviceHandle_t hDevice );
4205 
4223 double GenSetRange( TpDeviceHandle_t hDevice , double dRange );
4224 
4232 uint64_t GenGetTriggerSources( TpDeviceHandle_t hDevice );
4233 
4241 uint64_t GenGetTriggerSourceAND( TpDeviceHandle_t hDevice );
4242 
4251 uint64_t GenSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
4252 
4260 uint64_t GenGetTriggerSourceOR( TpDeviceHandle_t hDevice );
4261 
4270 uint64_t GenSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
4271 
4279 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4280 
4288 bool8_t I2CIsInternalAddress( TpDeviceHandle_t hDevice , uint16_t wAddress );
4289 
4295 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4296 
4307 bool8_t I2CRead( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
4308 
4317 bool8_t I2CReadByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
4318 
4327 bool8_t I2CReadWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
4328 
4335 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4336 
4347 bool8_t I2CWrite( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
4348 
4357 bool8_t I2CWriteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
4358 
4368 bool8_t I2CWriteByteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
4369 
4379 bool8_t I2CWriteByteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
4380 
4389 bool8_t I2CWriteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
4390 
4397 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4398 
4405 double I2CGetSpeed( TpDeviceHandle_t hDevice );
4406 
4413 double I2CGetSpeedMax( TpDeviceHandle_t hDevice );
4414 
4422 double I2CSetSpeed( TpDeviceHandle_t hDevice , double dSpeed );
4423 
4431 double I2CVerifySpeed( TpDeviceHandle_t hDevice , double dSpeed );
4432 
4463 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4464 
4472 LibTiePiePointerArray_t HlpPointerArrayNew( uint32_t dwLength );
4473 
4479 void HlpPointerArrayDelete( LibTiePiePointerArray_t pArray );
4480 
4488 void HlpPointerArraySet( LibTiePiePointerArray_t pArray , uint32_t dwIndex , void* pPointer );
4489 
4496 #ifdef __cplusplus
4497 }
4498 #endif
4499 
4500 #endif