LibTiePie  0.4.4
Library for interfacing TiePie engineering instruments
 All Files Functions Typedefs Macros Groups Pages
libtiepie.h
Go to the documentation of this file.
1 
6 #ifndef _LIBTIEPIE_H_
7 #define _LIBTIEPIE_H_
8 
9 // This section tries to define the C99 stdint types by detecting the used compiler/C version:
10 #if ( defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L ) || ( defined( __GNUC__ ) && defined( __cplusplus ) )
11  #include <stdint.h>
12 #elif defined( INCLUDED_BY_MATLAB ) // MathWorks Matlab, see libtiepiematlab.h
13  #include <tmwtypes.h>
14 
15  // Define types:
16  typedef INT8_T int8_t;
17  typedef INT16_T int16_t;
18  typedef INT32_T int32_t;
19  typedef INT64_T int64_t;
20 
21  typedef UINT8_T uint8_t;
22  typedef UINT16_T uint16_t;
23  typedef UINT32_T uint32_t;
24  typedef UINT64_T uint64_t;
25 #elif defined( _CVI_ ) // National Instruments LabWindows/CVI
26  #ifdef _CVI_C99_EXTENSIONS_
27  #include <stdint.h>
28  #else
29  // Define types:
30  typedef char int8_t;
31  typedef short int16_t;
32  typedef int int32_t;
33  typedef __int64 int64_t;
34 
35  typedef unsigned char uint8_t;
36  typedef unsigned short uint16_t;
37  typedef unsigned int uint32_t;
38  typedef unsigned __int64 uint64_t;
39  #endif
40 
41  #ifdef _NI_linux_
42  #define __linux__
43  #endif
44 #elif defined( _MSC_VER )
45  #include "stdint.h" // Note: You can find a stdint.h for microsoft compilers at http://msinttypes.googlecode.com/svn/trunk/stdint.h .
46 #else
47  #error "C99 stdint types not defined!"
48 #endif
49 
50 // Check whether we are on a Windows NT based operating system:
51 #if defined( _WIN32 ) || defined( _WIN64 ) || defined( __WIN32__ ) || defined( __TOS_WIN__ ) || defined( __WINDOWS__ )
52  #ifndef HAVE_WINDOWS_H
53  #define HAVE_WINDOWS_H
54  #endif
55  #include <windows.h>
56 #endif
57 
58 #ifdef __cplusplus
59 extern "C"
60 {
61 #endif
62 
63 #define LIBTIEPIE_VERSION_MAJOR 0
64 #define LIBTIEPIE_VERSION_MINOR 4
65 #define LIBTIEPIE_VERSION_RELEASE 4
66 
67 #define LIBTIEPIE_REVISION 4786
68 
76 #define ARN_COUNT 3
77 
78 
83 #define ARB_DISABLED 0
84 #define ARB_NATIVEONLY 1
85 #define ARB_ALL 2
86 
93 #define ARM_NONE 0
94 #define ARM_ALL ( ( 1 << ARN_COUNT ) - 1 )
95 
100 #define AR_UNKNOWN 0
101 
102 #define AR_DISABLED ( 1 << ARB_DISABLED )
103 #define AR_NATIVEONLY ( 1 << ARB_NATIVEONLY )
104 #define AR_ALL ( 1 << ARB_ALL )
105 
106 
115 #define BMN_COUNT 3
116 
117 
122 #define BMB_DISABLED 0
123 #define BMB_COUNT 1
124 #define BMB_GATED_PERIODS 2
125 
130 #define BM_UNKNOWN 0
131 
132 #define BM_DISABLED ( 1 << BMB_DISABLED )
133 #define BM_COUNT ( 1 << BMB_COUNT )
134 #define BM_GATED_PERIODS ( 1 << BMB_GATED_PERIODS )
135 
141 #define BMM_NONE 0x0000000000000000ULL
142 #define BMM_ALL ( ( 1ULL << BMN_COUNT ) - 1 )
143 
154 #define CKN_COUNT 5
155 
156 
161 #define CKB_DCV 0
162 #define CKB_ACV 1
163 #define CKB_DCA 2
164 #define CKB_ACA 3
165 #define CKB_OHM 4
166 
167 
171 #define CK_UNKNOWN 0
172 
173 #define CK_DCV ( 1 << CKB_DCV )
174 #define CK_ACV ( 1 << CKB_ACV )
175 #define CK_DCA ( 1 << CKB_DCA )
176 #define CK_ACA ( 1 << CKB_ACA )
177 #define CK_OHM ( 1 << CKB_OHM )
178 
179 
184 #define CKM_V ( CK_DCV | CK_ACV )
185 #define CKM_A ( CK_DCA | CK_ACA )
186 #define CKM_OHM ( CK_OHM )
187 
188 #define CKM_ASYMMETRICRANGE ( CKM_OHM )
189 #define CKM_SYMMETRICRANGE ( CKM_V | CKM_A )
190 
191 
201 #define CON_COUNT 2
202 
203 
208 #define COB_SAMPLE 0
209 #define COB_10MHZ 1
210 
211 
215 #define CO_NONE 0
216 #define CO_SAMPLE ( 1 << COB_SAMPLE )
217 #define CO_10MHZ ( 1 << COB_10MHZ )
218 
219 
228 #define CSN_COUNT 2
229 
230 
235 #define CSB_EXTERNAL 0
236 #define CSB_INTERNAL 1
237 
238 
242 #define CS_EXTERNAL ( 1 << CSB_EXTERNAL )
243 #define CS_INTERNAL ( 1 << CSB_INTERNAL )
244 
245 
254 #define FMN_COUNT 2
255 
256 
261 #define FMB_SIGNALFREQUENCY 0
262 #define FMB_SAMPLEFREQUENCY 1
263 
268 #define FM_UNKNOWN 0x00000000
269 
270 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
271 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
272 
278 #define FMM_NONE 0x00000000
279 #define FMM_ALL ( ( 1 << FMN_COUNT ) - 1 )
280 
291 #define MMN_COUNT 2
292 
293 
298 #define MMB_STREAM 0
299 #define MMB_BLOCK 1
300 
301 
305 #define MM_UNKNOWN 0
306 
307 #define MM_STREAM ( 1 << MMB_STREAM )
308 #define MM_BLOCK ( 1 << MMB_BLOCK )
309 
310 
319 #define STN_COUNT 6
320 
321 
326 #define STB_SINE 0
327 #define STB_TRIANGLE 1
328 #define STB_SQUARE 2
329 #define STB_DC 3
330 #define STB_NOISE 4
331 #define STB_ARBITRARY 5
332 
337 #define ST_UNKNOWN 0
338 
339 #define ST_SINE ( 1 << STB_SINE )
340 #define ST_TRIANGLE ( 1 << STB_TRIANGLE )
341 #define ST_SQUARE ( 1 << STB_SQUARE )
342 #define ST_DC ( 1 << STB_DC )
343 #define ST_NOISE ( 1 << STB_NOISE )
344 #define ST_ARBITRARY ( 1 << STB_ARBITRARY )
345 
351 #define STM_AMPLITUDE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
352 #define STM_OFFSET ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_DC | ST_NOISE | ST_ARBITRARY )
353 #define STM_FREQUENCY ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
354 #define STM_PHASE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
355 #define STM_SYMMETRY ( ST_SINE | ST_TRIANGLE | ST_SQUARE )
356 #define STM_DATALENGTH ( ST_ARBITRARY )
357 #define STM_DATA ( ST_ARBITRARY )
358 
369 #define TCN_COUNT 2
370 
371 
376 #define TCB_GREATER 0
377 #define TCB_LESS 1
378 
383 #define TC_UNKNOWN 0
384 
385 #define TC_GREATER ( 1 << TCB_GREATER )
386 #define TC_LESS ( 1 << TCB_LESS )
387 
393 #define TCM_NONE 0
394 #define TCM_ALL ( ( 1 << TCN_COUNT ) - 1 )
395 
396 
406 #define TH_ALLPRESAMPLES 0xffffffffffffffffULL
407 
408 
415 #define TRIGGER_IO_ID( pgid , sgid , fid ) ( ( DN_MAIN << TIOID_SHIFT_DN ) | ( ( pgid ) << TIOID_SHIFT_PGID ) | ( ( sgid ) << TIOID_SHIFT_SGID ) | ( ( fid ) << TIOID_SHIFT_FID ) )
416 
417 #define COMBI_TRIGGER_IO_ID( dn , tiid ) ( ( ( dn ) << TIOID_SHIFT_DN ) | ( ( tiid ) & ( ( 1 << TIOID_SHIFT_DN ) - 1 ) ) )
418 
429 #define DN_MAIN 0
430 #define DN_SUB_FIRST 1
431 #define DN_SUB_SECOND 2
432 
433 
439 #define PGID_OSCILLOSCOPE 1
440 #define PGID_GENERATOR 2
441 #define PGID_EXTERNAL_DSUB 3
442 
443 
451 #define SGID_MAIN 0
452 #define SGID_CHANNEL1 1
453 #define SGID_CHANNEL2 2
454 
461 #define SGID_PIN1 1
462 #define SGID_PIN2 2
463 #define SGID_PIN3 3
464 
474 #define FID_SCP_TRIGGERED 0
475 
482 #define FID_GEN_START 0
483 #define FID_GEN_STOP 1
484 #define FID_GEN_NEW_PERIOD 2
485 
492 #define FID_EXT_TRIGGERED 0
493 
501 #define TIOID_SHIFT_PGID 20
502 #define TIOID_SHIFT_DN 24
503 #define TIOID_SHIFT_SGID 8
504 #define TIOID_SHIFT_FID 0
505 
512 #define TIID_INVALID 0
513 #define TIID_EXT1 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN1 , FID_EXT_TRIGGERED )
514 #define TIID_EXT2 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN2 , FID_EXT_TRIGGERED )
515 #define TIID_EXT3 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN3 , FID_EXT_TRIGGERED )
516 #define TIID_GENERATOR_START TRIGGER_IO_ID( PGID_GENERATOR , SGID_MAIN , FID_GEN_START )
517 #define TIID_GENERATOR_STOP TRIGGER_IO_ID( PGID_GENERATOR , SGID_MAIN , FID_GEN_STOP )
518 #define TIID_GENERATOR_NEW_PERIOD TRIGGER_IO_ID( PGID_GENERATOR , SGID_MAIN , FID_GEN_NEW_PERIOD )
519 
526 #define TOID_INVALID 0
527 #define TOID_EXT1 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN1 , FID_EXT_TRIGGERED )
528 #define TOID_EXT2 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN2 , FID_EXT_TRIGGERED )
529 #define TOID_EXT3 TRIGGER_IO_ID( PGID_EXTERNAL_DSUB , SGID_PIN3 , FID_EXT_TRIGGERED )
530 
541 #define TKN_COUNT 9
542 
543 
548 #define TKB_RISINGEDGE 0
549 #define TKB_FALLINGEDGE 1
550 #define TKB_INWINDOW 2
551 #define TKB_OUTWINDOW 3
552 #define TKB_ANYEDGE 4
553 #define TKB_ENTERWINDOW 5
554 #define TKB_EXITWINDOW 6
555 #define TKB_PULSEWIDTHPOSITIVE 7
556 #define TKB_PULSEWIDTHNEGATIVE 8
557 
559 #define TKB_RISING TKB_RISINGEDGE
560 #define TKB_FALLING TKB_FALLINGEDGE
561 #define TKB_EDGE TKB_ANYEDGE
562 #define TKB_DROPINWINDOW TKB_ENTERWINDOW
563 #define TKB_DROPOUTWINDOW TKB_EXITWINDOW
564 
565 
570 #define TK_UNKNOWN 0
571 #define TK_RISINGEDGE ( 1ULL << TKB_RISINGEDGE )
572 #define TK_FALLINGEDGE ( 1ULL << TKB_FALLINGEDGE )
573 #define TK_INWINDOW ( 1ULL << TKB_INWINDOW )
574 #define TK_OUTWINDOW ( 1ULL << TKB_OUTWINDOW )
575 #define TK_ANYEDGE ( 1ULL << TKB_ANYEDGE )
576 #define TK_ENTERWINDOW ( 1ULL << TKB_ENTERWINDOW )
577 #define TK_EXITWINDOW ( 1ULL << TKB_EXITWINDOW )
578 #define TK_PULSEWIDTHPOSITIVE ( 1ULL << TKB_PULSEWIDTHPOSITIVE )
579 #define TK_PULSEWIDTHNEGATIVE ( 1ULL << TKB_PULSEWIDTHNEGATIVE )
580 
581 
582 #define TK_RISING TK_RISINGEDGE
583 #define TK_FALLING TK_FALLINGEDGE
584 #define TK_EDGE TK_ANYEDGE
585 #define TK_DROPINWINDOW TK_ENTERWINDOW
586 #define TK_DROPOUTWINDOW TK_EXITWINDOW
587 
588 
594 #define TKM_NONE 0
595 #define TKM_EDGE ( TK_RISINGEDGE | TK_FALLINGEDGE | TK_ANYEDGE )
596 #define TKM_WINDOW ( TK_INWINDOW | TK_OUTWINDOW | TK_ENTERWINDOW | TK_EXITWINDOW )
597 #define TKM_PULSEWIDTH ( TK_PULSEWIDTHPOSITIVE | TK_PULSEWIDTHNEGATIVE )
598 #define TKM_ALL ( ( 1ULL << TKN_COUNT ) - 1 )
599 
600 
610 #define TO_INFINITY -1
611 
612 
621 #define TOEN_COUNT 3
622 
623 
628 #define TOEB_GENERATOR_START 0
629 #define TOEB_GENERATOR_STOP 1
630 #define TOEB_GENERATOR_NEWPERIOD 2
631 
636 #define TOE_UNKNOWN 0
637 #define TOE_GENERATOR_START ( 1 << TOEB_GENERATOR_START )
638 #define TOE_GENERATOR_STOP ( 1 << TOEB_GENERATOR_STOP )
639 #define TOE_GENERATOR_NEWPERIOD ( 1 << TOEB_GENERATOR_NEWPERIOD )
640 
646 #define TOEM_NONE 0
647 #define TOEM_GENERATOR ( TOE_GENERATOR_START | TOE_GENERATOR_STOP | TOE_GENERATOR_NEWPERIOD )
648 #define TOEM_ALL ( ( 1ULL << TOEN_COUNT ) - 1 )
649 
650 
660 #define TSN_CHANNEL_COUNT 32
661 
662 #define TS_NONE 0x0000000000000000ULL
663 
664 #define TS_CH1 0x0000000000000001ULL
665 #define TS_CH2 0x0000000000000002ULL
666 #define TS_CH3 0x0000000000000004ULL
667 #define TS_CH4 0x0000000000000008ULL
668 #define TS_CH5 0x0000000000000010ULL
669 #define TS_CH6 0x0000000000000020ULL
670 #define TS_CH7 0x0000000000000040ULL
671 #define TS_CH8 0x0000000000000080ULL
672 #define TS_CH9 0x0000000000000100ULL
673 #define TS_CH10 0x0000000000000200ULL
674 #define TS_CH11 0x0000000000000400ULL
675 #define TS_CH12 0x0000000000000800ULL
676 #define TS_CH13 0x0000000000001000ULL
677 #define TS_CH14 0x0000000000002000ULL
678 #define TS_CH15 0x0000000000004000ULL
679 #define TS_CH16 0x0000000000008000ULL
680 #define TS_CH17 0x0000000000010000ULL
681 #define TS_CH18 0x0000000000020000ULL
682 #define TS_CH19 0x0000000000040000ULL
683 #define TS_CH20 0x0000000000080000ULL
684 #define TS_CH21 0x0000000000100000ULL
685 #define TS_CH22 0x0000000000200000ULL
686 #define TS_CH23 0x0000000000400000ULL
687 #define TS_CH24 0x0000000000800000ULL
688 #define TS_CH25 0x0000000001000000ULL
689 #define TS_CH26 0x0000000002000000ULL
690 #define TS_CH27 0x0000000004000000ULL
691 #define TS_CH28 0x0000000008000000ULL
692 #define TS_CH29 0x0000000010000000ULL
693 #define TS_CH30 0x0000000020000000ULL
694 #define TS_CH31 0x0000000040000000ULL
695 #define TS_CH32 0x0000000080000000ULL
696 
697 #define TS_GENSTOP 0x0400000000000000ULL
698 #define TS_GENNEW 0x0800000000000000ULL
699 #define TS_GENSTART 0x1000000000000000ULL
700 #define TS_EXT2 0x2000000000000000ULL
701 #define TS_EXTANALOG 0x4000000000000000ULL
702 #define TS_EXT 0x8000000000000000ULL
703 
704 
709 #define TSM_NONE 0x0000000000000000ULL
710 #define TSM_ALL 0xFFFFFFFFFFFFFFFFULL
711 #define TSM_CHANNELS ( ( 1ULL << TSN_CHANNEL_COUNT ) - 1 )
712 #define TSM_NONCHANNELS ( TSM_ALL - TSM_CHANNELS )
713 #define TSM_GENALL ( TS_GENSTART | TS_GENNEW | TS_GENSTOP )
714 
715 
725 #define PID_NONE 0
726 #define PID_COMBI 2
727 
728 #define PID_HS5 22
729 
730 
737 #ifdef INCLUDED_BY_MATLAB
738 typedef void* TpCallback_t;
739 #else
740 typedef void(*TpCallback_t)( void* pData );
741 #endif
742 
1100 #define TPDEVICEHANDLE_INVALID 0
1101 
1102 
1108 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
1109 #define DEVICETYPE_GENERATOR 0x00000002
1110 #define DEVICETYPE_I2CHOST 0x00000004
1111 
1112 #define DEVICETYPE_COUNT 3
1113 
1114 
1120 #define IDKIND_DEVICEID 0x00000001
1121 #define IDKIND_INDEX 0x00000002
1122 #define IDKIND_SERIALNUMBER 0x00000004
1123 
1124 #define IDKIND_COUNT 3
1125 
1126 
1138 #define LIBTIEPIESTATUS_SUCCESS 0
1139 #define LIBTIEPIESTATUS_VALUE_CLIPPED 1
1140 #define LIBTIEPIESTATUS_VALUE_MODIFIED 2
1141 #define LIBTIEPIESTATUS_UNSUCCESSFUL -1
1142 #define LIBTIEPIESTATUS_NOT_SUPPORTED -2
1143 #define LIBTIEPIESTATUS_INVALID_HANDLE -3
1144 #define LIBTIEPIESTATUS_INVALID_VALUE -4
1145 #define LIBTIEPIESTATUS_INVALID_CHANNEL -5
1146 #define LIBTIEPIESTATUS_INVALID_TRIGGER_SOURCE -6
1147 #define LIBTIEPIESTATUS_INVALID_DEVICE_TYPE -7
1148 #define LIBTIEPIESTATUS_INVALID_DEVICE_INDEX -8
1149 #define LIBTIEPIESTATUS_INVALID_DEVICE_ID -9
1150 #define LIBTIEPIESTATUS_INVALID_DEVICE_SERIALNUMBER -10
1151 #define LIBTIEPIESTATUS_DEVICE_GONE -11
1152 #define LIBTIEPIESTATUS_INTERNAL_ADDRESS -12
1153 #define LIBTIEPIESTATUS_NOT_CONTROLLABLE -13
1154 #define LIBTIEPIESTATUS_BIT_ERROR -14
1155 #define LIBTIEPIESTATUS_NO_ACKNOWLEDGE -15
1156 #define LIBTIEPIESTATUS_INVALID_CONTAINED_DEVICE_SERIALNUMBER -16
1157 #define LIBTIEPIESTATUS_INVALID_INPUT -17
1158 #define LIBTIEPIESTATUS_INVALID_OUTPUT -18
1159 #define LIBTIEPIESTATUS_INVALID_DRIVER -19
1160 #define LIBTIEPIESTATUS_NOT_AVAILABLE -20
1161 
1162 
1168 #define CONNECTORTYPE_UNKNOWN 0x00000000
1169 
1170 #define CONNECTORTYPE_BNC 0x00000001
1171 #define CONNECTORTYPE_BANANA 0x00000002
1172 #define CONNECTORTYPE_POWERPLUG 0x00000004
1173 
1174 #define CONNECTORTYPE_COUNT 3
1175 
1176 
1181 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA | CONNECTORTYPE_POWERPLUG )
1182 
1190 #define DATARAWTYPE_UNKNOWN 0x00000000
1191 
1192 #define DATARAWTYPE_INT8 0x00000001
1193 #define DATARAWTYPE_INT16 0x00000002
1194 #define DATARAWTYPE_INT32 0x00000004
1195 #define DATARAWTYPE_INT64 0x00000008
1196 
1197 #define DATARAWTYPE_UINT8 0x00000010
1198 #define DATARAWTYPE_UINT16 0x00000020
1199 #define DATARAWTYPE_UINT32 0x00000040
1200 #define DATARAWTYPE_UINT64 0x00000080
1201 
1202 #define DATARAWTYPE_FLOAT32 0x00000100
1203 #define DATARAWTYPE_FLOAT64 0x00000200
1204 
1205 #define DATARAWTYPE_COUNT 10
1206 
1207 
1212 #define DATARAWTYPE_MASK_INT ( DATARAWTYPE_INT8 | DATARAWTYPE_INT16 | DATARAWTYPE_INT32 | DATARAWTYPE_INT64 )
1213 #define DATARAWTYPE_MASK_UINT ( DATARAWTYPE_UINT8 | DATARAWTYPE_UINT16 | DATARAWTYPE_UINT32 | DATARAWTYPE_UINT64 )
1214 #define DATARAWTYPE_MASK_FLOAT ( DATARAWTYPE_FLOAT32 | DATARAWTYPE_FLOAT64 )
1215 #define DATARAWTYPE_MASK_FIXED ( DATARAWTYPE_MASK_INT | DATARAWTYPE_MASK_UINT )
1216 
1226 #define IDM_DEVICEID 0x80000000
1227 #define IDM_ALL 0xffffffff
1228 
1235 #define IDB_HS5 5
1236 #define IDB_COMBI 8
1237 
1242 #define ID_HS5 ( IDM_DEVICEID | ( 1 << IDB_HS5 ) )
1243 #define ID_COMBI ( IDM_DEVICEID | ( 1 << IDB_COMBI ) )
1244 
1245 
1251 #define BOOL8_FALSE 0
1252 #define BOOL8_TRUE 1
1253 
1260 #define LIBTIEPIE_TRISTATE_UNDEFINED 0
1261 #define LIBTIEPIE_TRISTATE_FALSE 1
1262 #define LIBTIEPIE_TRISTATE_TRUE 2
1263 
1264 
1270 #define LIBTIEPIE_TRIGGERIO_INDEX_INVALID 0xffff
1271 
1276 
1277 
1283 #define LIBTIEPIE_RANGEINDEX_AUTO 0xffffffff
1284 
1285 
1289 
1290 
1297 typedef int32_t LibTiePieStatus_t;
1298 typedef uint32_t TpDeviceHandle_t;
1299 typedef uint64_t TpVersion_t;
1300 typedef uint32_t TpDate_t;
1301 typedef uint8_t bool8_t;
1302 typedef uint8_t LibTiePieTriState_t;
1303 typedef void** LibTiePiePointerArray_t;
1304 
1311 #define TPVERSION_MAJOR( x ) ( x >> 48 )
1312 #define TPVERSION_MINOR( x ) ( ( x >> 32 ) & 0xffff )
1313 #define TPVERSION_RELEASE( x ) ( ( x >> 16 ) & 0xffff )
1314 #define TPVERSION_BUILD( x ) ( x & 0xffff )
1315 
1316 #define TPDATE_YEAR( x ) ( x >> 16 )
1317 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
1318 #define TPDATE_DAY( x ) ( x & 0xff )
1319 
1320 
1324 #ifdef HAVE_WINDOWS_H
1325 
1331 #define WM_LIBTIEPIE ( WM_USER + 1337 )
1332 
1333 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
1334 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
1335 
1336 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
1337 
1338 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
1339 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
1340 #define WM_LIBTIEPIE_SCP_CONNECTIONTESTCOMPLETED ( WM_LIBTIEPIE + 7 )
1341 
1342 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
1343 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
1344 
1345 
1349 #endif
1350 
1358 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1359 
1378 #ifdef LIBTIEPIE_DYNAMIC
1379 typedef TpVersion_t(*LibTiePieLibGetVersion_t)( void );
1380 #else
1381 TpVersion_t LibGetVersion( void );
1382 #endif
1383 
1407 #ifdef LIBTIEPIE_DYNAMIC
1408 typedef uint32_t(*LibTiePieLibGetConfig_t)( uint8_t* pBuffer , uint32_t dwBufferLength );
1409 #else
1410 uint32_t LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
1411 #endif
1412 
1426 #ifdef LIBTIEPIE_DYNAMIC
1427 typedef LibTiePieStatus_t(*LibTiePieLibGetLastStatus_t)( void );
1428 #else
1429 LibTiePieStatus_t LibGetLastStatus( void );
1430 #endif
1431 
1445 #ifdef LIBTIEPIE_DYNAMIC
1446 typedef const char*(*LibTiePieLibGetLastStatusStr_t)( void );
1447 #else
1448 const char* LibGetLastStatusStr( void );
1449 #endif
1450 
1457 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1458 
1465 #ifdef LIBTIEPIE_DYNAMIC
1466 typedef uint32_t(*LibTiePieLstGetCount_t)( void );
1467 #else
1468 uint32_t LstGetCount( void );
1469 #endif
1470 
1480 #ifdef LIBTIEPIE_DYNAMIC
1481 typedef bool8_t(*LibTiePieLstGetDeviceCanOpen_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1482 #else
1483 bool8_t LstGetDeviceCanOpen( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1484 #endif
1485 
1494 #ifdef LIBTIEPIE_DYNAMIC
1495 typedef uint32_t(*LibTiePieLstGetDeviceProductId_t)( uint32_t dwIdKind , uint32_t dwId );
1496 #else
1497 uint32_t LstGetDeviceProductId( uint32_t dwIdKind , uint32_t dwId );
1498 #endif
1499 
1508 #ifdef LIBTIEPIE_DYNAMIC
1509 typedef uint32_t(*LibTiePieLstGetDeviceVendorId_t)( uint32_t dwIdKind , uint32_t dwId );
1510 #else
1511 uint32_t LstGetDeviceVendorId( uint32_t dwIdKind , uint32_t dwId );
1512 #endif
1513 
1538 #ifdef LIBTIEPIE_DYNAMIC
1539 typedef uint32_t(*LibTiePieLstGetDeviceName_t)( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1540 #else
1541 uint32_t LstGetDeviceName( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1542 #endif
1543 
1568 #ifdef LIBTIEPIE_DYNAMIC
1569 typedef uint32_t(*LibTiePieLstGetDeviceNameShort_t)( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1570 #else
1571 uint32_t LstGetDeviceNameShort( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1572 #endif
1573 
1598 #ifdef LIBTIEPIE_DYNAMIC
1599 typedef uint32_t(*LibTiePieLstDevGetNameShortest_t)( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1600 #else
1601 uint32_t LstDevGetNameShortest( uint32_t dwIdKind , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
1602 #endif
1603 
1612 #ifdef LIBTIEPIE_DYNAMIC
1613 typedef TpVersion_t(*LibTiePieLstDevGetDriverVersion_t)( uint32_t dwIdKind , uint32_t dwId );
1614 #else
1615 TpVersion_t LstDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId );
1616 #endif
1617 
1626 #ifdef LIBTIEPIE_DYNAMIC
1627 typedef TpVersion_t(*LibTiePieLstDevGetRecommendedDriverVersion_t)( uint32_t dwIdKind , uint32_t dwId );
1628 #else
1629 TpVersion_t LstDevGetRecommendedDriverVersion( uint32_t dwIdKind , uint32_t dwId );
1630 #endif
1631 
1640 #ifdef LIBTIEPIE_DYNAMIC
1641 typedef TpVersion_t(*LibTiePieLstDevGetFirmwareVersion_t)( uint32_t dwIdKind , uint32_t dwId );
1642 #else
1643 TpVersion_t LstDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId );
1644 #endif
1645 
1654 #ifdef LIBTIEPIE_DYNAMIC
1655 typedef TpDate_t(*LibTiePieLstDevGetCalibrationDate_t)( uint32_t dwIdKind , uint32_t dwId );
1656 #else
1657 TpDate_t LstDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId );
1658 #endif
1659 
1668 #ifdef LIBTIEPIE_DYNAMIC
1669 typedef uint32_t(*LibTiePieLstGetDeviceSerialNumber_t)( uint32_t dwIdKind , uint32_t dwId );
1670 #else
1671 uint32_t LstGetDeviceSerialNumber( uint32_t dwIdKind , uint32_t dwId );
1672 #endif
1673 
1698 #ifdef LIBTIEPIE_DYNAMIC
1699 typedef uint32_t(*LibTiePieLstGetDeviceTypes_t)( uint32_t dwIdKind , uint32_t dwId );
1700 #else
1701 uint32_t LstGetDeviceTypes( uint32_t dwIdKind , uint32_t dwId );
1702 #endif
1703 
1717 #ifdef LIBTIEPIE_DYNAMIC
1718 typedef TpDeviceHandle_t(*LibTiePieLstOpenDevice_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1719 #else
1720 TpDeviceHandle_t LstOpenDevice( uint32_t dwIdKind , uint32_t dwId , uint32_t dwDeviceType );
1721 #endif
1722 
1735 #ifdef LIBTIEPIE_DYNAMIC
1736 typedef TpDeviceHandle_t(*LibTiePieLstOpenOscilloscope_t)( uint32_t dwIdKind , uint32_t dwId );
1737 #else
1738 TpDeviceHandle_t LstOpenOscilloscope( uint32_t dwIdKind , uint32_t dwId );
1739 #endif
1740 
1753 #ifdef LIBTIEPIE_DYNAMIC
1754 typedef TpDeviceHandle_t(*LibTiePieLstOpenGenerator_t)( uint32_t dwIdKind , uint32_t dwId );
1755 #else
1756 TpDeviceHandle_t LstOpenGenerator( uint32_t dwIdKind , uint32_t dwId );
1757 #endif
1758 
1770 #ifdef LIBTIEPIE_DYNAMIC
1771 typedef TpDeviceHandle_t(*LibTiePieLstOpenI2CHost_t)( uint32_t dwIdKind , uint32_t dwId );
1772 #else
1773 TpDeviceHandle_t LstOpenI2CHost( uint32_t dwIdKind , uint32_t dwId );
1774 #endif
1775 
1785 #ifdef LIBTIEPIE_DYNAMIC
1786 typedef uint32_t(*LibTiePieLstCreateCombinedDevice_t)( TpDeviceHandle_t* pDeviceHandles , uint32_t dwCount );
1787 #else
1788 uint32_t LstCreateCombinedDevice( TpDeviceHandle_t* pDeviceHandles , uint32_t dwCount );
1789 #endif
1790 
1800 #ifdef LIBTIEPIE_DYNAMIC
1801 typedef TpDeviceHandle_t(*LibTiePieLstCreateAndOpenCombinedDevice_t)( TpDeviceHandle_t* pDeviceHandles , uint32_t dwCount );
1802 #else
1803 TpDeviceHandle_t LstCreateAndOpenCombinedDevice( TpDeviceHandle_t* pDeviceHandles , uint32_t dwCount );
1804 #endif
1805 
1812 #ifdef LIBTIEPIE_DYNAMIC
1813 typedef void(*LibTiePieLstRemoveDevice_t)( uint32_t dwSerialNumber );
1814 #else
1815 void LstRemoveDevice( uint32_t dwSerialNumber );
1816 #endif
1817 
1833 #ifdef LIBTIEPIE_DYNAMIC
1834 typedef void(*LibTiePieLstUpdate_t)( uint32_t dwDeviceIdMask );
1835 #else
1836 void LstUpdate( uint32_t dwDeviceIdMask );
1837 #endif
1838 
1844 // Workaround: Without this line Doxygen adds the documentation below to the group above.
1845 
1871 #ifdef LIBTIEPIE_DYNAMIC
1872 typedef uint32_t(*LibTiePieLstDevGetContainedSerialNumbers_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t* pBuffer , uint32_t dwBufferLength );
1873 #else
1874 uint32_t LstDevGetContainedSerialNumbers( uint32_t dwIdKind , uint32_t dwId , uint32_t* pBuffer , uint32_t dwBufferLength );
1875 #endif
1876 
1886 #ifdef LIBTIEPIE_DYNAMIC
1887 typedef uint32_t(*LibTiePieLstCbDevGetProductId_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1888 #else
1889 uint32_t LstCbDevGetProductId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1890 #endif
1891 
1901 #ifdef LIBTIEPIE_DYNAMIC
1902 typedef uint32_t(*LibTiePieLstCbDevGetVendorId_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1903 #else
1904 uint32_t LstCbDevGetVendorId( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1905 #endif
1906 
1918 #ifdef LIBTIEPIE_DYNAMIC
1919 typedef uint32_t(*LibTiePieLstCbDevGetName_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1920 #else
1921 uint32_t LstCbDevGetName( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1922 #endif
1923 
1935 #ifdef LIBTIEPIE_DYNAMIC
1936 typedef uint32_t(*LibTiePieLstCbDevGetNameShort_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1937 #else
1938 uint32_t LstCbDevGetNameShort( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1939 #endif
1940 
1952 #ifdef LIBTIEPIE_DYNAMIC
1953 typedef uint32_t(*LibTiePieLstCbDevGetNameShortest_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1954 #else
1955 uint32_t LstCbDevGetNameShortest( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber , char* pBuffer , uint32_t dwBufferLength );
1956 #endif
1957 
1967 #ifdef LIBTIEPIE_DYNAMIC
1968 typedef TpVersion_t(*LibTiePieLstCbDevGetDriverVersion_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1969 #else
1970 TpVersion_t LstCbDevGetDriverVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1971 #endif
1972 
1982 #ifdef LIBTIEPIE_DYNAMIC
1983 typedef TpVersion_t(*LibTiePieLstCbDevGetFirmwareVersion_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1984 #else
1985 TpVersion_t LstCbDevGetFirmwareVersion( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1986 #endif
1987 
1997 #ifdef LIBTIEPIE_DYNAMIC
1998 typedef TpDate_t(*LibTiePieLstCbDevGetCalibrationDate_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
1999 #else
2000 TpDate_t LstCbDevGetCalibrationDate( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
2001 #endif
2002 
2012 #ifdef LIBTIEPIE_DYNAMIC
2013 typedef uint16_t(*LibTiePieLstCbScpGetChannelCount_t)( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
2014 #else
2015 uint16_t LstCbScpGetChannelCount( uint32_t dwIdKind , uint32_t dwId , uint32_t dwContainedDeviceSerialNumber );
2016 #endif
2017 
2024 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2025 
2033 #ifdef LIBTIEPIE_DYNAMIC
2034 typedef void(*LibTiePieLstSetCallbackDeviceAdded_t)( TpCallback_t pCallback , void* pData );
2035 #else
2036 void LstSetCallbackDeviceAdded( TpCallback_t pCallback , void* pData );
2037 #endif
2038 
2046 #ifdef LIBTIEPIE_DYNAMIC
2047 typedef void(*LibTiePieLstSetCallbackDeviceRemoved_t)( TpCallback_t pCallback , void* pData );
2048 #else
2049 void LstSetCallbackDeviceRemoved( TpCallback_t pCallback , void* pData );
2050 #endif
2051 
2052 #ifdef __linux__
2053 
2061 #ifdef LIBTIEPIE_DYNAMIC
2062 typedef void(*LibTiePieLstSetEventDeviceAdded_t)( int fdEvent );
2063 #else
2064 void LstSetEventDeviceAdded( int fdEvent );
2065 #endif
2066 
2074 #ifdef LIBTIEPIE_DYNAMIC
2075 typedef void(*LibTiePieLstSetEventDeviceRemoved_t)( int fdEvent );
2076 #else
2077 void LstSetEventDeviceRemoved( int fdEvent );
2078 #endif
2079 
2080 #endif
2081 
2082 #ifdef HAVE_WINDOWS_H
2083 
2091 #ifdef LIBTIEPIE_DYNAMIC
2092 typedef void(*LibTiePieLstSetEventDeviceAdded_t)( HANDLE hEvent );
2093 #else
2094 void LstSetEventDeviceAdded( HANDLE hEvent );
2095 #endif
2096 
2104 #ifdef LIBTIEPIE_DYNAMIC
2105 typedef void(*LibTiePieLstSetEventDeviceRemoved_t)( HANDLE hEvent );
2106 #else
2107 void LstSetEventDeviceRemoved( HANDLE hEvent );
2108 #endif
2109 
2119 #ifdef LIBTIEPIE_DYNAMIC
2120 typedef void(*LibTiePieLstSetMessageDeviceAdded_t)( HWND hWnd );
2121 #else
2122 void LstSetMessageDeviceAdded( HWND hWnd );
2123 #endif
2124 
2134 #ifdef LIBTIEPIE_DYNAMIC
2135 typedef void(*LibTiePieLstSetMessageDeviceRemoved_t)( HWND hWnd );
2136 #else
2137 void LstSetMessageDeviceRemoved( HWND hWnd );
2138 #endif
2139 
2140 #endif
2141 
2149 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2150 
2161 #ifdef LIBTIEPIE_DYNAMIC
2162 typedef void(*LibTiePieDevClose_t)( TpDeviceHandle_t hDevice );
2163 #else
2164 void DevClose( TpDeviceHandle_t hDevice );
2165 #endif
2166 
2172 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2173 
2181 #ifdef LIBTIEPIE_DYNAMIC
2182 typedef bool8_t(*LibTiePieDevIsRemoved_t)( TpDeviceHandle_t hDevice );
2183 #else
2184 bool8_t DevIsRemoved( TpDeviceHandle_t hDevice );
2185 #endif
2186 
2193 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2194 
2214 #ifdef LIBTIEPIE_DYNAMIC
2215 typedef TpVersion_t(*LibTiePieDevGetDriverVersion_t)( TpDeviceHandle_t hDevice );
2216 #else
2217 TpVersion_t DevGetDriverVersion( TpDeviceHandle_t hDevice );
2218 #endif
2219 
2239 #ifdef LIBTIEPIE_DYNAMIC
2240 typedef TpVersion_t(*LibTiePieDevGetFirmwareVersion_t)( TpDeviceHandle_t hDevice );
2241 #else
2242 TpVersion_t DevGetFirmwareVersion( TpDeviceHandle_t hDevice );
2243 #endif
2244 
2263 #ifdef LIBTIEPIE_DYNAMIC
2264 typedef TpDate_t(*LibTiePieDevGetCalibrationDate_t)( TpDeviceHandle_t hDevice );
2265 #else
2266 TpDate_t DevGetCalibrationDate( TpDeviceHandle_t hDevice );
2267 #endif
2268 
2276 #ifdef LIBTIEPIE_DYNAMIC
2277 typedef uint32_t(*LibTiePieDevGetSerialNumber_t)( TpDeviceHandle_t hDevice );
2278 #else
2279 uint32_t DevGetSerialNumber( TpDeviceHandle_t hDevice );
2280 #endif
2281 
2289 #ifdef LIBTIEPIE_DYNAMIC
2290 typedef uint32_t(*LibTiePieDevGetProductId_t)( TpDeviceHandle_t hDevice );
2291 #else
2292 uint32_t DevGetProductId( TpDeviceHandle_t hDevice );
2293 #endif
2294 
2302 #ifdef LIBTIEPIE_DYNAMIC
2303 typedef uint32_t(*LibTiePieDevGetVendorId_t)( TpDeviceHandle_t hDevice );
2304 #else
2305 uint32_t DevGetVendorId( TpDeviceHandle_t hDevice );
2306 #endif
2307 
2315 #ifdef LIBTIEPIE_DYNAMIC
2316 typedef uint32_t(*LibTiePieDevGetType_t)( TpDeviceHandle_t hDevice );
2317 #else
2318 uint32_t DevGetType( TpDeviceHandle_t hDevice );
2319 #endif
2320 
2344 #ifdef LIBTIEPIE_DYNAMIC
2345 typedef uint32_t(*LibTiePieDevGetName_t)( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2346 #else
2347 uint32_t DevGetName( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2348 #endif
2349 
2373 #ifdef LIBTIEPIE_DYNAMIC
2374 typedef uint32_t(*LibTiePieDevGetNameShort_t)( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2375 #else
2376 uint32_t DevGetNameShort( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2377 #endif
2378 
2403 #ifdef LIBTIEPIE_DYNAMIC
2404 typedef uint32_t(*LibTiePieDevGetNameShortest_t)( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2405 #else
2406 uint32_t DevGetNameShortest( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
2407 #endif
2408 
2417 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2418 
2427 #ifdef LIBTIEPIE_DYNAMIC
2428 typedef void(*LibTiePieDevSetCallbackRemoved_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2429 #else
2430 void DevSetCallbackRemoved( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2431 #endif
2432 
2433 #ifdef __linux__
2434 
2443 #ifdef LIBTIEPIE_DYNAMIC
2444 typedef void(*LibTiePieDevSetEventRemoved_t)( TpDeviceHandle_t hDevice , int fdEvent );
2445 #else
2446 void DevSetEventRemoved( TpDeviceHandle_t hDevice , int fdEvent );
2447 #endif
2448 
2449 #endif
2450 
2451 #ifdef HAVE_WINDOWS_H
2452 
2461 #ifdef LIBTIEPIE_DYNAMIC
2462 typedef void(*LibTiePieDevSetEventRemoved_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
2463 #else
2464 void DevSetEventRemoved( TpDeviceHandle_t hDevice , HANDLE hEvent );
2465 #endif
2466 
2477 #ifdef LIBTIEPIE_DYNAMIC
2478 typedef void(*LibTiePieDevSetMessageRemoved_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2479 #else
2480 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2481 #endif
2482 
2483 #endif
2484 
2500 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2501 
2509 #ifdef LIBTIEPIE_DYNAMIC
2510 typedef uint16_t(*LibTiePieDevTrGetInputCount_t)( TpDeviceHandle_t hDevice );
2511 #else
2512 uint16_t DevTrGetInputCount( TpDeviceHandle_t hDevice );
2513 #endif
2514 
2523 #ifdef LIBTIEPIE_DYNAMIC
2524 typedef uint16_t(*LibTiePieDevTrGetInputIndexById_t)( TpDeviceHandle_t hDevice , uint32_t dwId );
2525 #else
2526 uint16_t DevTrGetInputIndexById( TpDeviceHandle_t hDevice , uint32_t dwId );
2527 #endif
2528 
2537 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2538 
2548 #ifdef LIBTIEPIE_DYNAMIC
2549 typedef bool8_t(*LibTiePieDevTrInGetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wInput );
2550 #else
2551 bool8_t DevTrInGetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput );
2552 #endif
2553 
2564 #ifdef LIBTIEPIE_DYNAMIC
2565 typedef bool8_t(*LibTiePieDevTrInSetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wInput , bool8_t bEnable );
2566 #else
2567 bool8_t DevTrInSetEnabled( TpDeviceHandle_t hDevice , uint16_t wInput , bool8_t bEnable );
2568 #endif
2569 
2582 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2583 
2594 #ifdef LIBTIEPIE_DYNAMIC
2595 typedef uint64_t(*LibTiePieDevTrInGetKinds_t)( TpDeviceHandle_t hDevice , uint16_t wInput );
2596 #else
2597 uint64_t DevTrInGetKinds( TpDeviceHandle_t hDevice , uint16_t wInput );
2598 #endif
2599 
2612 #ifdef LIBTIEPIE_DYNAMIC
2613 typedef uint64_t(*LibTiePieScpTrInGetKindsEx_t)( TpDeviceHandle_t hDevice , uint16_t wInput , uint32_t dwMeasureMode );
2614 #else
2615 uint64_t ScpTrInGetKindsEx( TpDeviceHandle_t hDevice , uint16_t wInput , uint32_t dwMeasureMode );
2616 #endif
2617 
2618 
2629 #ifdef LIBTIEPIE_DYNAMIC
2630 typedef uint64_t(*LibTiePieDevTrInGetKind_t)( TpDeviceHandle_t hDevice , uint16_t wInput );
2631 #else
2632 uint64_t DevTrInGetKind( TpDeviceHandle_t hDevice , uint16_t wInput );
2633 #endif
2634 
2646 #ifdef LIBTIEPIE_DYNAMIC
2647 typedef uint64_t(*LibTiePieDevTrInSetKind_t)( TpDeviceHandle_t hDevice , uint16_t wInput , uint64_t qwKind );
2648 #else
2649 uint64_t DevTrInSetKind( TpDeviceHandle_t hDevice , uint16_t wInput , uint64_t qwKind );
2650 #endif
2651 
2662 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2663 
2672 #ifdef LIBTIEPIE_DYNAMIC
2673 typedef bool8_t(*LibTiePieDevTrInIsAvailable_t)( TpDeviceHandle_t hDevice , uint16_t wInput );
2674 #else
2675 bool8_t DevTrInIsAvailable( TpDeviceHandle_t hDevice , uint16_t wInput );
2676 #endif
2677 
2688 #ifdef LIBTIEPIE_DYNAMIC
2689 typedef bool8_t(*LibTiePieScpTrInIsAvailableEx_t)( TpDeviceHandle_t hDevice , uint16_t wInput , uint32_t dwMeasureMode );
2690 #else
2691 bool8_t ScpTrInIsAvailableEx( TpDeviceHandle_t hDevice , uint16_t wInput , uint32_t dwMeasureMode );
2692 #endif
2693 
2694 
2703 #ifdef LIBTIEPIE_DYNAMIC
2704 typedef uint32_t(*LibTiePieDevTrInGetId_t)( TpDeviceHandle_t hDevice , uint16_t wInput );
2705 #else
2706 uint32_t DevTrInGetId( TpDeviceHandle_t hDevice , uint16_t wInput );
2707 #endif
2708 
2719 #ifdef LIBTIEPIE_DYNAMIC
2720 typedef uint32_t(*LibTiePieDevTrInGetName_t)( TpDeviceHandle_t hDevice , uint16_t wInput , char* pBuffer , uint32_t dwBufferLength );
2721 #else
2722 uint32_t DevTrInGetName( TpDeviceHandle_t hDevice , uint16_t wInput , char* pBuffer , uint32_t dwBufferLength );
2723 #endif
2724 
2733 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2734 
2742 #ifdef LIBTIEPIE_DYNAMIC
2743 typedef uint16_t(*LibTiePieDevTrGetOutputCount_t)( TpDeviceHandle_t hDevice );
2744 #else
2745 uint16_t DevTrGetOutputCount( TpDeviceHandle_t hDevice );
2746 #endif
2747 
2756 #ifdef LIBTIEPIE_DYNAMIC
2757 typedef uint16_t(*LibTiePieDevTrGetOutputIndexById_t)( TpDeviceHandle_t hDevice , uint32_t dwId );
2758 #else
2759 uint16_t DevTrGetOutputIndexById( TpDeviceHandle_t hDevice , uint32_t dwId );
2760 #endif
2761 
2768 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2769 
2779 #ifdef LIBTIEPIE_DYNAMIC
2780 typedef bool8_t(*LibTiePieDevTrOutGetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wOutput );
2781 #else
2782 bool8_t DevTrOutGetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput );
2783 #endif
2784 
2795 #ifdef LIBTIEPIE_DYNAMIC
2796 typedef bool8_t(*LibTiePieDevTrOutSetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wOutput , bool8_t bEnable );
2797 #else
2798 bool8_t DevTrOutSetEnabled( TpDeviceHandle_t hDevice , uint16_t wOutput , bool8_t bEnable );
2799 #endif
2800 
2808 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2809 
2820 #ifdef LIBTIEPIE_DYNAMIC
2821 typedef uint64_t(*LibTiePieDevTrOutGetEvents_t)( TpDeviceHandle_t hDevice , uint16_t wOutput );
2822 #else
2823 uint64_t DevTrOutGetEvents( TpDeviceHandle_t hDevice , uint16_t wOutput );
2824 #endif
2825 
2836 #ifdef LIBTIEPIE_DYNAMIC
2837 typedef uint64_t(*LibTiePieDevTrOutGetEvent_t)( TpDeviceHandle_t hDevice , uint16_t wOutput );
2838 #else
2839 uint64_t DevTrOutGetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput );
2840 #endif
2841 
2853 #ifdef LIBTIEPIE_DYNAMIC
2854 typedef uint64_t(*LibTiePieDevTrOutSetEvent_t)( TpDeviceHandle_t hDevice , uint16_t wOutput , uint64_t qwEvent );
2855 #else
2856 uint64_t DevTrOutSetEvent( TpDeviceHandle_t hDevice , uint16_t wOutput , uint64_t qwEvent );
2857 #endif
2858 
2865 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2866 
2875 #ifdef LIBTIEPIE_DYNAMIC
2876 typedef uint32_t(*LibTiePieDevTrOutGetId_t)( TpDeviceHandle_t hDevice , uint16_t wOutput );
2877 #else
2878 uint32_t DevTrOutGetId( TpDeviceHandle_t hDevice , uint16_t wOutput );
2879 #endif
2880 
2891 #ifdef LIBTIEPIE_DYNAMIC
2892 typedef uint32_t(*LibTiePieDevTrOutGetName_t)( TpDeviceHandle_t hDevice , uint16_t wOutput , char* pBuffer , uint32_t dwBufferLength );
2893 #else
2894 uint32_t DevTrOutGetName( TpDeviceHandle_t hDevice , uint16_t wOutput , char* pBuffer , uint32_t dwBufferLength );
2895 #endif
2896 
2908 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2909 
2917 #ifdef LIBTIEPIE_DYNAMIC
2918 typedef uint16_t(*LibTiePieScpGetChannelCount_t)( TpDeviceHandle_t hDevice );
2919 #else
2920 uint16_t ScpGetChannelCount( TpDeviceHandle_t hDevice );
2921 #endif
2922 
2931 #ifdef LIBTIEPIE_DYNAMIC
2932 typedef uint32_t(*LibTiePieScpGetSharedChannelGroupCount_t)( TpDeviceHandle_t hDevice );
2933 #else
2934 uint32_t ScpGetSharedChannelGroupCount( TpDeviceHandle_t hDevice );
2935 #endif
2936 
2948 #ifdef LIBTIEPIE_DYNAMIC
2949 typedef uint32_t(*LibTiePieScpGetSharedChannelGroup_t)( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
2950 #else
2951 uint32_t ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
2952 #endif
2953 
2962 #ifdef LIBTIEPIE_DYNAMIC
2963 typedef bool8_t(*LibTiePieScpChIsAvailable_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
2964 #else
2965 bool8_t ScpChIsAvailable( TpDeviceHandle_t hDevice , uint16_t wCh );
2966 #endif
2967 
2969 
2983 #ifdef LIBTIEPIE_DYNAMIC
2984 typedef bool8_t(*LibTiePieScpChIsAvailableEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode , double dSampleFrequency , uint8_t byResolution , bool8_t* pChannelEnabled , uint16_t wChannelCount );
2985 #else
2986 bool8_t ScpChIsAvailableEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode , double dSampleFrequency , uint8_t byResolution , bool8_t* pChannelEnabled , uint16_t wChannelCount );
2987 #endif
2988 
2990 
2996 // Workaround: Without this line Doxygen adds the documentation below to the group above.
2997 
3006 #ifdef LIBTIEPIE_DYNAMIC
3007 typedef uint32_t(*LibTiePieScpChGetConnectorType_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3008 #else
3009 uint32_t ScpChGetConnectorType( TpDeviceHandle_t hDevice , uint16_t wCh );
3010 #endif
3011 
3020 #ifdef LIBTIEPIE_DYNAMIC
3021 typedef bool8_t(*LibTiePieScpChIsDifferential_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3022 #else
3023 bool8_t ScpChIsDifferential( TpDeviceHandle_t hDevice , uint16_t wCh );
3024 #endif
3025 
3033 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3034 
3043 #ifdef LIBTIEPIE_DYNAMIC
3044 typedef uint64_t(*LibTiePieScpChGetCouplings_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3045 #else
3046 uint64_t ScpChGetCouplings( TpDeviceHandle_t hDevice , uint16_t wCh );
3047 #endif
3048 
3057 #ifdef LIBTIEPIE_DYNAMIC
3058 typedef uint64_t(*LibTiePieScpChGetCoupling_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3059 #else
3060 uint64_t ScpChGetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh );
3061 #endif
3062 
3072 #ifdef LIBTIEPIE_DYNAMIC
3073 typedef uint64_t(*LibTiePieScpChSetCoupling_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
3074 #else
3075 uint64_t ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
3076 #endif
3077 
3085 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3086 
3095 #ifdef LIBTIEPIE_DYNAMIC
3096 typedef bool8_t(*LibTiePieScpChGetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3097 #else
3098 bool8_t ScpChGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
3099 #endif
3100 
3111 #ifdef LIBTIEPIE_DYNAMIC
3112 typedef bool8_t(*LibTiePieScpChSetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3113 #else
3114 bool8_t ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3115 #endif
3116 
3124 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3125 
3134 #ifdef LIBTIEPIE_DYNAMIC
3135 typedef double(*LibTiePieScpChGetProbeGain_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3136 #else
3137 double ScpChGetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh );
3138 #endif
3139 
3149 #ifdef LIBTIEPIE_DYNAMIC
3150 typedef double(*LibTiePieScpChSetProbeGain_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
3151 #else
3152 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
3153 #endif
3154 
3163 #ifdef LIBTIEPIE_DYNAMIC
3164 typedef double(*LibTiePieScpChGetProbeOffset_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3165 #else
3166 double ScpChGetProbeOffset( TpDeviceHandle_t hDevice , uint16_t wCh );
3167 #endif
3168 
3178 #ifdef LIBTIEPIE_DYNAMIC
3179 typedef double(*LibTiePieScpChSetProbeOffset_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeOffset );
3180 #else
3181 double ScpChSetProbeOffset( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeOffset );
3182 #endif
3183 
3191 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3192 
3201 #ifdef LIBTIEPIE_DYNAMIC
3202 typedef bool8_t(*LibTiePieScpChGetAutoRanging_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3203 #else
3204 bool8_t ScpChGetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh );
3205 #endif
3206 
3216 #ifdef LIBTIEPIE_DYNAMIC
3217 typedef bool8_t(*LibTiePieScpChSetAutoRanging_t)( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3218 #else
3219 bool8_t ScpChSetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3220 #endif
3221 
3249 #ifdef LIBTIEPIE_DYNAMIC
3250 typedef uint32_t(*LibTiePieScpChGetRanges_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
3251 #else
3252 uint32_t ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
3253 #endif
3254 
3268 #ifdef LIBTIEPIE_DYNAMIC
3269 typedef uint32_t(*LibTiePieScpChGetRangesEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
3270 #else
3271 uint32_t ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
3272 #endif
3273 
3274 
3283 #ifdef LIBTIEPIE_DYNAMIC
3284 typedef double(*LibTiePieScpChGetRange_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3285 #else
3286 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
3287 #endif
3288 
3309 #ifdef LIBTIEPIE_DYNAMIC
3310 typedef double(*LibTiePieScpChSetRange_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
3311 #else
3312 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
3313 #endif
3314 
3322 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3323 
3332 #ifdef LIBTIEPIE_DYNAMIC
3333 typedef bool8_t(*LibTiePieScpChHasTrigger_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3334 #else
3335 bool8_t ScpChHasTrigger( TpDeviceHandle_t hDevice , uint16_t wCh );
3336 #endif
3337 
3346 #ifdef LIBTIEPIE_DYNAMIC
3347 typedef bool8_t(*LibTiePieScpChTrIsAvailable_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3348 #else
3349 bool8_t ScpChTrIsAvailable( TpDeviceHandle_t hDevice , uint16_t wCh );
3350 #endif
3351 
3353 
3368 #ifdef LIBTIEPIE_DYNAMIC
3369 typedef bool8_t(*LibTiePieScpChTrIsAvailableEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode , double dSampleFrequency , uint8_t byResolution , bool8_t* pChannelEnabled , bool8_t* pChannelTriggerEnabled , uint16_t wChannelCount );
3370 #else
3371 bool8_t ScpChTrIsAvailableEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode , double dSampleFrequency , uint8_t byResolution , bool8_t* pChannelEnabled , bool8_t* pChannelTriggerEnabled , uint16_t wChannelCount );
3372 #endif
3373 
3375 
3384 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3385 
3395 #ifdef LIBTIEPIE_DYNAMIC
3396 typedef bool8_t(*LibTiePieScpChTrGetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3397 #else
3398 bool8_t ScpChTrGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
3399 #endif
3400 
3411 #ifdef LIBTIEPIE_DYNAMIC
3412 typedef bool8_t(*LibTiePieScpChTrSetEnabled_t)( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3413 #else
3414 bool8_t ScpChTrSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
3415 #endif
3416 
3430 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3431 
3442 #ifdef LIBTIEPIE_DYNAMIC
3443 typedef uint64_t(*LibTiePieScpChTrGetKinds_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3444 #else
3445 uint64_t ScpChTrGetKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
3446 #endif
3447 
3458 #ifdef LIBTIEPIE_DYNAMIC
3459 typedef uint64_t(*LibTiePieScpChTrGetKindsEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
3460 #else
3461 uint64_t ScpChTrGetKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
3462 #endif
3463 
3464 
3475 #ifdef LIBTIEPIE_DYNAMIC
3476 typedef uint64_t(*LibTiePieScpChTrGetKind_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3477 #else
3478 uint64_t ScpChTrGetKind( TpDeviceHandle_t hDevice , uint16_t wCh );
3479 #endif
3480 
3492 #ifdef LIBTIEPIE_DYNAMIC
3493 typedef uint64_t(*LibTiePieScpChTrSetKind_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
3494 #else
3495 uint64_t ScpChTrSetKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
3496 #endif
3497 
3515 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3516 
3528 #ifdef LIBTIEPIE_DYNAMIC
3529 typedef uint32_t(*LibTiePieScpChTrGetLevelCount_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3530 #else
3531 uint32_t ScpChTrGetLevelCount( TpDeviceHandle_t hDevice , uint16_t wCh );
3532 #endif
3533 
3543 #ifdef LIBTIEPIE_DYNAMIC
3544 typedef double(*LibTiePieScpChTrGetLevel_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3545 #else
3546 double ScpChTrGetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3547 #endif
3548 
3559 #ifdef LIBTIEPIE_DYNAMIC
3560 typedef double(*LibTiePieScpChTrSetLevel_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
3561 #else
3562 double ScpChTrSetLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
3563 #endif
3564 
3582 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3583 
3595 #ifdef LIBTIEPIE_DYNAMIC
3596 typedef uint32_t(*LibTiePieScpChTrGetHysteresisCount_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3597 #else
3598 uint32_t ScpChTrGetHysteresisCount( TpDeviceHandle_t hDevice , uint16_t wCh );
3599 #endif
3600 
3610 #ifdef LIBTIEPIE_DYNAMIC
3611 typedef double(*LibTiePieScpChTrGetHysteresis_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3612 #else
3613 double ScpChTrGetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3614 #endif
3615 
3626 #ifdef LIBTIEPIE_DYNAMIC
3627 typedef double(*LibTiePieScpChTrSetHysteresis_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
3628 #else
3629 double ScpChTrSetHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
3630 #endif
3631 
3645 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3646 
3658 #ifdef LIBTIEPIE_DYNAMIC
3659 typedef uint32_t(*LibTiePieScpChTrGetConditions_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3660 #else
3661 uint32_t ScpChTrGetConditions( TpDeviceHandle_t hDevice , uint16_t wCh );
3662 #endif
3663 
3674 #ifdef LIBTIEPIE_DYNAMIC
3675 typedef uint32_t(*LibTiePieScpChTrGetCondition_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3676 #else
3677 uint32_t ScpChTrGetCondition( TpDeviceHandle_t hDevice , uint16_t wCh );
3678 #endif
3679 
3691 #ifdef LIBTIEPIE_DYNAMIC
3692 typedef uint32_t(*LibTiePieScpChTrSetCondition_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwCondition );
3693 #else
3694 uint32_t ScpChTrSetCondition( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwCondition );
3695 #endif
3696 
3710 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3711 
3727 #ifdef LIBTIEPIE_DYNAMIC
3728 typedef uint32_t(*LibTiePieScpChTrGetTimeCount_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
3729 #else
3730 uint32_t ScpChTrGetTimeCount( TpDeviceHandle_t hDevice , uint16_t wCh );
3731 #endif
3732 
3748 #ifdef LIBTIEPIE_DYNAMIC
3749 typedef double(*LibTiePieScpChTrGetTime_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3750 #else
3751 double ScpChTrGetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
3752 #endif
3753 
3770 #ifdef LIBTIEPIE_DYNAMIC
3771 typedef double(*LibTiePieScpChTrSetTime_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
3772 #else
3773 double ScpChTrSetTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
3774 #endif
3775 
3777 
3792 #ifdef LIBTIEPIE_DYNAMIC
3793 typedef double(*LibTiePieScpChTrVerifyTime_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
3794 #else
3795 double ScpChTrVerifyTime( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime );
3796 #endif
3797 
3813 #ifdef LIBTIEPIE_DYNAMIC
3814 typedef double(*LibTiePieScpChTrVerifyTimeEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime , double dSampleFrequency );
3815 #else
3816 double ScpChTrVerifyTimeEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dTime , double dSampleFrequency );
3817 #endif
3818 
3820 
3876 // Workaround: Without this line Doxygen adds the documentation below to the group above.
3877 
3927 #ifdef INCLUDED_BY_MATLAB
3928 #ifdef LIBTIEPIE_DYNAMIC
3929 typedef uint64_t(*LibTiePieScpGetData_t)( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
3930 #else
3931 uint64_t ScpGetData( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
3932 #endif
3933 #else
3934 #ifdef LIBTIEPIE_DYNAMIC
3935 typedef uint64_t(*LibTiePieScpGetData_t)( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
3936 #else
3937 uint64_t ScpGetData( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
3938 #endif
3939 #endif
3940 
3953 #ifdef LIBTIEPIE_DYNAMIC
3954 typedef uint64_t(*LibTiePieScpGetData1Ch_t)( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3955 #else
3956 uint64_t ScpGetData1Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3957 #endif
3958 
3972 #ifdef LIBTIEPIE_DYNAMIC
3973 typedef uint64_t(*LibTiePieScpGetData2Ch_t)( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3974 #else
3975 uint64_t ScpGetData2Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3976 #endif
3977 
3992 #ifdef LIBTIEPIE_DYNAMIC
3993 typedef uint64_t(*LibTiePieScpGetData3Ch_t)( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3994 #else
3995 uint64_t ScpGetData3Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
3996 #endif
3997 
4013 #ifdef LIBTIEPIE_DYNAMIC
4014 typedef uint64_t(*LibTiePieScpGetData4Ch_t)( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4015 #else
4016 uint64_t ScpGetData4Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4017 #endif
4018 
4032 #ifdef LIBTIEPIE_DYNAMIC
4033 typedef uint64_t(*LibTiePieScpGetValidPreSampleCount_t)( TpDeviceHandle_t hDevice );
4034 #else
4035 uint64_t ScpGetValidPreSampleCount( TpDeviceHandle_t hDevice );
4036 #endif
4037 
4049 #ifdef LIBTIEPIE_DYNAMIC
4050 typedef void(*LibTiePieScpChGetDataValueRange_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
4051 #else
4052 void ScpChGetDataValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
4053 #endif
4054 
4065 #ifdef LIBTIEPIE_DYNAMIC
4066 typedef double(*LibTiePieScpChGetDataValueMax_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4067 #else
4068 double ScpChGetDataValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
4069 #endif
4070 
4081 #ifdef LIBTIEPIE_DYNAMIC
4082 typedef double(*LibTiePieScpChGetDataValueMin_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4083 #else
4084 double ScpChGetDataValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
4085 #endif
4086 
4093 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4094 
4107 #ifdef LIBTIEPIE_DYNAMIC
4108 typedef uint64_t(*LibTiePieScpGetDataRaw_t)( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
4109 #else
4110 uint64_t ScpGetDataRaw( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
4111 #endif
4112 
4123 #ifdef LIBTIEPIE_DYNAMIC
4124 typedef uint64_t(*LibTiePieScpGetDataRaw1Ch_t)( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4125 #else
4126 uint64_t ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4127 #endif
4128 
4140 #ifdef LIBTIEPIE_DYNAMIC
4141 typedef uint64_t(*LibTiePieScpGetDataRaw2Ch_t)( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4142 #else
4143 uint64_t ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4144 #endif
4145 
4158 #ifdef LIBTIEPIE_DYNAMIC
4159 typedef uint64_t(*LibTiePieScpGetDataRaw3Ch_t)( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4160 #else
4161 uint64_t ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4162 #endif
4163 
4177 #ifdef LIBTIEPIE_DYNAMIC
4178 typedef uint64_t(*LibTiePieScpGetDataRaw4Ch_t)( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4179 #else
4180 uint64_t ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
4181 #endif
4182 
4191 #ifdef LIBTIEPIE_DYNAMIC
4192 typedef uint32_t(*LibTiePieScpChGetDataRawType_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4193 #else
4194 uint32_t ScpChGetDataRawType( TpDeviceHandle_t hDevice , uint16_t wCh );
4195 #endif
4196 
4210 #ifdef LIBTIEPIE_DYNAMIC
4211 typedef void(*LibTiePieScpChGetDataRawValueRange_t)( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
4212 #else
4213 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
4214 #endif
4215 
4227 #ifdef LIBTIEPIE_DYNAMIC
4228 typedef int64_t(*LibTiePieScpChGetDataRawValueMax_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4229 #else
4230 int64_t ScpChGetDataRawValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
4231 #endif
4232 
4244 #ifdef LIBTIEPIE_DYNAMIC
4245 typedef int64_t(*LibTiePieScpChGetDataRawValueZero_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4246 #else
4247 int64_t ScpChGetDataRawValueZero( TpDeviceHandle_t hDevice , uint16_t wCh );
4248 #endif
4249 
4261 #ifdef LIBTIEPIE_DYNAMIC
4262 typedef int64_t(*LibTiePieScpChGetDataRawValueMin_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4263 #else
4264 int64_t ScpChGetDataRawValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
4265 #endif
4266 
4275 #ifdef LIBTIEPIE_DYNAMIC
4276 typedef bool8_t(*LibTiePieScpChIsRangeMaxReachable_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
4277 #else
4278 bool8_t ScpChIsRangeMaxReachable( TpDeviceHandle_t hDevice , uint16_t wCh );
4279 #endif
4280 
4291 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4292 
4301 #ifdef LIBTIEPIE_DYNAMIC
4302 typedef void(*LibTiePieScpSetCallbackDataReady_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4303 #else
4304 void ScpSetCallbackDataReady( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4305 #endif
4306 
4313 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4314 
4323 #ifdef LIBTIEPIE_DYNAMIC
4324 typedef void(*LibTiePieScpSetCallbackDataOverflow_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4325 #else
4326 void ScpSetCallbackDataOverflow( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4327 #endif
4328 
4335 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4336 
4345 #ifdef LIBTIEPIE_DYNAMIC
4346 typedef void(*LibTiePieScpSetCallbackConnectionTestCompleted_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4347 #else
4348 void ScpSetCallbackConnectionTestCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
4349 #endif
4350 
4355 #ifdef __linux__
4356 
4366 #ifdef LIBTIEPIE_DYNAMIC
4367 typedef void(*LibTiePieScpSetEventDataReady_t)( TpDeviceHandle_t hDevice , int fdEvent );
4368 #else
4369 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , int fdEvent );
4370 #endif
4371 
4381 #ifdef LIBTIEPIE_DYNAMIC
4382 typedef void(*LibTiePieScpSetEventDataOverflow_t)( TpDeviceHandle_t hDevice , int fdEvent );
4383 #else
4384 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , int fdEvent );
4385 #endif
4386 
4396 #ifdef LIBTIEPIE_DYNAMIC
4397 typedef void(*LibTiePieScpSetEventConnectionTestCompleted_t)( TpDeviceHandle_t hDevice , int fdEvent );
4398 #else
4399 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , int fdEvent );
4400 #endif
4401 
4402 #endif
4403 
4404 #ifdef HAVE_WINDOWS_H
4405 
4415 #ifdef LIBTIEPIE_DYNAMIC
4416 typedef void(*LibTiePieScpSetEventDataReady_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
4417 #else
4418 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , HANDLE hEvent );
4419 #endif
4420 
4430 #ifdef LIBTIEPIE_DYNAMIC
4431 typedef void(*LibTiePieScpSetEventDataOverflow_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
4432 #else
4433 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , HANDLE hEvent );
4434 #endif
4435 
4445 #ifdef LIBTIEPIE_DYNAMIC
4446 typedef void(*LibTiePieScpSetEventConnectionTestCompleted_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
4447 #else
4448 void ScpSetEventConnectionTestCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
4449 #endif
4450 
4462 #ifdef LIBTIEPIE_DYNAMIC
4463 typedef void(*LibTiePieScpSetMessageDataReady_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4464 #else
4465 void ScpSetMessageDataReady( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4466 #endif
4467 
4479 #ifdef LIBTIEPIE_DYNAMIC
4480 typedef void(*LibTiePieScpSetMessageDataOverflow_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4481 #else
4482 void ScpSetMessageDataOverflow( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4483 #endif
4484 
4496 #ifdef LIBTIEPIE_DYNAMIC
4497 typedef void(*LibTiePieScpSetMessageConnectionTestCompleted_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4498 #else
4499 void ScpSetMessageConnectionTestCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
4500 #endif
4501 
4502 #endif
4503 
4515 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4516 
4526 #ifdef LIBTIEPIE_DYNAMIC
4527 typedef bool8_t(*LibTiePieScpStart_t)( TpDeviceHandle_t hDevice );
4528 #else
4529 bool8_t ScpStart( TpDeviceHandle_t hDevice );
4530 #endif
4531 
4538 #ifdef LIBTIEPIE_DYNAMIC
4539 typedef void(*LibTiePieScpStop_t)( TpDeviceHandle_t hDevice );
4540 #else
4541 void ScpStop( TpDeviceHandle_t hDevice );
4542 #endif
4543 
4554 #ifdef LIBTIEPIE_DYNAMIC
4555 typedef void(*LibTiePieScpForceTrigger_t)( TpDeviceHandle_t hDevice );
4556 #else
4557 void ScpForceTrigger( TpDeviceHandle_t hDevice );
4558 #endif
4559 
4595 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4596 
4604 #ifdef LIBTIEPIE_DYNAMIC
4605 typedef uint32_t(*LibTiePieScpGetMeasureModes_t)( TpDeviceHandle_t hDevice );
4606 #else
4607 uint32_t ScpGetMeasureModes( TpDeviceHandle_t hDevice );
4608 #endif
4609 
4617 #ifdef LIBTIEPIE_DYNAMIC
4618 typedef uint32_t(*LibTiePieScpGetMeasureMode_t)( TpDeviceHandle_t hDevice );
4619 #else
4620 uint32_t ScpGetMeasureMode( TpDeviceHandle_t hDevice );
4621 #endif
4622 
4632 #ifdef LIBTIEPIE_DYNAMIC
4633 typedef uint32_t(*LibTiePieScpSetMeasureMode_t)( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
4634 #else
4635 uint32_t ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
4636 #endif
4637 
4645 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4646 
4654 #ifdef LIBTIEPIE_DYNAMIC
4655 typedef bool8_t(*LibTiePieScpIsRunning_t)( TpDeviceHandle_t hDevice );
4656 #else
4657 bool8_t ScpIsRunning( TpDeviceHandle_t hDevice );
4658 #endif
4659 
4669 #ifdef LIBTIEPIE_DYNAMIC
4670 typedef bool8_t(*LibTiePieScpIsTriggered_t)( TpDeviceHandle_t hDevice );
4671 #else
4672 bool8_t ScpIsTriggered( TpDeviceHandle_t hDevice );
4673 #endif
4674 
4690 #ifdef LIBTIEPIE_DYNAMIC
4691 typedef bool8_t(*LibTiePieScpIsDataReady_t)( TpDeviceHandle_t hDevice );
4692 #else
4693 bool8_t ScpIsDataReady( TpDeviceHandle_t hDevice );
4694 #endif
4695 
4708 #ifdef LIBTIEPIE_DYNAMIC
4709 typedef bool8_t(*LibTiePieScpIsDataOverflow_t)( TpDeviceHandle_t hDevice );
4710 #else
4711 bool8_t ScpIsDataOverflow( TpDeviceHandle_t hDevice );
4712 #endif
4713 
4741 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4742 
4750 #ifdef LIBTIEPIE_DYNAMIC
4751 typedef uint32_t(*LibTiePieScpGetAutoResolutionModes_t)( TpDeviceHandle_t hDevice );
4752 #else
4753 uint32_t ScpGetAutoResolutionModes( TpDeviceHandle_t hDevice );
4754 #endif
4755 
4763 #ifdef LIBTIEPIE_DYNAMIC
4764 typedef uint32_t(*LibTiePieScpGetAutoResolutionMode_t)( TpDeviceHandle_t hDevice );
4765 #else
4766 uint32_t ScpGetAutoResolutionMode( TpDeviceHandle_t hDevice );
4767 #endif
4768 
4777 #ifdef LIBTIEPIE_DYNAMIC
4778 typedef uint32_t(*LibTiePieScpSetAutoResolutionMode_t)( TpDeviceHandle_t hDevice , uint32_t dwAutoResolutionMode );
4779 #else
4780 uint32_t ScpSetAutoResolutionMode( TpDeviceHandle_t hDevice , uint32_t dwAutoResolutionMode );
4781 #endif
4782 
4808 #ifdef LIBTIEPIE_DYNAMIC
4809 typedef uint32_t(*LibTiePieScpGetResolutions_t)( TpDeviceHandle_t hDevice , uint8_t* pList , uint32_t dwLength );
4810 #else
4811 uint32_t ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t* pList , uint32_t dwLength );
4812 #endif
4813 
4821 #ifdef LIBTIEPIE_DYNAMIC
4822 typedef uint8_t(*LibTiePieScpGetResolution_t)( TpDeviceHandle_t hDevice );
4823 #else
4824 uint8_t ScpGetResolution( TpDeviceHandle_t hDevice );
4825 #endif
4826 
4837 #ifdef LIBTIEPIE_DYNAMIC
4838 typedef uint8_t(*LibTiePieScpSetResolution_t)( TpDeviceHandle_t hDevice , uint8_t byResolution );
4839 #else
4840 uint8_t ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
4841 #endif
4842 
4850 #ifdef LIBTIEPIE_DYNAMIC
4851 typedef bool8_t(*LibTiePieScpIsResolutionEnhanced_t)( TpDeviceHandle_t hDevice );
4852 #else
4853 bool8_t ScpIsResolutionEnhanced( TpDeviceHandle_t hDevice );
4854 #endif
4855 
4865 #ifdef LIBTIEPIE_DYNAMIC
4866 typedef bool8_t(*LibTiePieScpIsResolutionEnhancedEx_t)( TpDeviceHandle_t hDevice , uint8_t byResolution );
4867 #else
4868 bool8_t ScpIsResolutionEnhancedEx( TpDeviceHandle_t hDevice , uint8_t byResolution );
4869 #endif
4870 
4871 
4881 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4882 
4890 #ifdef LIBTIEPIE_DYNAMIC
4891 typedef uint32_t(*LibTiePieScpGetClockSources_t)( TpDeviceHandle_t hDevice );
4892 #else
4893 uint32_t ScpGetClockSources( TpDeviceHandle_t hDevice );
4894 #endif
4895 
4903 #ifdef LIBTIEPIE_DYNAMIC
4904 typedef uint32_t(*LibTiePieScpGetClockSource_t)( TpDeviceHandle_t hDevice );
4905 #else
4906 uint32_t ScpGetClockSource( TpDeviceHandle_t hDevice );
4907 #endif
4908 
4917 #ifdef LIBTIEPIE_DYNAMIC
4918 typedef uint32_t(*LibTiePieScpSetClockSource_t)( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
4919 #else
4920 uint32_t ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
4921 #endif
4922 
4930 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4931 
4939 #ifdef LIBTIEPIE_DYNAMIC
4940 typedef uint32_t(*LibTiePieScpGetClockOutputs_t)( TpDeviceHandle_t hDevice );
4941 #else
4942 uint32_t ScpGetClockOutputs( TpDeviceHandle_t hDevice );
4943 #endif
4944 
4952 #ifdef LIBTIEPIE_DYNAMIC
4953 typedef uint32_t(*LibTiePieScpGetClockOutput_t)( TpDeviceHandle_t hDevice );
4954 #else
4955 uint32_t ScpGetClockOutput( TpDeviceHandle_t hDevice );
4956 #endif
4957 
4966 #ifdef LIBTIEPIE_DYNAMIC
4967 typedef uint32_t(*LibTiePieScpSetClockOutput_t)( TpDeviceHandle_t hDevice , uint32_t dwClockOutput );
4968 #else
4969 uint32_t ScpSetClockOutput( TpDeviceHandle_t hDevice , uint32_t dwClockOutput );
4970 #endif
4971 
4995 // Workaround: Without this line Doxygen adds the documentation below to the group above.
4996 
5004 #ifdef LIBTIEPIE_DYNAMIC
5005 typedef double(*LibTiePieScpGetPreSampleRatio_t)( TpDeviceHandle_t hDevice );
5006 #else
5007 double ScpGetPreSampleRatio( TpDeviceHandle_t hDevice );
5008 #endif
5009 
5018 #ifdef LIBTIEPIE_DYNAMIC
5019 typedef double(*LibTiePieScpSetPreSampleRatio_t)( TpDeviceHandle_t hDevice , double dPreSampleRatio );
5020 #else
5021 double ScpSetPreSampleRatio( TpDeviceHandle_t hDevice , double dPreSampleRatio );
5022 #endif
5023 
5040 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5041 
5049 #ifdef LIBTIEPIE_DYNAMIC
5050 typedef uint64_t(*LibTiePieScpGetTriggerHoldOffCountMax_t)( TpDeviceHandle_t hDevice );
5051 #else
5052 uint64_t ScpGetTriggerHoldOffCountMax( TpDeviceHandle_t hDevice );
5053 #endif
5054 
5064 #ifdef LIBTIEPIE_DYNAMIC
5065 typedef uint64_t(*LibTiePieScpGetTriggerHoldOffCountMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
5066 #else
5067 uint64_t ScpGetTriggerHoldOffCountMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
5068 #endif
5069 
5070 
5078 #ifdef LIBTIEPIE_DYNAMIC
5079 typedef uint64_t(*LibTiePieScpGetTriggerHoldOffCount_t)( TpDeviceHandle_t hDevice );
5080 #else
5081 uint64_t ScpGetTriggerHoldOffCount( TpDeviceHandle_t hDevice );
5082 #endif
5083 
5092 #ifdef LIBTIEPIE_DYNAMIC
5093 typedef uint64_t(*LibTiePieScpSetTriggerHoldOffCount_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
5094 #else
5095 uint64_t ScpSetTriggerHoldOffCount( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
5096 #endif
5097 
5114 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5115 
5123 #ifdef LIBTIEPIE_DYNAMIC
5124 typedef uint64_t(*LibTiePieScpGetRecordLengthMax_t)( TpDeviceHandle_t hDevice );
5125 #else
5126 uint64_t ScpGetRecordLengthMax( TpDeviceHandle_t hDevice );
5127 #endif
5128 
5139 #ifdef LIBTIEPIE_DYNAMIC
5140 typedef uint64_t(*LibTiePieScpGetRecordLengthMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
5141 #else
5142 uint64_t ScpGetRecordLengthMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
5143 #endif
5144 
5145 
5153 #ifdef LIBTIEPIE_DYNAMIC
5154 typedef uint64_t(*LibTiePieScpGetRecordLength_t)( TpDeviceHandle_t hDevice );
5155 #else
5156 uint64_t ScpGetRecordLength( TpDeviceHandle_t hDevice );
5157 #endif
5158 
5168 #ifdef LIBTIEPIE_DYNAMIC
5169 typedef uint64_t(*LibTiePieScpSetRecordLength_t)( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
5170 #else
5171 uint64_t ScpSetRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
5172 #endif
5173 
5175 
5184 #ifdef LIBTIEPIE_DYNAMIC
5185 typedef uint64_t(*LibTiePieScpVerifyRecordLength_t)( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
5186 #else
5187 uint64_t ScpVerifyRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
5188 #endif
5189 
5201 #ifdef LIBTIEPIE_DYNAMIC
5202 typedef uint64_t(*LibTiePieScpVerifyRecordLengthEx_t)( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
5203 #else
5204 uint64_t ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
5205 #endif
5206 
5208 
5225 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5226 
5234 #ifdef LIBTIEPIE_DYNAMIC
5235 typedef double(*LibTiePieScpGetSampleFrequencyMax_t)( TpDeviceHandle_t hDevice );
5236 #else
5237 double ScpGetSampleFrequencyMax( TpDeviceHandle_t hDevice );
5238 #endif
5239 
5247 #ifdef LIBTIEPIE_DYNAMIC
5248 typedef double(*LibTiePieScpGetSampleFrequency_t)( TpDeviceHandle_t hDevice );
5249 #else
5250 double ScpGetSampleFrequency( TpDeviceHandle_t hDevice );
5251 #endif
5252 
5263 #ifdef LIBTIEPIE_DYNAMIC
5264 typedef double(*LibTiePieScpSetSampleFrequency_t)( TpDeviceHandle_t hDevice , double dSampleFrequency );
5265 #else
5266 double ScpSetSampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
5267 #endif
5268 
5270 
5279 #ifdef LIBTIEPIE_DYNAMIC
5280 typedef double(*LibTiePieScpVerifySampleFrequency_t)( TpDeviceHandle_t hDevice , double dSampleFrequency );
5281 #else
5282 double ScpVerifySampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
5283 #endif
5284 
5296 #ifdef LIBTIEPIE_DYNAMIC
5297 typedef double(*LibTiePieScpVerifySampleFrequencyEx_t)( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
5298 #else
5299 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
5300 #endif
5301 
5303 
5311 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5312 
5320 #ifdef LIBTIEPIE_DYNAMIC
5321 typedef uint32_t(*LibTiePieScpGetSegmentCountMax_t)( TpDeviceHandle_t hDevice );
5322 #else
5323 uint32_t ScpGetSegmentCountMax( TpDeviceHandle_t hDevice );
5324 #endif
5325 
5333 #ifdef LIBTIEPIE_DYNAMIC
5334 typedef uint32_t(*LibTiePieScpGetSegmentCount_t)( TpDeviceHandle_t hDevice );
5335 #else
5336 uint32_t ScpGetSegmentCount( TpDeviceHandle_t hDevice );
5337 #endif
5338 
5347 #ifdef LIBTIEPIE_DYNAMIC
5348 typedef uint32_t(*LibTiePieScpSetSegmentCount_t)( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount );
5349 #else
5350 uint32_t ScpSetSegmentCount( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount );
5351 #endif
5352 
5354 
5363 #ifdef LIBTIEPIE_DYNAMIC
5364 typedef uint32_t(*LibTiePieScpVerifySegmentCount_t)( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount );
5365 #else
5366 uint32_t ScpVerifySegmentCount( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount );
5367 #endif
5368 
5379 #ifdef LIBTIEPIE_DYNAMIC
5380 typedef uint32_t(*LibTiePieScpVerifySegmentCountEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount , uint64_t qwRecordLength , double dSampleFrequency );
5381 #else
5382 uint32_t ScpVerifySegmentCountEx( TpDeviceHandle_t hDevice , uint32_t dwSegmentCount , uint64_t qwRecordLength , double dSampleFrequency );
5383 #endif
5384 
5386 
5417 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5418 
5426 #ifdef LIBTIEPIE_DYNAMIC
5427 typedef double(*LibTiePieScpGetTriggerTimeOut_t)( TpDeviceHandle_t hDevice );
5428 #else
5429 double ScpGetTriggerTimeOut( TpDeviceHandle_t hDevice );
5430 #endif
5431 
5440 #ifdef LIBTIEPIE_DYNAMIC
5441 typedef double(*LibTiePieScpSetTriggerTimeOut_t)( TpDeviceHandle_t hDevice , double dTimeOut );
5442 #else
5443 double ScpSetTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeOut );
5444 #endif
5445 
5447 
5456 #ifdef LIBTIEPIE_DYNAMIC
5457 typedef double(*LibTiePieScpVerifyTriggerTimeOut_t)( TpDeviceHandle_t hDevice , double dTimeOut );
5458 #else
5459 double ScpVerifyTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeOut );
5460 #endif
5461 
5472 #ifdef LIBTIEPIE_DYNAMIC
5473 typedef double(*LibTiePieScpVerifyTriggerTimeOutEx_t)( TpDeviceHandle_t hDevice , double dTimeOut , uint32_t dwMeasureMode , double dSampleFrequency );
5474 #else
5475 double ScpVerifyTriggerTimeOutEx( TpDeviceHandle_t hDevice , double dTimeOut , uint32_t dwMeasureMode , double dSampleFrequency );
5476 #endif
5477 
5479 
5487 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5488 
5496 #ifdef LIBTIEPIE_DYNAMIC
5497 typedef double(*LibTiePieScpGetTriggerDelay_t)( TpDeviceHandle_t hDevice );
5498 #else
5499 double ScpGetTriggerDelay( TpDeviceHandle_t hDevice );
5500 #endif
5501 
5510 #ifdef LIBTIEPIE_DYNAMIC
5511 typedef double(*LibTiePieScpSetTriggerDelay_t)( TpDeviceHandle_t hDevice , double dDelay );
5512 #else
5513 double ScpSetTriggerDelay( TpDeviceHandle_t hDevice , double dDelay );
5514 #endif
5515 
5517 
5526 #ifdef LIBTIEPIE_DYNAMIC
5527 typedef double(*LibTiePieScpVerifyTriggerDelay_t)( TpDeviceHandle_t hDevice , double dDelay );
5528 #else
5529 double ScpVerifyTriggerDelay( TpDeviceHandle_t hDevice , double dDelay );
5530 #endif
5531 
5542 #ifdef LIBTIEPIE_DYNAMIC
5543 typedef double(*LibTiePieScpVerifyTriggerDelayEx_t)( TpDeviceHandle_t hDevice , double dDelay , uint32_t dwMeasureMode , double dSampleFrequency );
5544 #else
5545 double ScpVerifyTriggerDelayEx( TpDeviceHandle_t hDevice , double dDelay , uint32_t dwMeasureMode , double dSampleFrequency );
5546 #endif
5547 
5549 
5559 #ifdef LIBTIEPIE_DYNAMIC
5560 typedef uint64_t(*LibTiePieScpGetTriggerSources_t)( TpDeviceHandle_t hDevice );
5561 #else
5562 uint64_t ScpGetTriggerSources( TpDeviceHandle_t hDevice );
5563 #endif
5564 
5575 #ifdef LIBTIEPIE_DYNAMIC
5576 typedef uint64_t(*LibTiePieScpGetTriggerSourcesEx_t)( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
5577 #else
5578 uint64_t ScpGetTriggerSourcesEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
5579 #endif
5580 
5581 
5590 #ifdef LIBTIEPIE_DYNAMIC
5591 typedef uint64_t(*LibTiePieScpGetTriggerSourceOR_t)( TpDeviceHandle_t hDevice );
5592 #else
5593 uint64_t ScpGetTriggerSourceOR( TpDeviceHandle_t hDevice );
5594 #endif
5595 
5605 #ifdef LIBTIEPIE_DYNAMIC
5606 typedef uint64_t(*LibTiePieScpSetTriggerSourceOR_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5607 #else
5608 uint64_t ScpSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5609 #endif
5610 
5619 #ifdef LIBTIEPIE_DYNAMIC
5620 typedef uint64_t(*LibTiePieScpGetTriggerSourceAND_t)( TpDeviceHandle_t hDevice );
5621 #else
5622 uint64_t ScpGetTriggerSourceAND( TpDeviceHandle_t hDevice );
5623 #endif
5624 
5634 #ifdef LIBTIEPIE_DYNAMIC
5635 typedef uint64_t(*LibTiePieScpSetTriggerSourceAND_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5636 #else
5637 uint64_t ScpSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5638 #endif
5639 
5652 #ifdef LIBTIEPIE_DYNAMIC
5653 typedef uint64_t(*LibTiePieScpGetTriggerKinds_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5654 #else
5655 uint64_t ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
5656 #endif
5657 
5672 #ifdef LIBTIEPIE_DYNAMIC
5673 typedef uint64_t(*LibTiePieScpGetTriggerKindsEx_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
5674 #else
5675 uint64_t ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
5676 #endif
5677 
5678 
5688 #ifdef LIBTIEPIE_DYNAMIC
5689 typedef uint64_t(*LibTiePieScpGetTriggerKind_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
5690 #else
5691 uint64_t ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
5692 #endif
5693 
5704 #ifdef LIBTIEPIE_DYNAMIC
5705 typedef uint64_t(*LibTiePieScpSetTriggerKind_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
5706 #else
5707 uint64_t ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
5708 #endif
5709 
5720 #ifdef LIBTIEPIE_DYNAMIC
5721 typedef double(*LibTiePieScpGetTriggerLevel_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
5722 #else
5723 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
5724 #endif
5725 
5737 #ifdef LIBTIEPIE_DYNAMIC
5738 typedef double(*LibTiePieScpSetTriggerLevel_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
5739 #else
5740 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
5741 #endif
5742 
5753 #ifdef LIBTIEPIE_DYNAMIC
5754 typedef double(*LibTiePieScpGetTriggerHysteresis_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
5755 #else
5756 double ScpGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
5757 #endif
5758 
5770 #ifdef LIBTIEPIE_DYNAMIC
5771 typedef double(*LibTiePieScpSetTriggerHysteresis_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
5772 #else
5773 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
5774 #endif
5775 
5785 #ifdef LIBTIEPIE_DYNAMIC
5786 typedef uint64_t(*LibTiePieScpChGetTriggerKinds_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
5787 #else
5788 uint64_t ScpChGetTriggerKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
5789 #endif
5790 
5802 #ifdef LIBTIEPIE_DYNAMIC
5803 typedef uint64_t(*LibTiePieScpChGetTriggerKindsEx_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
5804 #else
5805 uint64_t ScpChGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
5806 #endif
5807 
5808 
5818 #ifdef LIBTIEPIE_DYNAMIC
5819 typedef uint64_t(*LibTiePieScpChGetTriggerKind_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
5820 #else
5821 uint64_t ScpChGetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh );
5822 #endif
5823 
5834 #ifdef LIBTIEPIE_DYNAMIC
5835 typedef uint64_t(*LibTiePieScpChSetTriggerKind_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
5836 #else
5837 uint64_t ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
5838 #endif
5839 
5850 #ifdef LIBTIEPIE_DYNAMIC
5851 typedef double(*LibTiePieScpChGetTriggerLevel_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
5852 #else
5853 double ScpChGetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
5854 #endif
5855 
5867 #ifdef LIBTIEPIE_DYNAMIC
5868 typedef double(*LibTiePieScpChSetTriggerLevel_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
5869 #else
5870 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
5871 #endif
5872 
5883 #ifdef LIBTIEPIE_DYNAMIC
5884 typedef double(*LibTiePieScpChGetTriggerHysteresis_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
5885 #else
5886 double ScpChGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
5887 #endif
5888 
5900 #ifdef LIBTIEPIE_DYNAMIC
5901 typedef double(*LibTiePieScpChSetTriggerHysteresis_t)( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
5902 #else
5903 double ScpChSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
5904 #endif
5905 
5915 #ifdef LIBTIEPIE_DYNAMIC
5916 typedef double(*LibTiePieScpChGetTriggerPulseTime_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
5917 #else
5918 double ScpChGetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh );
5919 #endif
5920 
5931 #ifdef LIBTIEPIE_DYNAMIC
5932 typedef double(*LibTiePieScpChSetTriggerPulseTime_t)( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
5933 #else
5934 double ScpChSetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
5935 #endif
5936 
5943 // Workaround: Without this line Doxygen adds the documentation below to the group above.
5944 
5952 #ifdef LIBTIEPIE_DYNAMIC
5953 typedef bool8_t(*LibTiePieScpHasConnectionTest_t)( TpDeviceHandle_t hDevice );
5954 #else
5955 bool8_t ScpHasConnectionTest( TpDeviceHandle_t hDevice );
5956 #endif
5957 
5966 #ifdef LIBTIEPIE_DYNAMIC
5967 typedef bool8_t(*LibTiePieScpChHasConnectionTest_t)( TpDeviceHandle_t hDevice , uint16_t wCh );
5968 #else
5969 bool8_t ScpChHasConnectionTest( TpDeviceHandle_t hDevice , uint16_t wCh );
5970 #endif
5971 
5980 #ifdef LIBTIEPIE_DYNAMIC
5981 typedef bool8_t(*LibTiePieScpStartConnectionTest_t)( TpDeviceHandle_t hDevice , uint64_t qwChannelMask );
5982 #else
5983 bool8_t ScpStartConnectionTest( TpDeviceHandle_t hDevice , uint64_t qwChannelMask );
5984 #endif
5985 
5993 #ifdef LIBTIEPIE_DYNAMIC
5994 typedef bool8_t(*LibTiePieScpIsConnectionTestCompleted_t)( TpDeviceHandle_t hDevice );
5995 #else
5996 bool8_t ScpIsConnectionTestCompleted( TpDeviceHandle_t hDevice );
5997 #endif
5998 
6008 #ifdef LIBTIEPIE_DYNAMIC
6009 typedef uint16_t(*LibTiePieScpGetConnectionTestData_t)( TpDeviceHandle_t hDevice , LibTiePieTriState_t* pBuffer , uint16_t wChannelCount );
6010 #else
6011 uint16_t ScpGetConnectionTestData( TpDeviceHandle_t hDevice , LibTiePieTriState_t* pBuffer , uint16_t wChannelCount );
6012 #endif
6013 
6026 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6027 
6035 #ifdef LIBTIEPIE_DYNAMIC
6036 typedef uint32_t(*LibTiePieGenGetConnectorType_t)( TpDeviceHandle_t hDevice );
6037 #else
6038 uint32_t GenGetConnectorType( TpDeviceHandle_t hDevice );
6039 #endif
6040 
6048 #ifdef LIBTIEPIE_DYNAMIC
6049 typedef bool8_t(*LibTiePieGenIsDifferential_t)( TpDeviceHandle_t hDevice );
6050 #else
6051 bool8_t GenIsDifferential( TpDeviceHandle_t hDevice );
6052 #endif
6053 
6061 #ifdef LIBTIEPIE_DYNAMIC
6062 typedef double(*LibTiePieGenGetImpedance_t)( TpDeviceHandle_t hDevice );
6063 #else
6064 double GenGetImpedance( TpDeviceHandle_t hDevice );
6065 #endif
6066 
6074 #ifdef LIBTIEPIE_DYNAMIC
6075 typedef uint8_t(*LibTiePieGenGetResolution_t)( TpDeviceHandle_t hDevice );
6076 #else
6077 uint8_t GenGetResolution( TpDeviceHandle_t hDevice );
6078 #endif
6079 
6087 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6088 
6099 #ifdef LIBTIEPIE_DYNAMIC
6100 typedef bool8_t(*LibTiePieGenIsControllable_t)( TpDeviceHandle_t hDevice );
6101 #else
6102 bool8_t GenIsControllable( TpDeviceHandle_t hDevice );
6103 #endif
6104 
6112 #ifdef LIBTIEPIE_DYNAMIC
6113 typedef bool8_t(*LibTiePieGenGetOutputOn_t)( TpDeviceHandle_t hDevice );
6114 #else
6115 bool8_t GenGetOutputOn( TpDeviceHandle_t hDevice );
6116 #endif
6117 
6126 #ifdef LIBTIEPIE_DYNAMIC
6127 typedef bool8_t(*LibTiePieGenSetOutputOn_t)( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
6128 #else
6129 bool8_t GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
6130 #endif
6131 
6138 #ifdef LIBTIEPIE_DYNAMIC
6139 typedef void(*LibTiePieGenStart_t)( TpDeviceHandle_t hDevice );
6140 #else
6141 void GenStart( TpDeviceHandle_t hDevice );
6142 #endif
6143 
6150 #ifdef LIBTIEPIE_DYNAMIC
6151 typedef void(*LibTiePieGenStop_t)( TpDeviceHandle_t hDevice );
6152 #else
6153 void GenStop( TpDeviceHandle_t hDevice );
6154 #endif
6155 
6167 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6168 
6176 #ifdef LIBTIEPIE_DYNAMIC
6177 typedef bool8_t(*LibTiePieGenIsBurstActive_t)( TpDeviceHandle_t hDevice );
6178 #else
6179 bool8_t GenIsBurstActive( TpDeviceHandle_t hDevice );
6180 #endif
6181 
6189 #ifdef LIBTIEPIE_DYNAMIC
6190 typedef uint64_t(*LibTiePieGenGetBurstCount_t)( TpDeviceHandle_t hDevice );
6191 #else
6192 uint64_t GenGetBurstCount( TpDeviceHandle_t hDevice );
6193 #endif
6194 
6202 #ifdef LIBTIEPIE_DYNAMIC
6203 typedef uint64_t(*LibTiePieGenGetBurstCountMax_t)( TpDeviceHandle_t hDevice );
6204 #else
6205 uint64_t GenGetBurstCountMax( TpDeviceHandle_t hDevice );
6206 #endif
6207 
6217 #ifdef LIBTIEPIE_DYNAMIC
6218 typedef uint64_t(*LibTiePieGenSetBurstCount_t)( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
6219 #else
6220 uint64_t GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
6221 #endif
6222 
6230 #ifdef LIBTIEPIE_DYNAMIC
6231 typedef uint64_t(*LibTiePieGenGetBurstModes_t)( TpDeviceHandle_t hDevice );
6232 #else
6233 uint64_t GenGetBurstModes( TpDeviceHandle_t hDevice );
6234 #endif
6235 
6243 #ifdef LIBTIEPIE_DYNAMIC
6244 typedef uint64_t(*LibTiePieGenGetBurstMode_t)( TpDeviceHandle_t hDevice );
6245 #else
6246 uint64_t GenGetBurstMode( TpDeviceHandle_t hDevice );
6247 #endif
6248 
6258 #ifdef LIBTIEPIE_DYNAMIC
6259 typedef uint64_t(*LibTiePieGenSetBurstMode_t)( TpDeviceHandle_t hDevice , uint64_t qwBurstMode );
6260 #else
6261 uint64_t GenSetBurstMode( TpDeviceHandle_t hDevice , uint64_t qwBurstMode );
6262 #endif
6263 
6273 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6274 
6282 #ifdef LIBTIEPIE_DYNAMIC
6283 typedef uint32_t(*LibTiePieGenGetSignalTypes_t)( TpDeviceHandle_t hDevice );
6284 #else
6285 uint32_t GenGetSignalTypes( TpDeviceHandle_t hDevice );
6286 #endif
6287 
6295 #ifdef LIBTIEPIE_DYNAMIC
6296 typedef uint32_t(*LibTiePieGenGetSignalType_t)( TpDeviceHandle_t hDevice );
6297 #else
6298 uint32_t GenGetSignalType( TpDeviceHandle_t hDevice );
6299 #endif
6300 
6312 #ifdef LIBTIEPIE_DYNAMIC
6313 typedef uint32_t(*LibTiePieGenSetSignalType_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
6314 #else
6315 uint32_t GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
6316 #endif
6317 
6327 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6328 
6330 
6340 #ifdef LIBTIEPIE_DYNAMIC
6341 typedef void(*LibTiePieGenGetAmplitudeMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6342 #else
6343 void GenGetAmplitudeMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6344 #endif
6345 
6347 
6355 #ifdef LIBTIEPIE_DYNAMIC
6356 typedef double(*LibTiePieGenGetAmplitudeMax_t)( TpDeviceHandle_t hDevice );
6357 #else
6358 double GenGetAmplitudeMax( TpDeviceHandle_t hDevice );
6359 #endif
6360 
6368 #ifdef LIBTIEPIE_DYNAMIC
6369 typedef double(*LibTiePieGenGetAmplitudeMin_t)( TpDeviceHandle_t hDevice );
6370 #else
6371 double GenGetAmplitudeMin( TpDeviceHandle_t hDevice );
6372 #endif
6373 
6381 #ifdef LIBTIEPIE_DYNAMIC
6382 typedef double(*LibTiePieGenGetAmplitude_t)( TpDeviceHandle_t hDevice );
6383 #else
6384 double GenGetAmplitude( TpDeviceHandle_t hDevice );
6385 #endif
6386 
6398 #ifdef LIBTIEPIE_DYNAMIC
6399 typedef double(*LibTiePieGenSetAmplitude_t)( TpDeviceHandle_t hDevice , double dAmplitude );
6400 #else
6401 double GenSetAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
6402 #endif
6403 
6405 
6414 #ifdef LIBTIEPIE_DYNAMIC
6415 typedef double(*LibTiePieGenVerifyAmplitude_t)( TpDeviceHandle_t hDevice , double dAmplitude );
6416 #else
6417 double GenVerifyAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
6418 #endif
6419 
6431 #ifdef LIBTIEPIE_DYNAMIC
6432 typedef double(*LibTiePieGenVerifyAmplitudeEx_t)( TpDeviceHandle_t hDevice , double dAmplitude , uint32_t dwSignalType , uint32_t dwAmplitudeRangeIndex , double dOffset );
6433 #else
6434 double GenVerifyAmplitudeEx( TpDeviceHandle_t hDevice , double dAmplitude , uint32_t dwSignalType , uint32_t dwAmplitudeRangeIndex , double dOffset );
6435 #endif
6436 
6438 
6446 #ifdef LIBTIEPIE_DYNAMIC
6447 typedef bool8_t(*LibTiePieGenGetAmplitudeAutoRanging_t)( TpDeviceHandle_t hDevice );
6448 #else
6449 bool8_t GenGetAmplitudeAutoRanging( TpDeviceHandle_t hDevice );
6450 #endif
6451 
6460 #ifdef LIBTIEPIE_DYNAMIC
6461 typedef bool8_t(*LibTiePieGenSetAmplitudeAutoRanging_t)( TpDeviceHandle_t hDevice , bool8_t bEnable );
6462 #else
6463 bool8_t GenSetAmplitudeAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
6464 #endif
6465 
6490 #ifdef LIBTIEPIE_DYNAMIC
6491 typedef uint32_t(*LibTiePieGenGetAmplitudeRanges_t)( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
6492 #else
6493 uint32_t GenGetAmplitudeRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
6494 #endif
6495 
6503 #ifdef LIBTIEPIE_DYNAMIC
6504 typedef double(*LibTiePieGenGetAmplitudeRange_t)( TpDeviceHandle_t hDevice );
6505 #else
6506 double GenGetAmplitudeRange( TpDeviceHandle_t hDevice );
6507 #endif
6508 
6528 #ifdef LIBTIEPIE_DYNAMIC
6529 typedef double(*LibTiePieGenSetAmplitudeRange_t)( TpDeviceHandle_t hDevice , double dRange );
6530 #else
6531 double GenSetAmplitudeRange( TpDeviceHandle_t hDevice , double dRange );
6532 #endif
6533 
6543 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6544 
6546 
6556 #ifdef LIBTIEPIE_DYNAMIC
6557 typedef void(*LibTiePieGenGetFrequencyMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , uint32_t dwSignalType , double* pMin , double* pMax );
6558 #else
6559 void GenGetFrequencyMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , uint32_t dwSignalType , double* pMin , double* pMax );
6560 #endif
6561 
6563 
6573 #ifdef LIBTIEPIE_DYNAMIC
6574 typedef void(*LibTiePieGenGetFrequencyMinMax_t)( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , double* pMin , double* pMax );
6575 #else
6576 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode , double* pMin , double* pMax );
6577 #endif
6578 
6586 #ifdef LIBTIEPIE_DYNAMIC
6587 typedef double(*LibTiePieGenGetFrequencyMin_t)( TpDeviceHandle_t hDevice );
6588 #else
6589 double GenGetFrequencyMin( TpDeviceHandle_t hDevice );
6590 #endif
6591 
6599 #ifdef LIBTIEPIE_DYNAMIC
6600 typedef double(*LibTiePieGenGetFrequencyMax_t)( TpDeviceHandle_t hDevice );
6601 #else
6602 double GenGetFrequencyMax( TpDeviceHandle_t hDevice );
6603 #endif
6604 
6612 #ifdef LIBTIEPIE_DYNAMIC
6613 typedef double(*LibTiePieGenGetFrequency_t)( TpDeviceHandle_t hDevice );
6614 #else
6615 double GenGetFrequency( TpDeviceHandle_t hDevice );
6616 #endif
6617 
6628 #ifdef LIBTIEPIE_DYNAMIC
6629 typedef double(*LibTiePieGenSetFrequency_t)( TpDeviceHandle_t hDevice , double dFrequency );
6630 #else
6631 double GenSetFrequency( TpDeviceHandle_t hDevice , double dFrequency );
6632 #endif
6633 
6635 
6644 #ifdef LIBTIEPIE_DYNAMIC
6645 typedef double(*LibTiePieGenVerifyFrequency_t)( TpDeviceHandle_t hDevice , double dFrequency );
6646 #else
6647 double GenVerifyFrequency( TpDeviceHandle_t hDevice , double dFrequency );
6648 #endif
6649 
6659 #ifdef LIBTIEPIE_DYNAMIC
6660 typedef double(*LibTiePieGenVerifyFrequencyEx_t)( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode );
6661 #else
6662 double GenVerifyFrequencyEx( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode );
6663 #endif
6664 
6676 #ifdef LIBTIEPIE_DYNAMIC
6677 typedef double(*LibTiePieGenVerifyFrequencyEx2_t)( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode , uint32_t dwSignalType , uint64_t qwDataLength );
6678 #else
6679 double GenVerifyFrequencyEx2( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwFrequencyMode , uint32_t dwSignalType , uint64_t qwDataLength );
6680 #endif
6681 
6683 
6691 #ifdef LIBTIEPIE_DYNAMIC
6692 typedef uint32_t(*LibTiePieGenGetFrequencyModes_t)( TpDeviceHandle_t hDevice );
6693 #else
6694 uint32_t GenGetFrequencyModes( TpDeviceHandle_t hDevice );
6695 #endif
6696 
6706 #ifdef LIBTIEPIE_DYNAMIC
6707 typedef uint32_t(*LibTiePieGenGetFrequencyModesEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
6708 #else
6709 uint32_t GenGetFrequencyModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
6710 #endif
6711 
6712 
6720 #ifdef LIBTIEPIE_DYNAMIC
6721 typedef uint32_t(*LibTiePieGenGetFrequencyMode_t)( TpDeviceHandle_t hDevice );
6722 #else
6723 uint32_t GenGetFrequencyMode( TpDeviceHandle_t hDevice );
6724 #endif
6725 
6737 #ifdef LIBTIEPIE_DYNAMIC
6738 typedef uint32_t(*LibTiePieGenSetFrequencyMode_t)( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode );
6739 #else
6740 uint32_t GenSetFrequencyMode( TpDeviceHandle_t hDevice , uint32_t dwFrequencyMode );
6741 #endif
6742 
6752 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6753 
6755 
6765 #ifdef LIBTIEPIE_DYNAMIC
6766 typedef void(*LibTiePieGenGetOffsetMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6767 #else
6768 void GenGetOffsetMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6769 #endif
6770 
6772 
6780 #ifdef LIBTIEPIE_DYNAMIC
6781 typedef double(*LibTiePieGenGetOffsetMin_t)( TpDeviceHandle_t hDevice );
6782 #else
6783 double GenGetOffsetMin( TpDeviceHandle_t hDevice );
6784 #endif
6785 
6793 #ifdef LIBTIEPIE_DYNAMIC
6794 typedef double(*LibTiePieGenGetOffsetMax_t)( TpDeviceHandle_t hDevice );
6795 #else
6796 double GenGetOffsetMax( TpDeviceHandle_t hDevice );
6797 #endif
6798 
6806 #ifdef LIBTIEPIE_DYNAMIC
6807 typedef double(*LibTiePieGenGetOffset_t)( TpDeviceHandle_t hDevice );
6808 #else
6809 double GenGetOffset( TpDeviceHandle_t hDevice );
6810 #endif
6811 
6820 #ifdef LIBTIEPIE_DYNAMIC
6821 typedef double(*LibTiePieGenSetOffset_t)( TpDeviceHandle_t hDevice , double dOffset );
6822 #else
6823 double GenSetOffset( TpDeviceHandle_t hDevice , double dOffset );
6824 #endif
6825 
6827 
6836 #ifdef LIBTIEPIE_DYNAMIC
6837 typedef double(*LibTiePieGenVerifyOffset_t)( TpDeviceHandle_t hDevice , double dOffset );
6838 #else
6839 double GenVerifyOffset( TpDeviceHandle_t hDevice , double dOffset );
6840 #endif
6841 
6852 #ifdef LIBTIEPIE_DYNAMIC
6853 typedef double(*LibTiePieGenVerifyOffsetEx_t)( TpDeviceHandle_t hDevice , double dOffset , uint32_t dwSignalType , double dAmplitude );
6854 #else
6855 double GenVerifyOffsetEx( TpDeviceHandle_t hDevice , double dOffset , uint32_t dwSignalType , double dAmplitude );
6856 #endif
6857 
6859 
6869 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6870 
6872 
6882 #ifdef LIBTIEPIE_DYNAMIC
6883 typedef void(*LibTiePieGenGetPhaseMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6884 #else
6885 void GenGetPhaseMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
6886 #endif
6887 
6889 
6897 #ifdef LIBTIEPIE_DYNAMIC
6898 typedef double(*LibTiePieGenGetPhaseMin_t)( TpDeviceHandle_t hDevice );
6899 #else
6900 double GenGetPhaseMin( TpDeviceHandle_t hDevice );
6901 #endif
6902 
6910 #ifdef LIBTIEPIE_DYNAMIC
6911 typedef double(*LibTiePieGenGetPhaseMax_t)( TpDeviceHandle_t hDevice );
6912 #else
6913 double GenGetPhaseMax( TpDeviceHandle_t hDevice );
6914 #endif
6915 
6923 #ifdef LIBTIEPIE_DYNAMIC
6924 typedef double(*LibTiePieGenGetPhase_t)( TpDeviceHandle_t hDevice );
6925 #else
6926 double GenGetPhase( TpDeviceHandle_t hDevice );
6927 #endif
6928 
6939 #ifdef LIBTIEPIE_DYNAMIC
6940 typedef double(*LibTiePieGenSetPhase_t)( TpDeviceHandle_t hDevice , double dPhase );
6941 #else
6942 double GenSetPhase( TpDeviceHandle_t hDevice , double dPhase );
6943 #endif
6944 
6946 
6955 #ifdef LIBTIEPIE_DYNAMIC
6956 typedef double(*LibTiePieGenVerifyPhase_t)( TpDeviceHandle_t hDevice , double dPhase );
6957 #else
6958 double GenVerifyPhase( TpDeviceHandle_t hDevice , double dPhase );
6959 #endif
6960 
6970 #ifdef LIBTIEPIE_DYNAMIC
6971 typedef double(*LibTiePieGenVerifyPhaseEx_t)( TpDeviceHandle_t hDevice , double dPhase , uint32_t dwSignalType );
6972 #else
6973 double GenVerifyPhaseEx( TpDeviceHandle_t hDevice , double dPhase , uint32_t dwSignalType );
6974 #endif
6975 
6977 
6987 // Workaround: Without this line Doxygen adds the documentation below to the group above.
6988 
6990 
7000 #ifdef LIBTIEPIE_DYNAMIC
7001 typedef void(*LibTiePieGenGetSymmetryMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
7002 #else
7003 void GenGetSymmetryMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType , double* pMin , double* pMax );
7004 #endif
7005 
7007 
7015 #ifdef LIBTIEPIE_DYNAMIC
7016 typedef double(*LibTiePieGenGetSymmetryMin_t)( TpDeviceHandle_t hDevice );
7017 #else
7018 double GenGetSymmetryMin( TpDeviceHandle_t hDevice );
7019 #endif
7020 
7028 #ifdef LIBTIEPIE_DYNAMIC
7029 typedef double(*LibTiePieGenGetSymmetryMax_t)( TpDeviceHandle_t hDevice );
7030 #else
7031 double GenGetSymmetryMax( TpDeviceHandle_t hDevice );
7032 #endif
7033 
7041 #ifdef LIBTIEPIE_DYNAMIC
7042 typedef double(*LibTiePieGenGetSymmetry_t)( TpDeviceHandle_t hDevice );
7043 #else
7044 double GenGetSymmetry( TpDeviceHandle_t hDevice );
7045 #endif
7046 
7057 #ifdef LIBTIEPIE_DYNAMIC
7058 typedef double(*LibTiePieGenSetSymmetry_t)( TpDeviceHandle_t hDevice , double dSymmetry );
7059 #else
7060 double GenSetSymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
7061 #endif
7062 
7064 
7073 #ifdef LIBTIEPIE_DYNAMIC
7074 typedef double(*LibTiePieGenVerifySymmetry_t)( TpDeviceHandle_t hDevice , double dSymmetry );
7075 #else
7076 double GenVerifySymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
7077 #endif
7078 
7088 #ifdef LIBTIEPIE_DYNAMIC
7089 typedef double(*LibTiePieGenVerifySymmetryEx_t)( TpDeviceHandle_t hDevice , double dSymmetry , uint32_t dwSignalType );
7090 #else
7091 double GenVerifySymmetryEx( TpDeviceHandle_t hDevice , double dSymmetry , uint32_t dwSignalType );
7092 #endif
7093 
7095 
7103 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7104 
7106 
7116 #ifdef LIBTIEPIE_DYNAMIC
7117 typedef void(*LibTiePieGenGetDataLengthMinMaxEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType , uint64_t* pMin , uint64_t* pMax );
7118 #else
7119 void GenGetDataLengthMinMaxEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType , uint64_t* pMin , uint64_t* pMax );
7120 #endif
7121 
7123 
7131 #ifdef LIBTIEPIE_DYNAMIC
7132 typedef uint64_t(*LibTiePieGenGetDataLengthMin_t)( TpDeviceHandle_t hDevice );
7133 #else
7134 uint64_t GenGetDataLengthMin( TpDeviceHandle_t hDevice );
7135 #endif
7136 
7144 #ifdef LIBTIEPIE_DYNAMIC
7145 typedef uint64_t(*LibTiePieGenGetDataLengthMax_t)( TpDeviceHandle_t hDevice );
7146 #else
7147 uint64_t GenGetDataLengthMax( TpDeviceHandle_t hDevice );
7148 #endif
7149 
7157 #ifdef LIBTIEPIE_DYNAMIC
7158 typedef uint64_t(*LibTiePieGenGetDataLength_t)( TpDeviceHandle_t hDevice );
7159 #else
7160 uint64_t GenGetDataLength( TpDeviceHandle_t hDevice );
7161 #endif
7162 
7164 
7173 #ifdef LIBTIEPIE_DYNAMIC
7174 typedef uint64_t(*LibTiePieGenVerifyDataLength_t)( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
7175 #else
7176 uint64_t GenVerifyDataLength( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
7177 #endif
7178 
7188 #ifdef LIBTIEPIE_DYNAMIC
7189 typedef uint64_t(*LibTiePieGenVerifyDataLengthEx_t)( TpDeviceHandle_t hDevice , uint64_t qwDataLength , uint32_t dwSignalType );
7190 #else
7191 uint64_t GenVerifyDataLengthEx( TpDeviceHandle_t hDevice , uint64_t qwDataLength , uint32_t dwSignalType );
7192 #endif
7193 
7202 #ifdef LIBTIEPIE_DYNAMIC
7203 typedef uint32_t(*LibTiePieGenGetDataRawType_t)( TpDeviceHandle_t hDevice );
7204 #else
7205 uint32_t GenGetDataRawType( TpDeviceHandle_t hDevice );
7206 #endif
7207 
7209 
7220 #ifdef LIBTIEPIE_DYNAMIC
7221 typedef void(*LibTiePieGenSetData_t)( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
7222 #else
7223 void GenSetData( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
7224 #endif
7225 
7227 
7238 #ifdef LIBTIEPIE_DYNAMIC
7239 typedef void(*LibTiePieGenSetDataEx_t)( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount , uint32_t dwSignalType , uint32_t dwReserved );
7240 #else
7241 void GenSetDataEx( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount , uint32_t dwSignalType , uint32_t dwReserved );
7242 #endif
7243 
7253 #ifdef LIBTIEPIE_DYNAMIC
7254 typedef void(*LibTiePieGenSetDataRaw_t)( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
7255 #else
7256 void GenSetDataRaw( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
7257 #endif
7258 
7270 #ifdef LIBTIEPIE_DYNAMIC
7271 typedef void(*LibTiePieGenSetDataRawEx_t)( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount , uint32_t dwSignalType , uint32_t dwReserved );
7272 #else
7273 void GenSetDataRawEx( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount , uint32_t dwSignalType , uint32_t dwReserved );
7274 #endif
7275 
7277 
7289 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7290 
7299 #ifdef LIBTIEPIE_DYNAMIC
7300 typedef void(*LibTiePieGenSetCallbackBurstCompleted_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
7301 #else
7302 void GenSetCallbackBurstCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
7303 #endif
7304 
7312 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7313 
7322 #ifdef LIBTIEPIE_DYNAMIC
7323 typedef void(*LibTiePieGenSetCallbackControllableChanged_t)( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
7324 #else
7325 void GenSetCallbackControllableChanged( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
7326 #endif
7327 
7332 #ifdef __linux__
7333 
7343 #ifdef LIBTIEPIE_DYNAMIC
7344 typedef void(*LibTiePieGenSetEventBurstCompleted_t)( TpDeviceHandle_t hDevice , int fdEvent );
7345 #else
7346 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , int fdEvent );
7347 #endif
7348 
7358 #ifdef LIBTIEPIE_DYNAMIC
7359 typedef void(*LibTiePieGenSetEventControllableChanged_t)( TpDeviceHandle_t hDevice , int fdEvent );
7360 #else
7361 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , int fdEvent );
7362 #endif
7363 
7364 #endif
7365 
7366 #ifdef HAVE_WINDOWS_H
7367 
7377 #ifdef LIBTIEPIE_DYNAMIC
7378 typedef void(*LibTiePieGenSetEventBurstCompleted_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
7379 #else
7380 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
7381 #endif
7382 
7392 #ifdef LIBTIEPIE_DYNAMIC
7393 typedef void(*LibTiePieGenSetEventControllableChanged_t)( TpDeviceHandle_t hDevice , HANDLE hEvent );
7394 #else
7395 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , HANDLE hEvent );
7396 #endif
7397 
7409 #ifdef LIBTIEPIE_DYNAMIC
7410 typedef void(*LibTiePieGenSetMessageBurstCompleted_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
7411 #else
7412 void GenSetMessageBurstCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
7413 #endif
7414 
7426 #ifdef LIBTIEPIE_DYNAMIC
7427 typedef void(*LibTiePieGenSetMessageControllableChanged_t)( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
7428 #else
7429 void GenSetMessageControllableChanged( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
7430 #endif
7431 
7432 #endif
7433 
7443 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7444 
7453 #ifdef LIBTIEPIE_DYNAMIC
7454 typedef uint32_t(*LibTiePieGenGetModes_t)( TpDeviceHandle_t hDevice );
7455 #else
7456 uint32_t GenGetModes( TpDeviceHandle_t hDevice );
7457 #endif
7458 
7469 #ifdef LIBTIEPIE_DYNAMIC
7470 typedef uint32_t(*LibTiePieGenGetModesEx_t)( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
7471 #else
7472 uint32_t GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
7473 #endif
7474 
7475 
7484 #ifdef LIBTIEPIE_DYNAMIC
7485 typedef uint32_t(*LibTiePieGenGetMode_t)( TpDeviceHandle_t hDevice );
7486 #else
7487 uint32_t GenGetMode( TpDeviceHandle_t hDevice );
7488 #endif
7489 
7499 #ifdef LIBTIEPIE_DYNAMIC
7500 typedef uint32_t(*LibTiePieGenSetMode_t)( TpDeviceHandle_t hDevice , uint32_t dwMode );
7501 #else
7502 uint32_t GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
7503 #endif
7504 
7513 #ifdef LIBTIEPIE_DYNAMIC
7514 typedef bool8_t(*LibTiePieGenGetAutoRanging_t)( TpDeviceHandle_t hDevice );
7515 #else
7516 bool8_t GenGetAutoRanging( TpDeviceHandle_t hDevice );
7517 #endif
7518 
7528 #ifdef LIBTIEPIE_DYNAMIC
7529 typedef bool8_t(*LibTiePieGenSetAutoRanging_t)( TpDeviceHandle_t hDevice , bool8_t bEnable );
7530 #else
7531 bool8_t GenSetAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
7532 #endif
7533 
7544 #ifdef LIBTIEPIE_DYNAMIC
7545 typedef uint32_t(*LibTiePieGenGetRanges_t)( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
7546 #else
7547 uint32_t GenGetRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
7548 #endif
7549 
7558 #ifdef LIBTIEPIE_DYNAMIC
7559 typedef double(*LibTiePieGenGetRange_t)( TpDeviceHandle_t hDevice );
7560 #else
7561 double GenGetRange( TpDeviceHandle_t hDevice );
7562 #endif
7563 
7583 #ifdef LIBTIEPIE_DYNAMIC
7584 typedef double(*LibTiePieGenSetRange_t)( TpDeviceHandle_t hDevice , double dRange );
7585 #else
7586 double GenSetRange( TpDeviceHandle_t hDevice , double dRange );
7587 #endif
7588 
7597 #ifdef LIBTIEPIE_DYNAMIC
7598 typedef uint64_t(*LibTiePieGenGetTriggerSources_t)( TpDeviceHandle_t hDevice );
7599 #else
7600 uint64_t GenGetTriggerSources( TpDeviceHandle_t hDevice );
7601 #endif
7602 
7611 #ifdef LIBTIEPIE_DYNAMIC
7612 typedef uint64_t(*LibTiePieGenGetTriggerSourceAND_t)( TpDeviceHandle_t hDevice );
7613 #else
7614 uint64_t GenGetTriggerSourceAND( TpDeviceHandle_t hDevice );
7615 #endif
7616 
7626 #ifdef LIBTIEPIE_DYNAMIC
7627 typedef uint64_t(*LibTiePieGenSetTriggerSourceAND_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
7628 #else
7629 uint64_t GenSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
7630 #endif
7631 
7640 #ifdef LIBTIEPIE_DYNAMIC
7641 typedef uint64_t(*LibTiePieGenGetTriggerSourceOR_t)( TpDeviceHandle_t hDevice );
7642 #else
7643 uint64_t GenGetTriggerSourceOR( TpDeviceHandle_t hDevice );
7644 #endif
7645 
7655 #ifdef LIBTIEPIE_DYNAMIC
7656 typedef uint64_t(*LibTiePieGenSetTriggerSourceOR_t)( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
7657 #else
7658 uint64_t GenSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
7659 #endif
7660 
7668 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7669 
7678 #ifdef LIBTIEPIE_DYNAMIC
7679 typedef bool8_t(*LibTiePieI2CIsInternalAddress_t)( TpDeviceHandle_t hDevice , uint16_t wAddress );
7680 #else
7681 bool8_t I2CIsInternalAddress( TpDeviceHandle_t hDevice , uint16_t wAddress );
7682 #endif
7683 
7689 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7690 
7702 #ifdef LIBTIEPIE_DYNAMIC
7703 typedef bool8_t(*LibTiePieI2CRead_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
7704 #else
7705 bool8_t I2CRead( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
7706 #endif
7707 
7717 #ifdef LIBTIEPIE_DYNAMIC
7718 typedef bool8_t(*LibTiePieI2CReadByte_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
7719 #else
7720 bool8_t I2CReadByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
7721 #endif
7722 
7732 #ifdef LIBTIEPIE_DYNAMIC
7733 typedef bool8_t(*LibTiePieI2CReadWord_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
7734 #else
7735 bool8_t I2CReadWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
7736 #endif
7737 
7744 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7745 
7757 #ifdef LIBTIEPIE_DYNAMIC
7758 typedef bool8_t(*LibTiePieI2CWrite_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
7759 #else
7760 bool8_t I2CWrite( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
7761 #endif
7762 
7772 #ifdef LIBTIEPIE_DYNAMIC
7773 typedef bool8_t(*LibTiePieI2CWriteByte_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
7774 #else
7775 bool8_t I2CWriteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
7776 #endif
7777 
7788 #ifdef LIBTIEPIE_DYNAMIC
7789 typedef bool8_t(*LibTiePieI2CWriteByteByte_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
7790 #else
7791 bool8_t I2CWriteByteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
7792 #endif
7793 
7804 #ifdef LIBTIEPIE_DYNAMIC
7805 typedef bool8_t(*LibTiePieI2CWriteByteWord_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
7806 #else
7807 bool8_t I2CWriteByteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
7808 #endif
7809 
7819 #ifdef LIBTIEPIE_DYNAMIC
7820 typedef bool8_t(*LibTiePieI2CWriteWord_t)( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
7821 #else
7822 bool8_t I2CWriteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
7823 #endif
7824 
7831 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7832 
7840 #ifdef LIBTIEPIE_DYNAMIC
7841 typedef double(*LibTiePieI2CGetSpeed_t)( TpDeviceHandle_t hDevice );
7842 #else
7843 double I2CGetSpeed( TpDeviceHandle_t hDevice );
7844 #endif
7845 
7853 #ifdef LIBTIEPIE_DYNAMIC
7854 typedef double(*LibTiePieI2CGetSpeedMax_t)( TpDeviceHandle_t hDevice );
7855 #else
7856 double I2CGetSpeedMax( TpDeviceHandle_t hDevice );
7857 #endif
7858 
7867 #ifdef LIBTIEPIE_DYNAMIC
7868 typedef double(*LibTiePieI2CSetSpeed_t)( TpDeviceHandle_t hDevice , double dSpeed );
7869 #else
7870 double I2CSetSpeed( TpDeviceHandle_t hDevice , double dSpeed );
7871 #endif
7872 
7874 
7883 #ifdef LIBTIEPIE_DYNAMIC
7884 typedef double(*LibTiePieI2CVerifySpeed_t)( TpDeviceHandle_t hDevice , double dSpeed );
7885 #else
7886 double I2CVerifySpeed( TpDeviceHandle_t hDevice , double dSpeed );
7887 #endif
7888 
7890 
7920 // Workaround: Without this line Doxygen adds the documentation below to the group above.
7921 
7930 #ifdef LIBTIEPIE_DYNAMIC
7931 typedef LibTiePiePointerArray_t(*LibTiePieHlpPointerArrayNew_t)( uint32_t dwLength );
7932 #else
7933 LibTiePiePointerArray_t HlpPointerArrayNew( uint32_t dwLength );
7934 #endif
7935 
7942 #ifdef LIBTIEPIE_DYNAMIC
7943 typedef void(*LibTiePieHlpPointerArrayDelete_t)( LibTiePiePointerArray_t pArray );
7944 #else
7945 void HlpPointerArrayDelete( LibTiePiePointerArray_t pArray );
7946 #endif
7947 
7956 #ifdef LIBTIEPIE_DYNAMIC
7957 typedef void(*LibTiePieHlpPointerArraySet_t)( LibTiePiePointerArray_t pArray , uint32_t dwIndex , void* pPointer );
7958 #else
7959 void HlpPointerArraySet( LibTiePiePointerArray_t pArray , uint32_t dwIndex , void* pPointer );
7960 #endif
7961 
7968 #ifdef __cplusplus
7969 }
7970 #endif
7971 
7972 #endif