37 #define CKN_COUPLING_COUNT 5
56 #define CK_UNKNOWN 0x0000000000000000
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 )
70 #define CKM_V ( CK_DCV | CK_ACV )
71 #define CKM_A ( CK_DCA | CK_ACA )
72 #define CKM_OHM ( CK_OHM )
81 #define FMN_GENERATORMODE_COUNT 2
88 #define FMB_SIGNALFREQUENCY 0
89 #define FMB_SAMPLEFREQUENCY 1
97 #define FM_UNKNOWN 0x00000000
99 #define FM_SIGNALFREQUENCY ( 1 << FMB_SIGNALFREQUENCY )
100 #define FM_SAMPLEFREQUENCY ( 1 << FMB_SAMPLEFREQUENCY )
109 #define MMN_MEASUREMODE_COUNT 2
125 #define MM_UNKNOWN 0x00000000
127 #define MM_STREAM ( 1 << MMB_STREAM )
128 #define MM_BLOCK ( 1 << MMB_BLOCK )
137 #define STN_SIGNALTYPE_COUNT 6
145 #define STB_TRIANGLE 1
149 #define STB_ARBITRARY 5
157 #define ST_UNKNOWN 0x0000000000000000
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 )
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 )
187 #define TH_ALLPRESAMPLES 0xffffffffffffffff
196 #define TKN_KIND_COUNT 7
204 #define TKB_FALLING 1
205 #define TKB_INWINDOW 2
206 #define TKB_OUTWINDOW 3
208 #define TKB_DROPINWINDOW 5
209 #define TKB_DROPOUTWINDOW 6
217 #define TK_UNKNOWN 0x0000000000000000ULL
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 )
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 )
247 #define TO_INFINITY -1
270 #define TS_NONE 0x0000000000000000ULL
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
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
316 #define TSN_CHANNEL_COUNT 32
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 )
346 #define TPDEVICEHANDLE_INVALID 0
354 #define DEVICETYPE_OSCILLOSCOPE 0x00000001
355 #define DEVICETYPE_GENERATOR 0x00000002
356 #define DEVICETYPE_I2CHOST 0x00000004
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
391 #define CONNECTORTYPE_UNKNOWN 0x00000000
393 #define CONNECTORTYPE_BNC 0x00000001
394 #define CONNECTORTYPE_BANANA 0x00000002
396 #define CONNECTORTYPE_MASK ( CONNECTORTYPE_BNC | CONNECTORTYPE_BANANA )
404 #define DATARAWTYPE_UNKNOWN 0x00000000
406 #define DATARAWTYPE_INT8 0x00000001
407 #define DATARAWTYPE_INT16 0x00000002
408 #define DATARAWTYPE_INT32 0x00000004
409 #define DATARAWTYPE_INT64 0x00000008
411 #define DATARAWTYPE_UINT8 0x00000010
412 #define DATARAWTYPE_UINT16 0x00000020
413 #define DATARAWTYPE_UINT32 0x00000040
414 #define DATARAWTYPE_UINT64 0x00000080
431 #define IDM_DEVICEID 0x80000000
432 #define IDM_ALL 0xffffffff
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 ) )
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 )
467 #define TPDATE_YEAR( x ) ( x >> 16 )
468 #define TPDATE_MONTH( x ) ( ( x >> 8 ) & 0xff )
469 #define TPDATE_DAY( x ) ( x & 0xff )
482 #define WM_LIBTIEPIE ( WM_USER + 1337 )
484 #define WM_LIBTIEPIE_LST_DEVICEADDED ( WM_LIBTIEPIE + 2 )
485 #define WM_LIBTIEPIE_LST_DEVICEREMOVED ( WM_LIBTIEPIE + 3 )
487 #define WM_LIBTIEPIE_DEV_REMOVED ( WM_LIBTIEPIE + 4 )
489 #define WM_LIBTIEPIE_SCP_DATAREADY ( WM_LIBTIEPIE + 0 )
490 #define WM_LIBTIEPIE_SCP_DATAOVERFLOW ( WM_LIBTIEPIE + 1 )
492 #define WM_LIBTIEPIE_GEN_BURSTCOMPLETED ( WM_LIBTIEPIE + 5 )
493 #define WM_LIBTIEPIE_GEN_CONTROLLABLECHANGED ( WM_LIBTIEPIE + 6 )
527 uint32_t
LibGetConfig( uint8_t* pBuffer , uint32_t dwBufferLength );
589 uint32_t
LstGetDeviceName( uint32_t dwDeviceType , uint32_t dwId ,
char* pBuffer , uint32_t dwBufferLength );
599 uint32_t
LstGetDeviceNameShort( uint32_t dwDeviceType , uint32_t dwId ,
char* pBuffer , uint32_t dwBufferLength );
616 TpDeviceHandle_t
LstOpenDevice( uint32_t dwDeviceType , uint32_t dwId );
630 void LstUpdate( uint32_t dwDeviceIdMask );
697 void DevClose( TpDeviceHandle_t hDevice );
772 uint32_t
DevGetName( TpDeviceHandle_t hDevice ,
char* pBuffer , uint32_t dwBufferLength );
778 uint32_t
DevGetNameShort( TpDeviceHandle_t hDevice ,
char* pBuffer , uint32_t dwBufferLength );
809 void DevSetMessageRemoved( TpDeviceHandle_t hDevice , HWND hWnd , WPARAM wParam , LPARAM lParam );
840 uint32_t
ScpGetSharedChannelGroup( TpDeviceHandle_t hDevice , uint32_t dwGroupIndex , uint16_t* pChannelNumbers , uint32_t dwLength );
899 uint64_t
ScpChSetCoupling( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling );
919 bool8_t
ScpChSetEnabled( TpDeviceHandle_t hDevice , uint16_t wCh , bool8_t bEnable );
950 double ScpChSetProbeGain( TpDeviceHandle_t hDevice , uint16_t wCh ,
double dProbeGain );
961 uint32_t
ScpChGetRanges( TpDeviceHandle_t hDevice , uint16_t wCh ,
double* pList , uint32_t dwLength );
973 uint32_t
ScpChGetRangesEx( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwCoupling ,
double* pList , uint32_t dwLength );
982 double ScpChGetRange( TpDeviceHandle_t hDevice , uint16_t wCh );
992 double ScpChSetRange( TpDeviceHandle_t hDevice , uint16_t wCh ,
double dRange );
1008 uint64_t
ScpGetData( TpDeviceHandle_t hDevice ,
float** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1018 uint64_t
ScpGetData1Ch( TpDeviceHandle_t hDevice ,
float* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1028 uint64_t
ScpGetData2Ch( TpDeviceHandle_t hDevice ,
float* pBufferCh1 ,
float* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1038 uint64_t
ScpGetData3Ch( TpDeviceHandle_t hDevice ,
float *pBufferCh1 ,
float* pBufferCh2 ,
float* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1048 uint64_t
ScpGetData4Ch( TpDeviceHandle_t hDevice ,
float* pBufferCh1 ,
float* pBufferCh2 ,
float* pBufferCh3 ,
float* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1058 uint64_t
ScpGetDataRaw( TpDeviceHandle_t hDevice ,
void** pBuffers , uint16_t wChannelCount , uint64_t qwStartIndex , uint64_t qwSampleCount );
1068 uint64_t
ScpGetDataRaw1Ch( TpDeviceHandle_t hDevice ,
void* pBufferCh1 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1078 uint64_t
ScpGetDataRaw2Ch( TpDeviceHandle_t hDevice ,
void* pBufferCh1 ,
void* pBufferCh2 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1088 uint64_t
ScpGetDataRaw3Ch( TpDeviceHandle_t hDevice ,
void* pBufferCh1 ,
void* pBufferCh2 ,
void* pBufferCh3 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1098 uint64_t
ScpGetDataRaw4Ch( TpDeviceHandle_t hDevice ,
void* pBufferCh1 ,
void* pBufferCh2 ,
void* pBufferCh3 ,
void* pBufferCh4 , uint64_t qwStartIndex , uint64_t qwSampleCount );
1149 void ScpChGetDataRawValueRange( TpDeviceHandle_t hDevice , uint16_t wCh , int64_t* pMin , int64_t* pZero , int64_t* pMax );
1237 bool8_t
ScpStart( TpDeviceHandle_t hDevice );
1244 void ScpStop( TpDeviceHandle_t hDevice );
1307 uint32_t
ScpSetMeasureMode( TpDeviceHandle_t hDevice , uint32_t dwMeasureMode );
1323 uint32_t
ScpGetResolutions( TpDeviceHandle_t hDevice , uint8_t *pList , uint32_t dwLength );
1340 uint8_t
ScpSetResolution( TpDeviceHandle_t hDevice , uint8_t byResolution );
1383 uint32_t
ScpSetClockSource( TpDeviceHandle_t hDevice , uint32_t dwClockSource );
1483 uint64_t
ScpVerifyRecordLengthEx( TpDeviceHandle_t hDevice , uint64_t qwRecordLength , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1528 double ScpVerifySampleFrequencyEx( TpDeviceHandle_t hDevice ,
double dSampleFrequency , uint32_t dwMeasureMode , uint8_t byResolution , uint64_t qwActiveChannelMask );
1633 uint64_t
ScpGetTriggerKinds( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask );
1647 uint64_t
ScpGetTriggerKindsEx( TpDeviceHandle_t hDevice , uint64_t qwTriggerSourceMask , uint32_t dwMeasureMode );
1657 uint64_t
ScpGetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource );
1668 uint64_t
ScpSetTriggerKind( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint64_t qwTriggerKind );
1678 double ScpGetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex );
1689 double ScpSetTriggerLevel( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex ,
double dLevel );
1710 double ScpSetTriggerHysteresis( TpDeviceHandle_t hDevice , uint64_t qwTriggerSource , uint32_t dwIndex ,
double dHysteresis );
1752 uint64_t
ScpChSetTriggerKind( TpDeviceHandle_t hDevice , uint16_t wCh , uint64_t qwTriggerKind );
1773 double ScpChSetTriggerLevel( TpDeviceHandle_t hDevice , uint16_t wCh , uint32_t dwIndex ,
double dLevel );
1876 bool8_t
GenSetOutputOn( TpDeviceHandle_t hDevice , bool8_t bOutputOn );
1883 void GenStart( TpDeviceHandle_t hDevice );
1890 void GenStop( TpDeviceHandle_t hDevice );
1920 uint64_t
GenSetBurstCount( TpDeviceHandle_t hDevice , uint64_t qwBurstCount );
1939 uint32_t
GenGetModesEx( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
1948 uint32_t
GenGetMode( TpDeviceHandle_t hDevice );
1958 uint32_t
GenSetMode( TpDeviceHandle_t hDevice , uint32_t dwMode );
1986 uint32_t
GenSetSignalType( TpDeviceHandle_t hDevice , uint32_t dwSignalType );
2019 double GenSetAmplitude( TpDeviceHandle_t hDevice ,
double dAmplitude );
2037 void GenGetFrequencyMinMax( TpDeviceHandle_t hDevice , uint32_t dwMode ,
double* pMin ,
double* pMax );
2070 double GenSetFrequency( TpDeviceHandle_t hDevice ,
double dFrequency );
2120 double GenSetOffset( TpDeviceHandle_t hDevice ,
double dOffset );
2143 double GenSetPhase( TpDeviceHandle_t hDevice ,
double dPhase );
2151 double GenVerifyPhase( TpDeviceHandle_t hDevice ,
double dPhase );
2168 double GenSetSymmetry( TpDeviceHandle_t hDevice ,
double dSymmetry );
2252 uint32_t
GenGetRanges( TpDeviceHandle_t hDevice ,
double* pList , uint32_t dwLength );
2262 double GenSetRange( TpDeviceHandle_t hDevice ,
double dRange );
2363 void GenSetData( TpDeviceHandle_t hDevice ,
float* pBuffer , uint64_t qwSampleCount );
2372 void GenSetDataRaw( TpDeviceHandle_t hDevice ,
void* pBuffer , uint64_t qwSampleCount );
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 );
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 );
2393 double I2CSetSpeed( TpDeviceHandle_t hDevice ,
double dSpeed );
2394 double I2CVerifySpeed( TpDeviceHandle_t hDevice ,
double dSpeed );