libtiepie  0.3.0
 All Files Functions Typedefs Groups
libtiepie.h
Go to the documentation of this file.
1 
6 #ifndef _LIBTIEPIE_H_
7 #define _LIBTIEPIE_H_
8 
9 #include <stdint.h>
10 
11 #ifdef __WINNT__
12  #include <windows.h>
13 #endif
14 
15 #ifdef __cplusplus
16 extern "C"
17 {
18 #endif
19 
27 #define CM_INTERNAL 0
28 #define CM_EXTERNAL 1
29 
30 
37 #define CKN_COUPLING_COUNT 5
38 
39 
44 #define CKB_DCV 0
45 #define CKB_ACV 1
46 #define CKB_DCA 2
47 #define CKB_ACA 3
48 #define CKB_OHM 4
49 
50 
56 #define CK_UNKNOWN 0x0000000000000000
57 
58 #define CK_DCV ( 1 << CKB_DCV )
59 #define CK_ACV ( 1 << CKB_ACV )
60 #define CK_DCA ( 1 << CKB_DCA )
61 #define CK_ACA ( 1 << CKB_ACA )
62 #define CK_OHM ( 1 << CKB_OHM )
63 
64 
70 #define CKM_V ( CK_DCV | CK_ACV )
71 #define CKM_A ( CK_DCA | CK_ACA )
72 #define CKM_OHM ( CK_OHM )
73 
74 
81 #define FMN_GENERATORMODE_COUNT 2
82 
83 
88 #define FMB_SIGNALFREQUENCY 0
89 #define FMB_SAMPLEFREQUENCY 1
90 
97 #define FM_UNKNOWN 0x00000000
98 
99 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
100 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
101 
109 #define MMN_MEASUREMODE_COUNT 2
110 
111 
116 #define MMB_STREAM 0
117 #define MMB_BLOCK 1
118 
119 
125 #define MM_UNKNOWN 0x00000000
126 
127 #define MM_STREAM ( 1 << MMB_STREAM )
128 #define MM_BLOCK ( 1 << MMB_BLOCK )
129 
130 
137 #define STN_SIGNALTYPE_COUNT 6
138 
139 
144 #define STB_SINE 0
145 #define STB_TRIANGLE 1
146 #define STB_SQUARE 2
147 #define STB_DC 3
148 #define STB_NOISE 4
149 #define STB_ARBITRARY 5
150 
157 #define ST_UNKNOWN 0x0000000000000000
158 
159 #define ST_SINE ( 1 << STB_SINE )
160 #define ST_TRIANGLE ( 1 << STB_TRIANGLE )
161 #define ST_SQUARE ( 1 << STB_SQUARE )
162 #define ST_DC ( 1 << STB_DC )
163 #define ST_NOISE ( 1 << STB_NOISE )
164 #define ST_ARBITRARY ( 1 << STB_ARBITRARY )
165 
172 #define STM_AMPLITUDE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_NOISE | ST_ARBITRARY )
173 #define STM_OFFSET ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_DC | ST_NOISE | ST_ARBITRARY )
174 #define STM_FREQUENCY ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
175 #define STM_PHASE ( ST_SINE | ST_TRIANGLE | ST_SQUARE | ST_ARBITRARY )
176 #define STM_SYMMETRY ( ST_SINE | ST_TRIANGLE | ST_SQUARE )
177 
187 #define TH_ALLPRESAMPLES 0xffffffffffffffff
188 
189 
196 #define TKN_KIND_COUNT 7
197 
198 
203 #define TKB_RISING 0
204 #define TKB_FALLING 1
205 #define TKB_INWINDOW 2
206 #define TKB_OUTWINDOW 3
207 #define TKB_EDGE 4
208 #define TKB_DROPINWINDOW 5
209 #define TKB_DROPOUTWINDOW 6
210 
217 #define TK_UNKNOWN 0x0000000000000000ULL
218 
219 #define TK_RISING ( 1ULL << TKB_RISING )
220 #define TK_FALLING ( 1ULL << TKB_FALLING )
221 #define TK_INWINDOW ( 1ULL << TKB_INWINDOW )
222 #define TK_OUTWINDOW ( 1ULL << TKB_OUTWINDOW )
223 #define TK_EDGE ( 1ULL << TKB_EDGE )
224 #define TK_DROPINWINDOW ( 1ULL << TKB_DROPINWINDOW )
225 #define TK_DROPOUTWINDOW ( 1ULL << TKB_DROPOUTWINDOW )
226 
233 #define TKM_NONE 0x0000000000000000ULL
234 #define TKM_EDGE ( TK_RISING | TK_FALLING | TK_EDGE )
235 #define TKM_WINDOW ( TK_INWINDOW | TK_OUTWINDOW | TK_DROPINWINDOW | TK_DROPOUTWINDOW )
236 #define TKM_ALL ( ( 1ULL << TKN_KIND_COUNT ) - 1 )
237 
238 
247 #define TO_INFINITY -1
248 
249 
270 #define TS_NONE 0x0000000000000000ULL
271 
272 #define TS_CH1 0x0000000000000001ULL
273 #define TS_CH2 0x0000000000000002ULL
274 #define TS_CH3 0x0000000000000004ULL
275 #define TS_CH4 0x0000000000000008ULL
276 #define TS_CH5 0x0000000000000010ULL
277 #define TS_CH6 0x0000000000000020ULL
278 #define TS_CH7 0x0000000000000040ULL
279 #define TS_CH8 0x0000000000000080ULL
280 #define TS_CH9 0x0000000000000100ULL
281 #define TS_CH10 0x0000000000000200ULL
282 #define TS_CH11 0x0000000000000400ULL
283 #define TS_CH12 0x0000000000000800ULL
284 #define TS_CH13 0x0000000000001000ULL
285 #define TS_CH14 0x0000000000002000ULL
286 #define TS_CH15 0x0000000000004000ULL
287 #define TS_CH16 0x0000000000008000ULL
288 #define TS_CH17 0x0000000000010000ULL
289 #define TS_CH18 0x0000000000020000ULL
290 #define TS_CH19 0x0000000000040000ULL
291 #define TS_CH20 0x0000000000080000ULL
292 #define TS_CH21 0x0000000000100000ULL
293 #define TS_CH22 0x0000000000200000ULL
294 #define TS_CH23 0x0000000000400000ULL
295 #define TS_CH24 0x0000000000800000ULL
296 #define TS_CH25 0x0000000001000000ULL
297 #define TS_CH26 0x0000000002000000ULL
298 #define TS_CH27 0x0000000004000000ULL
299 #define TS_CH28 0x0000000008000000ULL
300 #define TS_CH29 0x0000000010000000ULL
301 #define TS_CH30 0x0000000020000000ULL
302 #define TS_CH31 0x0000000040000000ULL
303 #define TS_CH32 0x0000000080000000ULL
304 
305 #define TS_GENSTOP 0x0400000000000000ULL
306 #define TS_GENNEW 0x0800000000000000ULL
307 #define TS_GENSTART 0x1000000000000000ULL
308 #define TS_EXT2 0x2000000000000000ULL
309 #define TS_EXTANALOG 0x4000000000000000ULL
310 #define TS_EXT 0x8000000000000000ULL
311 
312 
316 #define TSN_CHANNEL_COUNT 32
317 
318 
323 #define TSM_NONE 0x0000000000000000ULL
324 #define TSM_ALL 0xFFFFFFFFFFFFFFFFULL
325 #define TSM_CHANNELS ( ( 1ULL << TSN_CHANNEL_COUNT ) - 1 )
326 #define TSM_NONCHANNELS ( TSM_ALL - TSM_CHANNELS )
327 #define TSM_GENALL ( TS_GENSTART | TS_GENNEW | TS_GENSTOP )
328 
329 
336 typedef void(*TpCallback_t)( void* pData );
337 
346 #define TPDEVICEHANDLE_INVALID 0
347 
348 
354 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
355 #define DEVICETYPE_GENERATOR 0x00000002
356 #define DEVICETYPE_I2CHOST 0x00000004
357 
358 
368 #define LIBTIEPIESTATUS_SUCCESS 0
369 #define LIBTIEPIESTATUS_VALUE_CLIPPED 1
370 #define LIBTIEPIESTATUS_VALUE_MODIFIED 2
371 #define LIBTIEPIESTATUS_UNSUCCESSFUL -1
372 #define LIBTIEPIESTATUS_NOT_SUPPORTED -2
373 #define LIBTIEPIESTATUS_INVALID_HANDLE -3
374 #define LIBTIEPIESTATUS_INVALID_VALUE -4
375 #define LIBTIEPIESTATUS_INVALID_CHANNEL -5
376 #define LIBTIEPIESTATUS_INVALID_TRIGGER_SOURCE -6
377 #define LIBTIEPIESTATUS_INVALID_DEVICE_TYPE -7
378 #define LIBTIEPIESTATUS_INVALID_DEVICE_INDEX -8
379 #define LIBTIEPIESTATUS_INVALID_DEVICE_ID -9
380 #define LIBTIEPIESTATUS_INVALID_DEVICE_SERIALNUMBER -10
381 #define LIBTIEPIESTATUS_DEVICE_GONE -11
382 #define LIBTIEPIESTATUS_INTERNAL_ADDRESS -12
383 #define LIBTIEPIESTATUS_NOT_CONTROLLABLE -13
384 
385 
391 #define CONNECTORTYPE_UNKNOWN 0x00000000
392 
393 #define CONNECTORTYPE_BNC 0x00000001
394 #define CONNECTORTYPE_BANANA 0x00000002
395 
396 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA )
397 
404 #define DATARAWTYPE_UNKNOWN 0x00000000
405 
406 #define DATARAWTYPE_INT8 0x00000001
407 #define DATARAWTYPE_INT16 0x00000002
408 #define DATARAWTYPE_INT32 0x00000004
409 #define DATARAWTYPE_INT64 0x00000008
410 
411 #define DATARAWTYPE_UINT8 0x00000010
412 #define DATARAWTYPE_UINT16 0x00000020
413 #define DATARAWTYPE_UINT32 0x00000040
414 #define DATARAWTYPE_UINT64 0x00000080
415 
422 #define IDB_HS3 0
423 #define IDB_HS4 1
424 #define IDB_HS4D 2
425 #define IDB_HS805 3
426 #define IDB_HP3 4
427 #define IDB_HS5 5
428 #define IDB_HL0516 6
429 #define IDB_PA1 7
430 
431 #define IDM_DEVICEID 0x80000000
432 #define IDM_ALL 0xffffffff
433 
434 #define ID_HS3 ( IDM_DEVICEID | ( 1 << IDB_HS3 ) )
435 #define ID_HS4 ( IDM_DEVICEID | ( 1 << IDB_HS4 ) )
436 #define ID_HS4D ( IDM_DEVICEID | ( 1 << IDB_HS4D ) )
437 #define ID_HS805 ( IDM_DEVICEID | ( 1 << IDB_HS805 ) )
438 #define ID_HP3 ( IDM_DEVICEID | ( 1 << IDB_HP3 ) )
439 #define ID_HS5 ( IDM_DEVICEID | ( 1 << IDB_HS5 ) )
440 #define ID_HL0516 ( IDM_DEVICEID | ( 1 << IDB_HL0516 ) )
441 #define ID_PA1 ( IDM_DEVICEID | ( 1 << IDB_PA1 ) )
442 
443 
450 typedef int32_t LibTiePieStatus_t;
451 typedef uint32_t TpDeviceHandle_t;
452 typedef uint64_t TpVersion_t;
453 typedef uint32_t TpDate_t;
454 typedef uint8_t bool8_t;
455 
462 #define TPVERSION_MAJOR( x ) ( x >> 48 )
463 #define TPVERSION_MINOR( x ) ( ( x >> 32 ) & 0xffff )
464 #define TPVERSION_RELEASE( x ) ( ( x >> 16 ) & 0xffff )
465 #define TPVERSION_BUILD( x ) ( x & 0xffff )
466 
467 #define TPDATE_YEAR( x ) ( x >> 16 )
468 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
469 #define TPDATE_DAY( x ) ( x & 0xff )
470 
475 #ifdef __WINNT__
476 
482 #define WM_LIBTIEPIE ( WM_USER + 1337 )
483 
484 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
485 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
486 
487 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
488 
489 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
490 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
491 
492 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
493 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
494 
499 #endif
500 
519 TpVersion_t LibGetVersion();
520 
527 uint32_t LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
528 
535 LibTiePieStatus_t LibGetLastStatus();
536 
540 const char* LibGetLastStatusStr();
541 
554 uint32_t LstGetCount( uint32_t dwDeviceType );
555 
562 bool8_t LstGetDeviceCanOpen( uint32_t dwDeviceType , uint32_t dwId );
563 
570 uint32_t LstGetDeviceProductId( uint32_t dwDeviceType , uint32_t dwId );
571 
578 uint32_t LstGetDeviceVendorId( uint32_t dwDeviceType , uint32_t dwId );
579 
589 uint32_t LstGetDeviceName( uint32_t dwDeviceType , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
590 
599 uint32_t LstGetDeviceNameShort( uint32_t dwDeviceType , uint32_t dwId , char* pBuffer , uint32_t dwBufferLength );
600 
607 uint32_t LstGetDeviceSerialNumber( uint32_t dwDeviceType , uint32_t dwId );
608 
616 TpDeviceHandle_t LstOpenDevice( uint32_t dwDeviceType , uint32_t dwId );
617 
623 void LstRemoveDevice( uint32_t dwSerialNumber );
624 
630 void LstUpdate( uint32_t dwDeviceIdMask );
631 
643 void LstSetCallbackDeviceAdded( uint32_t dwDeviceType , TpCallback_t pCallback , void* pData );
644 
651 void LstSetCallbackDeviceRemoved( uint32_t dwDeviceType , TpCallback_t pCallback , void* pData );
652 
653 #ifdef __WINNT__
654 
660 void LstSetEventDeviceAdded( uint32_t dwDeviceType , HANDLE hEvent );
661 
667 void LstSetEventDeviceRemoved( uint32_t dwDeviceType , HANDLE hEvent );
668 
674 void LstSetMessageDeviceAdded( uint32_t dwDeviceType , HWND hWnd );
675 
681 void LstSetMessageDeviceRemoved( uint32_t dwDeviceType , HWND hWnd );
682 
683 #endif
684 
697 void DevClose( TpDeviceHandle_t hDevice );
698 
705 bool8_t DevIsRemoved( TpDeviceHandle_t hDevice );
706 
719 TpVersion_t DevGetDriverVersion( TpDeviceHandle_t hDevice );
720 
733 TpVersion_t DevGetFirmwareVersion( TpDeviceHandle_t hDevice );
734 
746 TpDate_t DevGetCalibrationDate( TpDeviceHandle_t hDevice );
747 
754 uint32_t DevGetSerialNumber( TpDeviceHandle_t hDevice );
755 
760 uint32_t DevGetProductId( TpDeviceHandle_t hDevice );
761 
766 uint32_t DevGetVendorId( TpDeviceHandle_t hDevice );
767 
772 uint32_t DevGetName( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
773 
778 uint32_t DevGetNameShort( TpDeviceHandle_t hDevice , char* pBuffer , uint32_t dwBufferLength );
779 
791 void DevSetCallbackRemoved( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
792 
793 #ifdef __WINNT__
794 
800 void DevSetEventRemoved( TpDeviceHandle_t hDevice , HANDLE hEvent );
801 
809 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
810 
811 #endif
812 
828 uint16_t ScpGetChannelCount( TpDeviceHandle_t hDevice );
829 
834 uint32_t ScpGetSharedChannelGroupCount( TpDeviceHandle_t hDevice );
835 
840 uint32_t ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
841 
849 bool8_t ScpChGetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh );
850 
859 bool8_t ScpChSetAutoRanging( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
860 
868 uint32_t ScpChGetConnectorType( TpDeviceHandle_t hDevice , uint16_t wCh );
869 
878 uint64_t ScpChGetCouplings( TpDeviceHandle_t hDevice , uint16_t wCh );
879 
888 uint64_t ScpChGetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh );
889 
899 uint64_t ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
900 
908 bool8_t ScpChGetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh );
909 
919 bool8_t ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
920 
925 bool8_t ScpChIsDifferential( TpDeviceHandle_t hDevice , uint16_t wCh );
926 
931 bool8_t ScpChIsDualRateCapable( TpDeviceHandle_t hDevice , uint16_t wCh );
932 
940 double ScpChGetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh );
941 
950 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh , double dProbeGain );
951 
961 uint32_t ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh , double* pList , uint32_t dwLength );
962 
973 uint32_t ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling , double* pList , uint32_t dwLength );
974 
982 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
983 
992 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh , double dRange );
993 
1008 uint64_t ScpGetData( TpDeviceHandle_t hDevice , float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1009 
1018 uint64_t ScpGetData1Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1019 
1028 uint64_t ScpGetData2Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1029 
1038 uint64_t ScpGetData3Ch( TpDeviceHandle_t hDevice , float *pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1039 
1048 uint64_t ScpGetData4Ch( TpDeviceHandle_t hDevice , float* pBufferCh1 , float* pBufferCh2 , float* pBufferCh3 , float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1049 
1058 uint64_t ScpGetDataRaw( TpDeviceHandle_t hDevice , void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1059 
1068 uint64_t ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1069 
1078 uint64_t ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1079 
1088 uint64_t ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1089 
1098 uint64_t ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice , void* pBufferCh1 , void* pBufferCh2 , void* pBufferCh3 , void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1099 
1105 bool8_t ScpChIsRangeMaxReachable( TpDeviceHandle_t hDevice , uint16_t wCh );
1106 
1112 uint32_t ScpChGetDataRawType( TpDeviceHandle_t hDevice , uint16_t wCh );
1113 
1119 uint64_t ScpGetValidPreSampleCount( TpDeviceHandle_t hDevice );
1120 
1125 void ScpChGetDataValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , double* pMin , double* pMax );
1126 
1134 double ScpChGetDataValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
1135 
1143 double ScpChGetDataValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
1144 
1149 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
1150 
1155 int64_t ScpChGetDataRawValueMax( TpDeviceHandle_t hDevice , uint16_t wCh );
1156 
1161 int64_t ScpChGetDataRawValueZero( TpDeviceHandle_t hDevice , uint16_t wCh );
1162 
1167 int64_t ScpChGetDataRawValueMin( TpDeviceHandle_t hDevice , uint16_t wCh );
1168 
1180 void ScpSetCallbackDataReady( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
1181 
1187 void ScpSetCallbackDataOverflow( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void *pData );
1188 
1189 #ifdef __WINNT__
1190 
1197 void ScpSetEventDataReady( TpDeviceHandle_t hDevice , HANDLE hEvent );
1198 
1205 void ScpSetEventDataOverflow( TpDeviceHandle_t hDevice , HANDLE hEvent );
1206 
1213 void ScpSetMessageDataReady( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1214 
1221 void ScpSetMessageDataOverflow( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
1222 
1223 #endif
1224 
1237 bool8_t ScpStart( TpDeviceHandle_t hDevice );
1238 
1244 void ScpStop( TpDeviceHandle_t hDevice );
1245 
1251 void ScpForceTrigger( TpDeviceHandle_t hDevice );
1252 
1259 bool8_t ScpIsDataReady( TpDeviceHandle_t hDevice );
1260 
1267 bool8_t ScpIsDataOverflow( TpDeviceHandle_t hDevice );
1268 
1275 bool8_t ScpIsRunning( TpDeviceHandle_t hDevice );
1276 
1283 bool8_t ScpIsTriggered( TpDeviceHandle_t hDevice );
1284 
1289 uint32_t ScpGetMeasureModes( TpDeviceHandle_t hDevice );
1290 
1297 uint32_t ScpGetMeasureMode( TpDeviceHandle_t hDevice );
1298 
1307 uint32_t ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1308 
1323 uint32_t ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t *pList , uint32_t dwLength );
1324 
1331 uint8_t ScpGetResolution( TpDeviceHandle_t hDevice );
1332 
1340 uint8_t ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
1341 
1348 bool8_t ScpIsResolutionEnhanced( TpDeviceHandle_t hDevice );
1349 
1357 bool8_t ScpIsResolutionEnhancedEx( TpDeviceHandle_t hDevice , uint8_t byResolution );
1358 
1372 uint32_t ScpGetClockSource( TpDeviceHandle_t hDevice );
1373 
1383 uint32_t ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
1384 
1391 double ScpGetPreSampleRatio( TpDeviceHandle_t hDevice );
1392 
1400 double ScpSetPreSampleRatio( TpDeviceHandle_t hDevice , double dPreSampleRatio );
1401 
1408 uint64_t ScpGetTriggerHoldOffCountMax( TpDeviceHandle_t hDevice );
1409 
1416 uint64_t ScpGetTriggerHoldOffCountMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1417 
1424 uint64_t ScpGetTriggerHoldOffCount( TpDeviceHandle_t hDevice );
1425 
1433 uint64_t ScpSetTriggerHoldOffCount( TpDeviceHandle_t hDevice , uint64_t qwTriggerHoldOffCount );
1434 
1441 uint64_t ScpGetRecordLengthMax( TpDeviceHandle_t hDevice );
1442 
1447 uint64_t ScpGetRecordLengthMaxEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode , uint8_t byResolution );
1448 
1455 uint64_t ScpGetRecordLength( TpDeviceHandle_t hDevice );
1456 
1464 uint64_t ScpSetRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
1465 
1472 uint64_t ScpVerifyRecordLength( TpDeviceHandle_t hDevice , uint64_t qwRecordLength );
1473 
1483 uint64_t ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1484 
1491 double ScpGetSampleFrequencyMax( TpDeviceHandle_t hDevice );
1492 
1499 double ScpGetSampleFrequency( TpDeviceHandle_t hDevice );
1500 
1508 double ScpSetSampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
1509 
1517 double ScpVerifySampleFrequency( TpDeviceHandle_t hDevice , double dSampleFrequency );
1518 
1528 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice , double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1529 
1543 double ScpGetTriggerTimeOut( TpDeviceHandle_t hDevice );
1544 
1553 double ScpSetTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
1554 
1563 double ScpVerifyTriggerTimeOut( TpDeviceHandle_t hDevice , double dTimeout );
1564 
1572 uint64_t ScpGetTriggerSources( TpDeviceHandle_t hDevice );
1573 
1582 uint64_t ScpGetTriggerSourcesEx( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1583 
1591 uint64_t ScpGetTriggerSourceOR( TpDeviceHandle_t hDevice );
1592 
1601 uint64_t ScpSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1602 
1610 uint64_t ScpGetTriggerSourceAND( TpDeviceHandle_t hDevice );
1611 
1620 uint64_t ScpSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1621 
1633 uint64_t ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1634 
1647 uint64_t ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
1648 
1657 uint64_t ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
1658 
1668 uint64_t ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
1669 
1678 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
1679 
1689 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dLevel );
1690 
1699 double ScpGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
1700 
1710 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex , double dHysteresis );
1711 
1720 uint64_t ScpChGetTriggerKinds( TpDeviceHandle_t hDevice , uint16_t wCh );
1721 
1731 uint64_t ScpChGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwMeasureMode );
1732 
1741 uint64_t ScpChGetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh );
1742 
1752 uint64_t ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
1753 
1762 double ScpChGetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
1763 
1773 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dLevel );
1774 
1783 double ScpChGetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex );
1784 
1794 double ScpChSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex , double dHysteresis );
1795 
1803 double ScpChGetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh );
1804 
1813 double ScpChSetTriggerPulseTime( TpDeviceHandle_t hDevice , uint16_t wCh , double dPulseTime );
1814 
1830 uint32_t GenGetConnectorType( TpDeviceHandle_t hDevice );
1831 
1838 bool8_t GenIsDifferential( TpDeviceHandle_t hDevice );
1839 
1846 double GenGetImpedance( TpDeviceHandle_t hDevice );
1847 
1859 bool8_t GenIsControllable( TpDeviceHandle_t hDevice );
1860 
1867 bool8_t GenGetOutputOn( TpDeviceHandle_t hDevice );
1868 
1876 bool8_t GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
1877 
1883 void GenStart( TpDeviceHandle_t hDevice );
1884 
1890 void GenStop( TpDeviceHandle_t hDevice );
1891 
1898 bool8_t GenIsBurstActive( TpDeviceHandle_t hDevice );
1899 
1905 uint64_t GenGetBurstCount( TpDeviceHandle_t hDevice );
1906 
1912 uint64_t GenGetBurstCountMax( TpDeviceHandle_t hDevice );
1913 
1920 uint64_t GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
1921 
1929 uint32_t GenGetModes( TpDeviceHandle_t hDevice );
1930 
1939 uint32_t GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
1940 
1948 uint32_t GenGetMode( TpDeviceHandle_t hDevice );
1949 
1958 uint32_t GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
1959 
1967 uint32_t GenGetSignalTypes( TpDeviceHandle_t hDevice );
1968 
1976 uint32_t GenGetSignalType( TpDeviceHandle_t hDevice );
1977 
1986 uint32_t GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
1987 
1994 double GenGetAmplitudeMax( TpDeviceHandle_t hDevice );
1995 
2002 double GenGetAmplitudeMin( TpDeviceHandle_t hDevice );
2003 
2010 double GenGetAmplitude( TpDeviceHandle_t hDevice );
2011 
2019 double GenSetAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
2020 
2028 double GenVerifyAmplitude( TpDeviceHandle_t hDevice , double dAmplitude );
2029 
2037 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwMode , double* pMin , double* pMax );
2038 
2045 double GenGetFrequencyMin( TpDeviceHandle_t hDevice );
2046 
2053 double GenGetFrequencyMax( TpDeviceHandle_t hDevice );
2054 
2061 double GenGetFrequency( TpDeviceHandle_t hDevice );
2062 
2070 double GenSetFrequency( TpDeviceHandle_t hDevice , double dFrequency );
2071 
2078 double GenVerifyFrequency( TpDeviceHandle_t hDevice , double dFrequency );
2079 
2087 double GenVerifyFrequencyEx( TpDeviceHandle_t hDevice , double dFrequency , uint32_t dwMode );
2088 
2095 double GenGetOffsetMin( TpDeviceHandle_t hDevice );
2096 
2103 double GenGetOffsetMax( TpDeviceHandle_t hDevice );
2104 
2111 double GenGetOffset( TpDeviceHandle_t hDevice );
2112 
2120 double GenSetOffset( TpDeviceHandle_t hDevice , double dOffset );
2121 
2128 double GenVerifyOffset( TpDeviceHandle_t hDevice , double dOffset );
2129 
2135 double GenGetPhase( TpDeviceHandle_t hDevice );
2136 
2143 double GenSetPhase( TpDeviceHandle_t hDevice , double dPhase );
2144 
2151 double GenVerifyPhase( TpDeviceHandle_t hDevice , double dPhase );
2152 
2159 double GenGetSymmetry( TpDeviceHandle_t hDevice );
2160 
2168 double GenSetSymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
2169 
2176 double GenVerifySymmetry( TpDeviceHandle_t hDevice , double dSymmetry );
2177 
2190 void GenSetCallbackBurstCompleted( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2191 
2198 void GenSetCallbackControllableChanged( TpDeviceHandle_t hDevice , TpCallback_t pCallback , void* pData );
2199 
2200 #ifdef __WINNT__
2201 
2207 void GenSetEventBurstCompleted( TpDeviceHandle_t hDevice , HANDLE hEvent );
2208 
2214 void GenSetEventControllableChanged( TpDeviceHandle_t hDevice , HANDLE hEvent );
2215 
2223 void GenSetMessageBurstCompleted( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2224 
2232 void GenSetMessageControllableChanged( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
2233 
2234 #endif
2235 
2242 bool8_t GenGetAutoRanging( TpDeviceHandle_t hDevice );
2243 
2247 bool8_t GenSetAutoRanging( TpDeviceHandle_t hDevice , bool8_t bEnable );
2248 
2252 uint32_t GenGetRanges( TpDeviceHandle_t hDevice , double* pList , uint32_t dwLength );
2253 
2257 double GenGetRange( TpDeviceHandle_t hDevice );
2258 
2262 double GenSetRange( TpDeviceHandle_t hDevice , double dRange );
2263 
2277 uint64_t GenGetTriggerSources( TpDeviceHandle_t hDevice );
2278 
2286 uint64_t GenGetTriggerSourceAND( TpDeviceHandle_t hDevice );
2287 
2296 uint64_t GenSetTriggerSourceAND( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
2297 
2305 uint64_t GenGetTriggerSourceOR( TpDeviceHandle_t hDevice );
2306 
2315 uint64_t GenSetTriggerSourceOR( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
2316 
2329 uint64_t GenGetDataLengthMax( TpDeviceHandle_t hDevice );
2330 
2337 uint64_t GenGetDataLength( TpDeviceHandle_t hDevice );
2338 
2346 uint64_t GenVerifyDataLength( TpDeviceHandle_t hDevice , uint64_t qwDataLength );
2347 
2354 uint32_t GenGetDataRawType( TpDeviceHandle_t hDevice );
2355 
2363 void GenSetData( TpDeviceHandle_t hDevice , float* pBuffer , uint64_t qwSampleCount );
2364 
2372 void GenSetDataRaw( TpDeviceHandle_t hDevice , void* pBuffer , uint64_t qwSampleCount );
2373 
2381 bool8_t I2CRead( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
2382 bool8_t I2CReadByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t* pValue );
2383 bool8_t I2CReadWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t* pValue );
2384 
2385 bool8_t I2CWrite( TpDeviceHandle_t hDevice , uint16_t wAddress , void* pBuffer , uint32_t dwSize , bool8_t bStop );
2386 bool8_t I2CWriteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue );
2387 bool8_t I2CWriteByteByte( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint8_t byValue2 );
2388 bool8_t I2CWriteByteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint8_t byValue1 , uint16_t wValue2 );
2389 bool8_t I2CWriteWord( TpDeviceHandle_t hDevice , uint16_t wAddress , uint16_t wValue );
2390 
2391 double I2CGetSpeed( TpDeviceHandle_t hDevice );
2392 double I2CGetSpeedMax( TpDeviceHandle_t hDevice );
2393 double I2CSetSpeed( TpDeviceHandle_t hDevice , double dSpeed );
2394 double I2CVerifySpeed( TpDeviceHandle_t hDevice , double dSpeed );
2395 
2396 bool8_t I2CIsInternalAddress( TpDeviceHandle_t hDevice , uint16_t wAddress );
2397 
2403 #ifdef __cplusplus
2404 }
2405 #endif
2406 
2407 #endif