libtiepie-hw 1.5.0
Loading...
Searching...
No Matches
libtiepie-hw.h
1
6#ifndef _LIBTIEPIE_HW_H_
7#define _LIBTIEPIE_HW_H_
8
9#ifdef __cplusplus
10 #include <cstdlib>
11 #include <cstdint>
12#else
13 #include <stdlib.h>
14 #include <stdint.h>
15#endif
16
17#ifndef TIEPIE_HW_API
18 #define TIEPIE_HW_API
19#endif
20
21#ifdef __cplusplus
22extern "C"
23{
24#endif
25
26#define TIEPIE_HW_VERSION_MAJOR 1
27#define TIEPIE_HW_VERSION_MINOR 5
28#define TIEPIE_HW_VERSION_PATCH 0
29#define TIEPIE_HW_VERSION_NUMBER "1.5.0"
30#define TIEPIE_HW_VERSION "1.5.0"
31
778#define TIEPIE_HW_HANDLE_INVALID 0
779
787#define TIEPIE_HW_BOOL_FALSE 0
788#define TIEPIE_HW_BOOL_TRUE 1
789
796#define TIEPIE_HW_INTERFACE_DEVICE 0x0000000000000001
797#define TIEPIE_HW_INTERFACE_OSCILLOSCOPE 0x0000000000000002
798#define TIEPIE_HW_INTERFACE_GENERATOR 0x0000000000000004
799#define TIEPIE_HW_INTERFACE_SERVER 0x0000000000000010
800
801#define TIEPIE_HW_INTERFACE_COUNT 4
802
809#define TIEPIE_HW_DEVICETYPE_OSCILLOSCOPE 0x00000001
810#define TIEPIE_HW_DEVICETYPE_GENERATOR 0x00000002
811
812#define TIEPIE_HW_DEVICETYPE_COUNT 2
813
821#define TIEPIE_HW_CONNECTORTYPE_UNKNOWN 0x00000000
822
823#define TIEPIE_HW_CONNECTORTYPE_BNC 0x00000001
824#define TIEPIE_HW_CONNECTORTYPE_BANANA 0x00000002
825#define TIEPIE_HW_CONNECTORTYPE_POWERPLUG 0x00000004
826
827#define TIEPIE_HW_CONNECTORTYPE_COUNT 3
828
834#define TIEPIE_HW_CONNECTORTYPE_MASK (TIEPIE_HW_CONNECTORTYPE_BNC | TIEPIE_HW_CONNECTORTYPE_BANANA | TIEPIE_HW_CONNECTORTYPE_POWERPLUG)
835
844#define TIEPIE_HW_DATARAWTYPE_UNKNOWN 0x00000000
845
846#define TIEPIE_HW_DATARAWTYPE_INT8 0x00000001
847#define TIEPIE_HW_DATARAWTYPE_INT16 0x00000002
848#define TIEPIE_HW_DATARAWTYPE_INT32 0x00000004
849#define TIEPIE_HW_DATARAWTYPE_INT64 0x00000008
850
851#define TIEPIE_HW_DATARAWTYPE_UINT8 0x00000010
852#define TIEPIE_HW_DATARAWTYPE_UINT16 0x00000020
853#define TIEPIE_HW_DATARAWTYPE_UINT32 0x00000040
854#define TIEPIE_HW_DATARAWTYPE_UINT64 0x00000080
855
856#define TIEPIE_HW_DATARAWTYPE_FLOAT32 0x00000100
857#define TIEPIE_HW_DATARAWTYPE_FLOAT64 0x00000200
858
859#define TIEPIE_HW_DATARAWTYPE_COUNT 10
860
867#define TIEPIE_HW_DATARAWTYPE_MASK_INT (TIEPIE_HW_DATARAWTYPE_INT8 | TIEPIE_HW_DATARAWTYPE_INT16 | TIEPIE_HW_DATARAWTYPE_INT32 | TIEPIE_HW_DATARAWTYPE_INT64)
868#define TIEPIE_HW_DATARAWTYPE_MASK_UINT (TIEPIE_HW_DATARAWTYPE_UINT8 | TIEPIE_HW_DATARAWTYPE_UINT16 | TIEPIE_HW_DATARAWTYPE_UINT32 | TIEPIE_HW_DATARAWTYPE_UINT64)
869#define TIEPIE_HW_DATARAWTYPE_MASK_FLOAT (TIEPIE_HW_DATARAWTYPE_FLOAT32 | TIEPIE_HW_DATARAWTYPE_FLOAT64 )
870#define TIEPIE_HW_DATARAWTYPE_MASK_FIXED (TIEPIE_HW_DATARAWTYPE_MASK_INT | TIEPIE_HW_DATARAWTYPE_MASK_UINT)
871
879#define TIEPIE_HW_TRISTATE_UNDEFINED 0
880#define TIEPIE_HW_TRISTATE_FALSE 1
881#define TIEPIE_HW_TRISTATE_TRUE 2
882
889#define TIEPIE_HW_TRIGGERIO_INDEX_INVALID 0xffff
890
897#define TIEPIE_HW_STRING_LENGTH_NULL_TERMINATED 0xffffffff
898
906#define TIEPIE_HW_SERVER_STATUS_DISCONNECTED 0
907#define TIEPIE_HW_SERVER_STATUS_CONNECTING 1
908#define TIEPIE_HW_SERVER_STATUS_CONNECTED 2
909#define TIEPIE_HW_SERVER_STATUS_DISCONNECTING 3
910
918#define TIEPIE_HW_SERVER_ERROR_NONE 0
919#define TIEPIE_HW_SERVER_ERROR_UNKNOWN 1
920#define TIEPIE_HW_SERVER_ERROR_CONNECTIONREFUSED 2
921#define TIEPIE_HW_SERVER_ERROR_NETWORKUNREACHABLE 3
922#define TIEPIE_HW_SERVER_ERROR_TIMEDOUT 4
923#define TIEPIE_HW_SERVER_ERROR_HOSTNAMELOOKUPFAILED 5
924
930
936#define TIEPIE_HW_RANGEINDEX_AUTO 0xffffffff
937
943
949#define TIEPIE_HW_POINTER_ARRAY_MAX_LENGTH 256
950
964#define TIEPIE_HW_ARMN_COUNT 3
965
972#define TIEPIE_HW_ARMB_DISABLED 0
973#define TIEPIE_HW_ARMB_NATIVEONLY 1
974#define TIEPIE_HW_ARMB_ALL 2
975
980#define TIEPIE_HW_ARM_UNKNOWN 0
981
982#define TIEPIE_HW_ARM_DISABLED (1 << TIEPIE_HW_ARMB_DISABLED)
983#define TIEPIE_HW_ARM_NATIVEONLY (1 << TIEPIE_HW_ARMB_NATIVEONLY)
984#define TIEPIE_HW_ARM_ALL (1 << TIEPIE_HW_ARMB_ALL)
985
992#define TIEPIE_HW_ARMM_NONE 0
993#define TIEPIE_HW_ARMM_ALL ((1 << TIEPIE_HW_ARMN_COUNT) - 1)
994#define TIEPIE_HW_ARMM_ENABLED (TIEPIE_HW_ARMM_ALL & ~TIEPIE_HW_ARM_DISABLED)
995
1009#define TIEPIE_HW_CKN_COUNT 5
1010
1017#define TIEPIE_HW_CKB_DCV 0
1018#define TIEPIE_HW_CKB_ACV 1
1019#define TIEPIE_HW_CKB_DCA 2
1020#define TIEPIE_HW_CKB_ACA 3
1021#define TIEPIE_HW_CKB_OHM 4
1022
1027#define TIEPIE_HW_CK_UNKNOWN 0
1028
1029#define TIEPIE_HW_CK_DCV (1 << TIEPIE_HW_CKB_DCV)
1030#define TIEPIE_HW_CK_ACV (1 << TIEPIE_HW_CKB_ACV)
1031#define TIEPIE_HW_CK_DCA (1 << TIEPIE_HW_CKB_DCA)
1032#define TIEPIE_HW_CK_ACA (1 << TIEPIE_HW_CKB_ACA)
1033#define TIEPIE_HW_CK_OHM (1 << TIEPIE_HW_CKB_OHM)
1034
1041#define TIEPIE_HW_CKM_NONE 0
1042#define TIEPIE_HW_CKM_V (TIEPIE_HW_CK_DCV | TIEPIE_HW_CK_ACV)
1043#define TIEPIE_HW_CKM_A (TIEPIE_HW_CK_DCA | TIEPIE_HW_CK_ACA)
1044#define TIEPIE_HW_CKM_OHM (TIEPIE_HW_CK_OHM)
1045
1046#define TIEPIE_HW_CKM_ASYMMETRICRANGE (TIEPIE_HW_CKM_OHM)
1047#define TIEPIE_HW_CKM_SYMMETRICRANGE (TIEPIE_HW_CKM_V | TIEPIE_HW_CKM_A)
1048
1049#define TIEPIE_HW_CKM_DC (TIEPIE_HW_CK_DCV | TIEPIE_HW_CK_DCA | TIEPIE_HW_CK_OHM)
1050#define TIEPIE_HW_CKM_AC (TIEPIE_HW_CK_ACV | TIEPIE_HW_CK_ACA)
1051
1065#define TIEPIE_HW_CON_COUNT 3
1066
1073#define TIEPIE_HW_COB_DISABLED 0
1074#define TIEPIE_HW_COB_SAMPLE 1
1075#define TIEPIE_HW_COB_FIXED 2
1076
1081#define TIEPIE_HW_CO_DISABLED (1 << TIEPIE_HW_COB_DISABLED)
1082#define TIEPIE_HW_CO_SAMPLE (1 << TIEPIE_HW_COB_SAMPLE)
1083#define TIEPIE_HW_CO_FIXED (1 << TIEPIE_HW_COB_FIXED)
1084
1091#define TIEPIE_HW_COM_NONE 0
1092#define TIEPIE_HW_COM_ALL ((1 << TIEPIE_HW_CON_COUNT) - 1)
1093#define TIEPIE_HW_COM_ENABLED (TIEPIE_HW_COM_ALL & ~TIEPIE_HW_CO_DISABLED)
1094#define TIEPIE_HW_COM_FREQUENCY (TIEPIE_HW_CO_FIXED)
1095
1109#define TIEPIE_HW_CSN_COUNT 2
1110
1117#define TIEPIE_HW_CSB_EXTERNAL 0
1118#define TIEPIE_HW_CSB_INTERNAL 1
1119
1124#define TIEPIE_HW_CS_EXTERNAL (1 << TIEPIE_HW_CSB_EXTERNAL)
1125#define TIEPIE_HW_CS_INTERNAL (1 << TIEPIE_HW_CSB_INTERNAL)
1126
1133#define TIEPIE_HW_CSM_NONE 0
1134#define TIEPIE_HW_CSM_ALL ((1 << TIEPIE_HW_CSN_COUNT) - 1)
1135#define TIEPIE_HW_CSM_FREQUENCY (TIEPIE_HW_CS_EXTERNAL)
1136
1150#define TIEPIE_HW_FMN_COUNT 2
1151
1157#define TIEPIE_HW_FMB_SIGNALFREQUENCY 0
1158#define TIEPIE_HW_FMB_SAMPLERATE 1
1159
1164#define TIEPIE_HW_FM_UNKNOWN 0x00000000
1165
1166#define TIEPIE_HW_FM_SIGNALFREQUENCY (1 << TIEPIE_HW_FMB_SIGNALFREQUENCY)
1167#define TIEPIE_HW_FM_SAMPLERATE (1 << TIEPIE_HW_FMB_SAMPLERATE)
1168
1174#define TIEPIE_HW_FMM_NONE 0x00000000
1175#define TIEPIE_HW_FMM_ALL ((1 << TIEPIE_HW_FMN_COUNT) - 1)
1176
1190#define TIEPIE_HW_GMN_COUNT 12
1191
1198#define TIEPIE_HW_GMB_CONTINUOUS 0
1199#define TIEPIE_HW_GMB_BURST_COUNT 1
1200#define TIEPIE_HW_GMB_GATED_PERIODS 2
1201#define TIEPIE_HW_GMB_GATED 3
1202#define TIEPIE_HW_GMB_GATED_PERIOD_START 4
1203#define TIEPIE_HW_GMB_GATED_PERIOD_FINISH 5
1204#define TIEPIE_HW_GMB_GATED_RUN 6
1205#define TIEPIE_HW_GMB_GATED_RUN_OUTPUT 7
1206#define TIEPIE_HW_GMB_BURST_SAMPLE_COUNT 8
1207#define TIEPIE_HW_GMB_BURST_SAMPLE_COUNT_OUTPUT 9
1208#define TIEPIE_HW_GMB_BURST_SEGMENT_COUNT 10
1209#define TIEPIE_HW_GMB_BURST_SEGMENT_COUNT_OUTPUT 11
1210
1215#define TIEPIE_HW_GM_UNKNOWN 0
1216
1217#define TIEPIE_HW_GM_CONTINUOUS (1 << TIEPIE_HW_GMB_CONTINUOUS)
1218#define TIEPIE_HW_GM_BURST_COUNT (1 << TIEPIE_HW_GMB_BURST_COUNT)
1219#define TIEPIE_HW_GM_GATED_PERIODS (1 << TIEPIE_HW_GMB_GATED_PERIODS)
1220#define TIEPIE_HW_GM_GATED (1 << TIEPIE_HW_GMB_GATED)
1221#define TIEPIE_HW_GM_GATED_PERIOD_START (1 << TIEPIE_HW_GMB_GATED_PERIOD_START)
1222#define TIEPIE_HW_GM_GATED_PERIOD_FINISH (1 << TIEPIE_HW_GMB_GATED_PERIOD_FINISH)
1223#define TIEPIE_HW_GM_GATED_RUN (1 << TIEPIE_HW_GMB_GATED_RUN)
1224#define TIEPIE_HW_GM_GATED_RUN_OUTPUT (1 << TIEPIE_HW_GMB_GATED_RUN_OUTPUT)
1225#define TIEPIE_HW_GM_BURST_SAMPLE_COUNT (1 << TIEPIE_HW_GMB_BURST_SAMPLE_COUNT)
1226#define TIEPIE_HW_GM_BURST_SAMPLE_COUNT_OUTPUT (1 << TIEPIE_HW_GMB_BURST_SAMPLE_COUNT_OUTPUT)
1227#define TIEPIE_HW_GM_BURST_SEGMENT_COUNT (1 << TIEPIE_HW_GMB_BURST_SEGMENT_COUNT)
1228#define TIEPIE_HW_GM_BURST_SEGMENT_COUNT_OUTPUT (1 << TIEPIE_HW_GMB_BURST_SEGMENT_COUNT_OUTPUT)
1229
1236#define TIEPIE_HW_GMM_NONE 0
1237#define TIEPIE_HW_GMM_BURST_COUNT (TIEPIE_HW_GM_BURST_COUNT)
1238#define TIEPIE_HW_GMM_GATED (TIEPIE_HW_GM_GATED_PERIODS | TIEPIE_HW_GM_GATED | TIEPIE_HW_GM_GATED_PERIOD_START | TIEPIE_HW_GM_GATED_PERIOD_FINISH | TIEPIE_HW_GM_GATED_RUN | TIEPIE_HW_GM_GATED_RUN_OUTPUT)
1239#define TIEPIE_HW_GMM_BURST_SAMPLE_COUNT (TIEPIE_HW_GM_BURST_SAMPLE_COUNT | TIEPIE_HW_GM_BURST_SAMPLE_COUNT_OUTPUT)
1240#define TIEPIE_HW_GMM_BURST_SEGMENT_COUNT (TIEPIE_HW_GM_BURST_SEGMENT_COUNT | TIEPIE_HW_GM_BURST_SEGMENT_COUNT_OUTPUT)
1241#define TIEPIE_HW_GMM_BURST (TIEPIE_HW_GMM_BURST_COUNT | TIEPIE_HW_GMM_BURST_SAMPLE_COUNT | TIEPIE_HW_GMM_BURST_SEGMENT_COUNT)
1242#define TIEPIE_HW_GMM_REQUIRE_TRIGGER (TIEPIE_HW_GMM_GATED | TIEPIE_HW_GMM_BURST_SAMPLE_COUNT | TIEPIE_HW_GMM_BURST_SEGMENT_COUNT)
1243#define TIEPIE_HW_GMM_ALL ((1ULL << TIEPIE_HW_GMN_COUNT) - 1)
1244
1245#define TIEPIE_HW_GMM_SIGNALFREQUENCY (TIEPIE_HW_GMM_ALL & ~TIEPIE_HW_GMM_BURST_SAMPLE_COUNT)
1246#define TIEPIE_HW_GMM_SAMPLERATE (TIEPIE_HW_GMM_ALL)
1247
1248#define TIEPIE_HW_GMM_SINE (TIEPIE_HW_GMM_SIGNALFREQUENCY)
1249#define TIEPIE_HW_GMM_TRIANGLE (TIEPIE_HW_GMM_SIGNALFREQUENCY)
1250#define TIEPIE_HW_GMM_SQUARE (TIEPIE_HW_GMM_SIGNALFREQUENCY)
1251#define TIEPIE_HW_GMM_DC (TIEPIE_HW_GM_CONTINUOUS)
1252#define TIEPIE_HW_GMM_NOISE (TIEPIE_HW_GM_CONTINUOUS | TIEPIE_HW_GM_GATED)
1253#define TIEPIE_HW_GMM_ARBITRARY (TIEPIE_HW_GMM_SIGNALFREQUENCY | TIEPIE_HW_GMM_SAMPLERATE)
1254#define TIEPIE_HW_GMM_PULSE (TIEPIE_HW_GMM_SIGNALFREQUENCY & ~TIEPIE_HW_GMM_BURST_SEGMENT_COUNT)
1255
1269#define TIEPIE_HW_GSN_COUNT 4
1270
1277#define TIEPIE_HW_GSB_STOPPED 0
1278#define TIEPIE_HW_GSB_RUNNING 1
1279#define TIEPIE_HW_GSB_BURSTACTIVE 2
1280#define TIEPIE_HW_GSB_WAITING 3
1281
1286#define TIEPIE_HW_GS_STOPPED (1 << TIEPIE_HW_GSB_STOPPED)
1287#define TIEPIE_HW_GS_RUNNING (1 << TIEPIE_HW_GSB_RUNNING)
1288#define TIEPIE_HW_GS_BURSTACTIVE (1 << TIEPIE_HW_GSB_BURSTACTIVE)
1289#define TIEPIE_HW_GS_WAITING (1 << TIEPIE_HW_GSB_WAITING)
1290
1297#define TIEPIE_HW_GSM_NONE 0
1298#define TIEPIE_HW_GSM_ALL ((1UL << TIEPIE_HW_GSN_COUNT) - 1)
1299
1313#define TIEPIE_HW_MMN_COUNT 2
1314
1321#define TIEPIE_HW_MMB_STREAM 0
1322#define TIEPIE_HW_MMB_BLOCK 1
1323
1331#define TIEPIE_HW_MMM_NONE 0
1332#define TIEPIE_HW_MMM_ALL ((1 << TIEPIE_HW_MMN_COUNT) - 1)
1333
1338#define TIEPIE_HW_MM_UNKNOWN 0
1339
1340#define TIEPIE_HW_MM_STREAM (1 << TIEPIE_HW_MMB_STREAM)
1341#define TIEPIE_HW_MM_BLOCK (1 << TIEPIE_HW_MMB_BLOCK )
1342
1355#define TIEPIE_HW_STN_COUNT 7
1356
1363#define TIEPIE_HW_STB_SINE 0
1364#define TIEPIE_HW_STB_TRIANGLE 1
1365#define TIEPIE_HW_STB_SQUARE 2
1366#define TIEPIE_HW_STB_DC 3
1367#define TIEPIE_HW_STB_NOISE 4
1368#define TIEPIE_HW_STB_ARBITRARY 5
1369#define TIEPIE_HW_STB_PULSE 6
1370
1375#define TIEPIE_HW_ST_UNKNOWN 0
1376
1377#define TIEPIE_HW_ST_SINE (1 << TIEPIE_HW_STB_SINE)
1378#define TIEPIE_HW_ST_TRIANGLE (1 << TIEPIE_HW_STB_TRIANGLE)
1379#define TIEPIE_HW_ST_SQUARE (1 << TIEPIE_HW_STB_SQUARE)
1380#define TIEPIE_HW_ST_DC (1 << TIEPIE_HW_STB_DC)
1381#define TIEPIE_HW_ST_NOISE (1 << TIEPIE_HW_STB_NOISE)
1382#define TIEPIE_HW_ST_ARBITRARY (1 << TIEPIE_HW_STB_ARBITRARY)
1383#define TIEPIE_HW_ST_PULSE (1 << TIEPIE_HW_STB_PULSE)
1384
1391#define TIEPIE_HW_STM_NONE 0
1392
1393#define TIEPIE_HW_STM_AMPLITUDE (TIEPIE_HW_ST_SINE | TIEPIE_HW_ST_TRIANGLE | TIEPIE_HW_ST_SQUARE | TIEPIE_HW_ST_NOISE | TIEPIE_HW_ST_ARBITRARY | TIEPIE_HW_ST_PULSE)
1394#define TIEPIE_HW_STM_OFFSET (TIEPIE_HW_ST_SINE | TIEPIE_HW_ST_TRIANGLE | TIEPIE_HW_ST_SQUARE | TIEPIE_HW_ST_DC | TIEPIE_HW_ST_NOISE | TIEPIE_HW_ST_ARBITRARY | TIEPIE_HW_ST_PULSE)
1395#define TIEPIE_HW_STM_FREQUENCY (TIEPIE_HW_ST_SINE | TIEPIE_HW_ST_TRIANGLE | TIEPIE_HW_ST_SQUARE | TIEPIE_HW_ST_NOISE | TIEPIE_HW_ST_ARBITRARY | TIEPIE_HW_ST_PULSE)
1396#define TIEPIE_HW_STM_PHASE (TIEPIE_HW_ST_SINE | TIEPIE_HW_ST_TRIANGLE | TIEPIE_HW_ST_SQUARE | TIEPIE_HW_ST_ARBITRARY | TIEPIE_HW_ST_PULSE)
1397#define TIEPIE_HW_STM_SYMMETRY (TIEPIE_HW_ST_SINE | TIEPIE_HW_ST_TRIANGLE | TIEPIE_HW_ST_SQUARE )
1398#define TIEPIE_HW_STM_WIDTH ( TIEPIE_HW_ST_PULSE)
1399#define TIEPIE_HW_STM_LEADINGEDGETIME ( TIEPIE_HW_ST_PULSE)
1400#define TIEPIE_HW_STM_TRAILINGEDGETIME ( TIEPIE_HW_ST_PULSE)
1401#define TIEPIE_HW_STM_DATALENGTH ( TIEPIE_HW_ST_ARBITRARY )
1402#define TIEPIE_HW_STM_DATA ( TIEPIE_HW_ST_ARBITRARY )
1403
1404#define TIEPIE_HW_STM_EDGETIME (TIEPIE_HW_STM_LEADINGEDGETIME & TIEPIE_HW_STM_TRAILINGEDGETIME)
1405
1419#define TIEPIE_HW_TCN_COUNT 5
1420
1427#define TIEPIE_HW_TCB_NONE 0
1428#define TIEPIE_HW_TCB_SMALLER 1
1429#define TIEPIE_HW_TCB_LARGER 2
1430#define TIEPIE_HW_TCB_INSIDE 3
1431#define TIEPIE_HW_TCB_OUTSIDE 4
1432
1437#define TIEPIE_HW_TC_UNKNOWN 0
1438
1439#define TIEPIE_HW_TC_NONE (1 << TIEPIE_HW_TCB_NONE)
1440#define TIEPIE_HW_TC_SMALLER (1 << TIEPIE_HW_TCB_SMALLER)
1441#define TIEPIE_HW_TC_LARGER (1 << TIEPIE_HW_TCB_LARGER)
1442#define TIEPIE_HW_TC_INSIDE (1 << TIEPIE_HW_TCB_INSIDE)
1443#define TIEPIE_HW_TC_OUTSIDE (1 << TIEPIE_HW_TCB_OUTSIDE)
1444
1451#define TIEPIE_HW_TCM_NONE 0
1452#define TIEPIE_HW_TCM_ALL ((1 << TIEPIE_HW_TCN_COUNT) - 1)
1453#define TIEPIE_HW_TCM_ENABLED (TIEPIE_HW_TCM_ALL & ~TIEPIE_HW_TC_NONE)
1454
1466#define TIEPIE_HW_TRIGGER_IO_ID(pgid , sgid, fid) ((TIEPIE_HW_DN_MAIN << TIEPIE_HW_TIOID_SHIFT_DN) | ((pgid) << TIEPIE_HW_TIOID_SHIFT_PGID) | ((sgid) << TIEPIE_HW_TIOID_SHIFT_SGID) | ((fid) << TIEPIE_HW_TIOID_SHIFT_FID))
1467
1468#define TIEPIE_HW_COMBI_TRIGGER_IO_ID(dn, tiid) (((dn) << TIEPIE_HW_TIOID_SHIFT_DN) | ((tiid) & ((1 << TIEPIE_HW_TIOID_SHIFT_DN) - 1)))
1469
1483#define TIEPIE_HW_DN_MAIN 0
1484#define TIEPIE_HW_DN_SUB_FIRST 1
1485#define TIEPIE_HW_DN_SUB_SECOND 2
1486
1494#define TIEPIE_HW_PGID_OSCILLOSCOPE 1
1495#define TIEPIE_HW_PGID_GENERATOR 2
1496#define TIEPIE_HW_PGID_EXTERNAL_DSUB 3
1497
1506#define TIEPIE_HW_SGID_MAIN 0
1507#define TIEPIE_HW_SGID_CHANNEL1 1
1508#define TIEPIE_HW_SGID_CHANNEL2 2
1509
1516#define TIEPIE_HW_SGID_PIN1 1
1517#define TIEPIE_HW_SGID_PIN2 2
1518#define TIEPIE_HW_SGID_PIN3 3
1519
1530#define TIEPIE_HW_FID_SCP_TRIGGERED 0
1531
1538#define TIEPIE_HW_FID_GEN_START 0
1539#define TIEPIE_HW_FID_GEN_STOP 1
1540#define TIEPIE_HW_FID_GEN_NEW_PERIOD 2
1541
1542
1549#define TIEPIE_HW_FID_EXT_TRIGGERED 0
1550
1559#define TIEPIE_HW_TIOID_SHIFT_PGID 20
1560#define TIEPIE_HW_TIOID_SHIFT_DN 24
1561#define TIEPIE_HW_TIOID_SHIFT_SGID 8
1562#define TIEPIE_HW_TIOID_SHIFT_FID 0
1563
1571#define TIEPIE_HW_TIID_INVALID 0
1572#define TIEPIE_HW_TIID_EXT1 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN1, TIEPIE_HW_FID_EXT_TRIGGERED )
1573#define TIEPIE_HW_TIID_EXT2 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN2, TIEPIE_HW_FID_EXT_TRIGGERED )
1574#define TIEPIE_HW_TIID_EXT3 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN3, TIEPIE_HW_FID_EXT_TRIGGERED )
1575#define TIEPIE_HW_TIID_GENERATOR_START TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_GENERATOR , TIEPIE_HW_SGID_MAIN, TIEPIE_HW_FID_GEN_START )
1576#define TIEPIE_HW_TIID_GENERATOR_STOP TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_GENERATOR , TIEPIE_HW_SGID_MAIN, TIEPIE_HW_FID_GEN_STOP )
1577#define TIEPIE_HW_TIID_GENERATOR_NEW_PERIOD TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_GENERATOR , TIEPIE_HW_SGID_MAIN, TIEPIE_HW_FID_GEN_NEW_PERIOD)
1578
1586#define TIEPIE_HW_TOID_INVALID 0
1587#define TIEPIE_HW_TOID_EXT1 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN1, TIEPIE_HW_FID_EXT_TRIGGERED)
1588#define TIEPIE_HW_TOID_EXT2 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN2, TIEPIE_HW_FID_EXT_TRIGGERED)
1589#define TIEPIE_HW_TOID_EXT3 TIEPIE_HW_TRIGGER_IO_ID(TIEPIE_HW_PGID_EXTERNAL_DSUB, TIEPIE_HW_SGID_PIN3, TIEPIE_HW_FID_EXT_TRIGGERED)
1590
1604#define TIEPIE_HW_TKN_COUNT 15
1605
1612#define TIEPIE_HW_TKB_RISINGEDGE 0
1613#define TIEPIE_HW_TKB_FALLINGEDGE 1
1614#define TIEPIE_HW_TKB_INWINDOW 2
1615#define TIEPIE_HW_TKB_OUTWINDOW 3
1616#define TIEPIE_HW_TKB_ANYEDGE 4
1617#define TIEPIE_HW_TKB_ENTERWINDOW 5
1618#define TIEPIE_HW_TKB_EXITWINDOW 6
1619#define TIEPIE_HW_TKB_PULSEWIDTHPOSITIVE 7
1620#define TIEPIE_HW_TKB_PULSEWIDTHNEGATIVE 8
1621#define TIEPIE_HW_TKB_PULSEWIDTHEITHER 9
1622#define TIEPIE_HW_TKB_RUNTPULSEPOSITIVE 10
1623#define TIEPIE_HW_TKB_RUNTPULSENEGATIVE 11
1624#define TIEPIE_HW_TKB_RUNTPULSEEITHER 12
1625#define TIEPIE_HW_TKB_INTERVALRISING 13
1626#define TIEPIE_HW_TKB_INTERVALFALLING 14
1627
1632#define TIEPIE_HW_TK_UNKNOWN 0
1633#define TIEPIE_HW_TK_RISINGEDGE (1ULL << TIEPIE_HW_TKB_RISINGEDGE)
1634#define TIEPIE_HW_TK_FALLINGEDGE (1ULL << TIEPIE_HW_TKB_FALLINGEDGE)
1635#define TIEPIE_HW_TK_INWINDOW (1ULL << TIEPIE_HW_TKB_INWINDOW)
1636#define TIEPIE_HW_TK_OUTWINDOW (1ULL << TIEPIE_HW_TKB_OUTWINDOW)
1637#define TIEPIE_HW_TK_ANYEDGE (1ULL << TIEPIE_HW_TKB_ANYEDGE)
1638#define TIEPIE_HW_TK_ENTERWINDOW (1ULL << TIEPIE_HW_TKB_ENTERWINDOW)
1639#define TIEPIE_HW_TK_EXITWINDOW (1ULL << TIEPIE_HW_TKB_EXITWINDOW)
1640#define TIEPIE_HW_TK_PULSEWIDTHPOSITIVE (1ULL << TIEPIE_HW_TKB_PULSEWIDTHPOSITIVE)
1641#define TIEPIE_HW_TK_PULSEWIDTHNEGATIVE (1ULL << TIEPIE_HW_TKB_PULSEWIDTHNEGATIVE)
1642#define TIEPIE_HW_TK_PULSEWIDTHEITHER (1ULL << TIEPIE_HW_TKB_PULSEWIDTHEITHER)
1643#define TIEPIE_HW_TK_RUNTPULSEPOSITIVE (1ULL << TIEPIE_HW_TKB_RUNTPULSEPOSITIVE)
1644#define TIEPIE_HW_TK_RUNTPULSENEGATIVE (1ULL << TIEPIE_HW_TKB_RUNTPULSENEGATIVE)
1645#define TIEPIE_HW_TK_RUNTPULSEEITHER (1ULL << TIEPIE_HW_TKB_RUNTPULSEEITHER)
1646#define TIEPIE_HW_TK_INTERVALRISING (1ULL << TIEPIE_HW_TKB_INTERVALRISING)
1647#define TIEPIE_HW_TK_INTERVALFALLING (1ULL << TIEPIE_HW_TKB_INTERVALFALLING)
1648
1655#define TIEPIE_HW_TKM_NONE 0
1656#define TIEPIE_HW_TKM_EDGE (TIEPIE_HW_TK_RISINGEDGE | TIEPIE_HW_TK_FALLINGEDGE | TIEPIE_HW_TK_ANYEDGE)
1657#define TIEPIE_HW_TKM_WINDOW (TIEPIE_HW_TK_INWINDOW | TIEPIE_HW_TK_OUTWINDOW | TIEPIE_HW_TK_ENTERWINDOW | TIEPIE_HW_TK_EXITWINDOW)
1658#define TIEPIE_HW_TKM_PULSEWIDTH (TIEPIE_HW_TK_PULSEWIDTHPOSITIVE | TIEPIE_HW_TK_PULSEWIDTHNEGATIVE | TIEPIE_HW_TK_PULSEWIDTHEITHER)
1659#define TIEPIE_HW_TKM_RUNTPULSE (TIEPIE_HW_TK_RUNTPULSEPOSITIVE | TIEPIE_HW_TK_RUNTPULSENEGATIVE | TIEPIE_HW_TK_RUNTPULSEEITHER)
1660#define TIEPIE_HW_TKM_PULSE (TIEPIE_HW_TKM_PULSEWIDTH | TIEPIE_HW_TKM_RUNTPULSE)
1661#define TIEPIE_HW_TKM_INTERVAL (TIEPIE_HW_TK_INTERVALRISING | TIEPIE_HW_TK_INTERVALFALLING)
1662#define TIEPIE_HW_TKM_TIME (TIEPIE_HW_TKM_PULSEWIDTH | TIEPIE_HW_TKM_WINDOW | TIEPIE_HW_TKM_RUNTPULSE | TIEPIE_HW_TKM_INTERVAL)
1663#define TIEPIE_HW_TKM_ALL ((1ULL << TIEPIE_HW_TKN_COUNT) - 1)
1664
1678#define TIEPIE_HW_TLMN_COUNT 2
1679
1686#define TIEPIE_HW_TLMB_RELATIVE 0
1687#define TIEPIE_HW_TLMB_ABSOLUTE 1
1688
1693#define TIEPIE_HW_TLM_UNKNOWN 0
1694
1695#define TIEPIE_HW_TLM_RELATIVE (1 << TIEPIE_HW_TLMB_RELATIVE)
1696#define TIEPIE_HW_TLM_ABSOLUTE (1 << TIEPIE_HW_TLMB_ABSOLUTE)
1697
1704#define TIEPIE_HW_TLMM_NONE 0
1705#define TIEPIE_HW_TLMM_ALL ((1 << TIEPIE_HW_TLMN_COUNT) - 1)
1706
1720#define TIEPIE_HW_TO_INFINITY (-1.0)
1721
1734#define TIEPIE_HW_TOEN_COUNT 6
1735
1742#define TIEPIE_HW_TOEB_GENERATOR_START 0
1743#define TIEPIE_HW_TOEB_GENERATOR_STOP 1
1744#define TIEPIE_HW_TOEB_GENERATOR_NEWPERIOD 2
1745#define TIEPIE_HW_TOEB_OSCILLOSCOPE_RUNNING 3
1746#define TIEPIE_HW_TOEB_OSCILLOSCOPE_TRIGGERED 4
1747#define TIEPIE_HW_TOEB_MANUAL 5
1748
1753#define TIEPIE_HW_TOE_UNKNOWN 0
1754#define TIEPIE_HW_TOE_GENERATOR_START (1 << TIEPIE_HW_TOEB_GENERATOR_START)
1755#define TIEPIE_HW_TOE_GENERATOR_STOP (1 << TIEPIE_HW_TOEB_GENERATOR_STOP)
1756#define TIEPIE_HW_TOE_GENERATOR_NEWPERIOD (1 << TIEPIE_HW_TOEB_GENERATOR_NEWPERIOD)
1757#define TIEPIE_HW_TOE_OSCILLOSCOPE_RUNNING (1 << TIEPIE_HW_TOEB_OSCILLOSCOPE_RUNNING)
1758#define TIEPIE_HW_TOE_OSCILLOSCOPE_TRIGGERED (1 << TIEPIE_HW_TOEB_OSCILLOSCOPE_TRIGGERED)
1759#define TIEPIE_HW_TOE_MANUAL (1 << TIEPIE_HW_TOEB_MANUAL)
1760
1767#define TIEPIE_HW_TOEM_NONE 0
1768#define TIEPIE_HW_TOEM_GENERATOR (TIEPIE_HW_TOE_GENERATOR_START | TIEPIE_HW_TOE_GENERATOR_STOP | TIEPIE_HW_TOE_GENERATOR_NEWPERIOD)
1769#define TIEPIE_HW_TOEM_OSCILLOSCOPE (TIEPIE_HW_TOE_OSCILLOSCOPE_RUNNING | TIEPIE_HW_TOE_OSCILLOSCOPE_TRIGGERED)
1770#define TIEPIE_HW_TOEM_ALL ((1ULL << TIEPIE_HW_TOEN_COUNT) - 1)
1771
1794{
1835
1836typedef uint32_t tiepie_hw_handle;
1837typedef uint8_t tiepie_hw_bool;
1838
1866
1887
1917
1918typedef uint8_t tiepie_hw_tristate;
1920
1927typedef struct tiepie_hw_date
1928{
1929 uint16_t year;
1930 uint8_t month;
1931 uint8_t day;
1933
1946
1947#ifdef INCLUDED_BY_MATLAB
1948 typedef void* tiepie_hw_devicelist_callback;
1949 typedef void* tiepie_hw_handle_callback;
1950 typedef void* tiepie_hw_event_callback;
1951#else
1961 typedef void(*tiepie_hw_devicelist_callback)(void* data, uint32_t device_types, uint32_t serial_number);
1962
1971 typedef void(*tiepie_hw_handle_callback)(void* data, tiepie_hw_handle handle);
1972
1982 typedef void(*tiepie_hw_event_callback)(void* data, tiepie_hw_event event, uint32_t value);
1983#endif
1984
2019TIEPIE_HW_API void tiepie_hw_init(void);
2020
2032
2044TIEPIE_HW_API void tiepie_hw_fini(void);
2045
2049typedef struct tiepie_hw_version
2050{
2051 uint16_t major;
2052 uint16_t minor;
2053 uint16_t patch;
2054 uint16_t build;
2055 const char* extra;
2057
2071TIEPIE_HW_API const tiepie_hw_version* tiepie_hw_get_version(void);
2072
2097TIEPIE_HW_API uint32_t tiepie_hw_get_config(uint8_t* buffer, uint32_t length);
2098
2111
2129TIEPIE_HW_API const char* tiepie_hw_get_last_status_str(void);
2130
2231// Workaround: Without this line Doxygen adds the documentation below to the group above.
2232
2251TIEPIE_HW_API void tiepie_hw_devicelist_update(void);
2252
2266
2289
2301TIEPIE_HW_API uint32_t tiepie_hw_devicelist_get_count(void);
2302
2318
2334
2350
2385
2423
2461
2475
2483
2504TIEPIE_HW_API uint32_t tiepie_hw_devicelist_create_combined_device(const tiepie_hw_handle* handles, uint32_t count);
2505
2528
2544TIEPIE_HW_API void tiepie_hw_devicelist_remove_device(uint32_t serial_number, tiepie_hw_bool force);
2545
2557
2567// Workaround: Without this line Doxygen adds the documentation below to the group above.
2568
2583
2602TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelistitem_can_open(tiepie_hw_handle handle, uint32_t device_type);
2603
2622TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_opened_by(tiepie_hw_handle handle, uint32_t device_type, char* buffer, uint32_t length);
2623
2639
2672TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name(tiepie_hw_handle handle, char* buffer, uint32_t length);
2673
2706TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name_short(tiepie_hw_handle handle, char* buffer, uint32_t length);
2707
2740TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name_shortest(tiepie_hw_handle handle, char* buffer, uint32_t length);
2741
2763
2782
2799TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_ip_address(tiepie_hw_handle handle, char* buffer, uint32_t length);
2800
2816
2825
2834
2865
2873// Workaround: Without this line Doxygen adds the documentation below to the group above.
2874
2906TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_contained_serial_numbers(tiepie_hw_handle handle, uint32_t* buffer, uint32_t length);
2907
2924TIEPIE_HW_API tiepie_hw_productid tiepie_hw_devicelistitemcombined_get_product_id(tiepie_hw_handle handle, uint32_t contained_device_serial_number);
2925
2946TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char* buffer, uint32_t length);
2947
2968TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name_short(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char* buffer, uint32_t length);
2969
2990TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name_shortest(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char* buffer, uint32_t length);
2991
3008TIEPIE_HW_API tiepie_hw_date tiepie_hw_devicelistitemcombined_get_calibration_date(tiepie_hw_handle handle, uint32_t contained_device_serial_number);
3009
3026TIEPIE_HW_API uint16_t tiepie_hw_devicelistitemcombined_get_oscilloscope_channel_count(tiepie_hw_handle handle, uint32_t contained_device_serial_number);
3027
3036// Workaround: Without this line Doxygen adds the documentation below to the group above.
3037
3051
3065
3079
3088// Workaround: Without this line Doxygen adds the documentation below to the group above.
3089
3098
3108
3115// Workaround: Without this line Doxygen adds the documentation below to the group above.
3116
3126TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_servers_add(const char* url, uint32_t length, tiepie_hw_handle* handle);
3127
3137TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_servers_remove(const char* url, uint32_t length, tiepie_hw_bool force);
3138
3145TIEPIE_HW_API uint32_t tiepie_hw_network_servers_get_count(void);
3146
3155
3164TIEPIE_HW_API tiepie_hw_handle tiepie_hw_network_servers_get_by_url(const char* url, uint32_t length);
3165
3172// Workaround: Without this line Doxygen adds the documentation below to the group above.
3173
3187
3209// Workaround: Without this line Doxygen adds the documentation below to the group above.
3210
3231TIEPIE_HW_API void tiepie_hw_object_close(tiepie_hw_handle handle);
3232
3247
3262
3270// Workaround: Without this line Doxygen adds the documentation below to the group above.
3271
3281
3292// Workaround: Without this line Doxygen adds the documentation below to the group above.
3293
3300// Workaround: Without this line Doxygen adds the documentation below to the group above.
3301
3325
3342
3359TIEPIE_HW_API uint32_t tiepie_hw_device_get_ip_address(tiepie_hw_handle handle, char* buffer, uint32_t length);
3360
3375TIEPIE_HW_API uint16_t tiepie_hw_device_get_ip_port(tiepie_hw_handle handle);
3376
3393
3409TIEPIE_HW_API uint32_t tiepie_hw_device_get_type(tiepie_hw_handle handle);
3410
3444TIEPIE_HW_API uint32_t tiepie_hw_device_get_name(tiepie_hw_handle handle, char* buffer, uint32_t length);
3445
3479TIEPIE_HW_API uint32_t tiepie_hw_device_get_name_short(tiepie_hw_handle handle, char* buffer, uint32_t length);
3480
3514TIEPIE_HW_API uint32_t tiepie_hw_device_get_name_shortest(tiepie_hw_handle handle, char* buffer, uint32_t length);
3515
3531
3554
3572TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_has_battery_ex(tiepie_hw_handle handle, uint32_t serial_number);
3573
3592
3612TIEPIE_HW_API int8_t tiepie_hw_device_get_battery_charge_ex(tiepie_hw_handle handle, uint32_t serial_number);
3613
3633
3654TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_empty_ex(tiepie_hw_handle handle, uint32_t serial_number);
3655
3675
3696TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_full_ex(tiepie_hw_handle handle, uint32_t serial_number);
3697
3716
3737
3758
3781
3799
3818TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_broken_ex(tiepie_hw_handle handle, uint32_t serial_number);
3819
3834// Workaround: Without this line Doxygen adds the documentation below to the group above.
3835
3852
3873TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_input_index_by_id(tiepie_hw_handle handle, uint32_t id);
3874
3880// Workaround: Without this line Doxygen adds the documentation below to the group above.
3881
3895
3905// Workaround: Without this line Doxygen adds the documentation below to the group above.
3906
3927
3949
3962// Workaround: Without this line Doxygen adds the documentation below to the group above.
3963
3984TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_get_kinds(tiepie_hw_handle handle, uint16_t input);
3985
3987
4010TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_trigger_input_get_kinds_ex(tiepie_hw_handle handle, uint16_t input, uint32_t measure_mode);
4011
4013
4034TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_get_kind(tiepie_hw_handle handle, uint16_t input);
4035
4058TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_set_kind(tiepie_hw_handle handle, uint16_t input, uint64_t value);
4059
4072// Workaround: Without this line Doxygen adds the documentation below to the group above.
4073
4096
4098
4108TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_trigger_input_is_available_ex(tiepie_hw_handle handle, uint16_t input, uint32_t measure_mode);
4109
4111
4130TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_input_get_id(tiepie_hw_handle handle, uint16_t input);
4131
4151TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_input_get_name(tiepie_hw_handle handle, uint16_t input, char* buffer, uint32_t length);
4152
4166// Workaround: Without this line Doxygen adds the documentation below to the group above.
4167
4184
4203TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_output_index_by_id(tiepie_hw_handle handle, uint32_t id);
4204
4213// Workaround: Without this line Doxygen adds the documentation below to the group above.
4214
4234
4255
4277// Workaround: Without this line Doxygen adds the documentation below to the group above.
4278
4298TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_get_events(tiepie_hw_handle handle, uint16_t output);
4299
4319TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_get_event(tiepie_hw_handle handle, uint16_t output);
4320
4342TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_set_event(tiepie_hw_handle handle, uint16_t output, uint64_t value);
4343
4355// Workaround: Without this line Doxygen adds the documentation below to the group above.
4356
4375TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_output_get_id(tiepie_hw_handle handle, uint16_t output);
4376
4396TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_output_get_name(tiepie_hw_handle handle, uint16_t output, char* buffer, uint32_t length);
4397
4417
4442// Workaround: Without this line Doxygen adds the documentation below to the group above.
4443
4459
4480
4482
4496TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_is_available_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t measure_mode, double sample_rate, uint8_t resolution, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
4497
4499
4506// Workaround: Without this line Doxygen adds the documentation below to the group above.
4507
4526
4544
4562
4580TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_impedance(tiepie_hw_handle handle, uint16_t ch);
4581
4591// Workaround: Without this line Doxygen adds the documentation below to the group above.
4592
4614TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_bandwidths(tiepie_hw_handle handle, uint16_t ch, double* list, uint32_t length);
4615
4635TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_bandwidth(tiepie_hw_handle handle, uint16_t ch);
4636
4657TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_bandwidth(tiepie_hw_handle handle, uint16_t ch, double bandwidth);
4658
4668// Workaround: Without this line Doxygen adds the documentation below to the group above.
4669
4688TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_get_couplings(tiepie_hw_handle handle, uint16_t ch);
4689
4708TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_get_coupling(tiepie_hw_handle handle, uint16_t ch);
4709
4732TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_set_coupling(tiepie_hw_handle handle, uint16_t ch, uint64_t coupling);
4733
4745// Workaround: Without this line Doxygen adds the documentation below to the group above.
4746
4765
4787
4809// Workaround: Without this line Doxygen adds the documentation below to the group above.
4810
4829
4850
4889TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_ranges(tiepie_hw_handle handle, uint16_t ch, double* list, uint32_t length);
4890
4892
4905TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_ranges_ex(tiepie_hw_handle handle, uint16_t ch, uint64_t coupling, double* list, uint32_t length);
4906
4908
4927TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_range(tiepie_hw_handle handle, uint16_t ch);
4928
4965TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_range(tiepie_hw_handle handle, uint16_t ch, double range);
4966
4988// Workaround: Without this line Doxygen adds the documentation below to the group above.
4989
5007
5028
5056
5079
5102
5125
5154TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_safeground_threshold(tiepie_hw_handle handle, uint16_t ch, double threshold);
5155
5157
5167TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_verify_safeground_threshold(tiepie_hw_handle handle, uint16_t ch, double threshold);
5168
5170
5186// Workaround: Without this line Doxygen adds the documentation below to the group above.
5187
5205
5207
5226TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_has_trigger_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t measure_mode);
5227
5229
5247
5249
5264TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_trigger_is_available_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t measure_mode, double sample_rate, uint8_t resolution, const tiepie_hw_bool* channel_enabled, const tiepie_hw_bool* channel_trigger_enabled, uint16_t channel_count);
5265
5267
5281
5294// Workaround: Without this line Doxygen adds the documentation below to the group above.
5295
5315
5338
5352// Workaround: Without this line Doxygen adds the documentation below to the group above.
5353
5373TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_get_kinds(tiepie_hw_handle handle, uint16_t ch);
5374
5376
5386TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_get_kinds_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t measure_mode);
5387
5389
5409TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_get_kind(tiepie_hw_handle handle, uint16_t ch);
5410
5433TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_set_kind(tiepie_hw_handle handle, uint16_t ch, uint64_t value);
5434
5455// Workaround: Without this line Doxygen adds the documentation below to the group above.
5456
5475
5494
5514TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_set_level_mode(tiepie_hw_handle handle, uint16_t ch, uint32_t value);
5515
5535// Workaround: Without this line Doxygen adds the documentation below to the group above.
5536
5558
5580TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_level(tiepie_hw_handle handle, uint16_t ch, uint32_t index);
5581
5607TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_level(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value);
5608
5626// Workaround: Without this line Doxygen adds the documentation below to the group above.
5627
5649
5671TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_hysteresis(tiepie_hw_handle handle, uint16_t ch, uint32_t index);
5672
5696TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_hysteresis(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value);
5697
5711// Workaround: Without this line Doxygen adds the documentation below to the group above.
5712
5734
5736
5747TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_conditions_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t measure_mode, uint64_t trigger_kind);
5748
5750
5771
5793TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_set_condition(tiepie_hw_handle handle, uint16_t ch, uint32_t value);
5794
5810// Workaround: Without this line Doxygen adds the documentation below to the group above.
5811
5837
5862TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_time(tiepie_hw_handle handle, uint16_t ch, uint32_t index);
5863
5891TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_time(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value);
5892
5894
5909TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_verify_time(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value);
5910
5930TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_verify_time_ex(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value, uint32_t measure_mode, double sample_rate, uint64_t trigger_kind, uint32_t trigger_condition);
5931
5933
5961
5982
6005
6034
6055
6077TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_amplitude(tiepie_hw_handle handle, uint16_t ch, double value);
6078
6108
6129
6151TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_frequency(tiepie_hw_handle handle, uint16_t ch, double value);
6152
6184
6205
6227TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_offset(tiepie_hw_handle handle, uint16_t ch, double value);
6228
6265
6286
6308TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_symmetry(tiepie_hw_handle handle, uint16_t ch, double value);
6309
6346
6366TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_phase(tiepie_hw_handle handle, uint16_t ch);
6367
6389TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_phase(tiepie_hw_handle handle, uint16_t ch, double value);
6390
6420
6441
6463
6524// Workaround: Without this line Doxygen adds the documentation below to the group above.
6525
6586#ifdef INCLUDED_BY_MATLAB
6587TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data(tiepie_hw_handle handle, void** buffers, uint16_t channel_count, uint64_t start_index, uint64_t sample_count);
6588#else
6589# ifdef LIBTIEPIE_HW_DYNAMIC
6590typedef uint64_t(*tiepie_hw_oscilloscope_get_data_t)(tiepie_hw_handle handle, float** buffers, uint16_t channel_count, uint64_t start_index, uint64_t sample_count);
6591# else
6592TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data(tiepie_hw_handle handle, float** buffers, uint16_t channel_count, uint64_t start_index, uint64_t sample_count);
6593# endif
6594#endif
6595
6625TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_1ch(tiepie_hw_handle handle, float* buffer_ch1, uint64_t start_index, uint64_t sample_count);
6626
6657TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_2ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, uint64_t start_index, uint64_t sample_count);
6658
6690TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_3ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, uint64_t start_index, uint64_t sample_count);
6691
6724TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_4ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, float* buffer_ch4, uint64_t start_index, uint64_t sample_count);
6725
6759TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_5ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, float* buffer_ch4, float* buffer_ch5, uint64_t start_index, uint64_t sample_count);
6760
6795TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_6ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, float* buffer_ch4, float* buffer_ch5, float* buffer_ch6, uint64_t start_index, uint64_t sample_count);
6796
6832TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_7ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, float* buffer_ch4, float* buffer_ch5, float* buffer_ch6, float* buffer_ch7, uint64_t start_index, uint64_t sample_count);
6833
6870TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_8ch(tiepie_hw_handle handle, float* buffer_ch1, float* buffer_ch2, float* buffer_ch3, float* buffer_ch4, float* buffer_ch5, float* buffer_ch6, float* buffer_ch7, float* buffer_ch8, uint64_t start_index, uint64_t sample_count);
6871
6892
6914TIEPIE_HW_API void tiepie_hw_oscilloscope_channel_get_data_value_range(tiepie_hw_handle handle, uint16_t ch, double* min, double* max);
6915
6935
6955
6962// Workaround: Without this line Doxygen adds the documentation below to the group above.
6963
6976TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw(tiepie_hw_handle handle, void** buffers, uint16_t channel_count, uint64_t start_index, uint64_t sample_count);
6977
6988TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_1ch(tiepie_hw_handle handle, void* buffer_ch1, uint64_t start_index, uint64_t sample_count);
6989
7001TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_2ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, uint64_t start_index, uint64_t sample_count);
7002
7015TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_3ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, uint64_t start_index, uint64_t sample_count);
7016
7030TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_4ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, void* buffer_ch4, uint64_t start_index, uint64_t sample_count);
7031
7046TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_5ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, void* buffer_ch4, void* buffer_ch5, uint64_t start_index, uint64_t sample_count);
7047
7063TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_6ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, void* buffer_ch4, void* buffer_ch5, void* buffer_ch6, uint64_t start_index, uint64_t sample_count);
7064
7081TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_7ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, void* buffer_ch4, void* buffer_ch5, void* buffer_ch6, void* buffer_ch7, uint64_t start_index, uint64_t sample_count);
7082
7100TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_raw_8ch(tiepie_hw_handle handle, void* buffer_ch1, void* buffer_ch2, void* buffer_ch3, void* buffer_ch4, void* buffer_ch5, void* buffer_ch6, void* buffer_ch7, void* buffer_ch8, uint64_t start_index, uint64_t sample_count);
7101
7110TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_data_raw_type(tiepie_hw_handle handle, uint16_t ch);
7111
7125TIEPIE_HW_API void tiepie_hw_oscilloscope_channel_get_data_raw_value_range(tiepie_hw_handle handle, uint16_t ch, int64_t* min, int64_t* zero, int64_t* max);
7126
7138TIEPIE_HW_API int64_t tiepie_hw_oscilloscope_channel_get_data_raw_value_min(tiepie_hw_handle handle, uint16_t ch);
7139
7151TIEPIE_HW_API int64_t tiepie_hw_oscilloscope_channel_get_data_raw_value_zero(tiepie_hw_handle handle, uint16_t ch);
7152
7164TIEPIE_HW_API int64_t tiepie_hw_oscilloscope_channel_get_data_raw_value_max(tiepie_hw_handle handle, uint16_t ch);
7165
7174TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_is_range_max_reachable(tiepie_hw_handle handle, uint16_t ch);
7175
7189// Workaround: Without this line Doxygen adds the documentation below to the group above.
7190
7210
7227
7250
7290// Workaround: Without this line Doxygen adds the documentation below to the group above.
7291
7309
7327
7347TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_measure_mode(tiepie_hw_handle handle, uint32_t value);
7348
7359// Workaround: Without this line Doxygen adds the documentation below to the group above.
7360
7376
7398
7418
7438
7463
7485
7527// Workaround: Without this line Doxygen adds the documentation below to the group above.
7528
7546
7565
7585TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_auto_resolution_mode(tiepie_hw_handle handle, uint32_t value);
7586
7625TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_resolutions(tiepie_hw_handle handle, uint8_t* list, uint32_t length);
7626
7644
7665TIEPIE_HW_API uint8_t tiepie_hw_oscilloscope_set_resolution(tiepie_hw_handle handle, uint8_t value);
7666
7682
7684
7693TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_resolution_enhanced_ex(tiepie_hw_handle handle, uint8_t value);
7694
7696
7719// Workaround: Without this line Doxygen adds the documentation below to the group above.
7720
7741
7762
7784TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_clock_source(tiepie_hw_handle handle, uint32_t value);
7785
7824TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_source_frequencies(tiepie_hw_handle handle, double* list, uint32_t length);
7825
7827
7856TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_source_frequencies_ex(tiepie_hw_handle handle, uint32_t value, double* list, uint32_t length);
7857
7859
7883
7911
7930// Workaround: Without this line Doxygen adds the documentation below to the group above.
7931
7952
7973
7995TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_clock_output(tiepie_hw_handle handle, uint32_t value);
7996
8035TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_output_frequencies(tiepie_hw_handle handle, double* list, uint32_t length);
8036
8038
8067TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_output_frequencies_ex(tiepie_hw_handle handle, uint32_t clock_output, double* list, uint32_t length);
8068
8070
8094
8122
8146// Workaround: Without this line Doxygen adds the documentation below to the group above.
8147
8165
8183
8206TIEPIE_HW_API double tiepie_hw_oscilloscope_set_sample_rate(tiepie_hw_handle handle, double value);
8207
8209
8223TIEPIE_HW_API double tiepie_hw_oscilloscope_verify_sample_rate(tiepie_hw_handle handle, double value);
8224
8242TIEPIE_HW_API double tiepie_hw_oscilloscope_verify_sample_rate_ex(tiepie_hw_handle handle, double value, uint32_t measure_mode, uint8_t resolution, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
8243
8262TIEPIE_HW_API void tiepie_hw_oscilloscope_verify_sample_rates_ex(tiepie_hw_handle handle, double* values, uint32_t count, uint32_t measure_mode, uint32_t auto_resolution_mode, uint8_t resolution, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
8263
8265
8284// Workaround: Without this line Doxygen adds the documentation below to the group above.
8285
8303
8305
8320TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_record_length_max_ex(tiepie_hw_handle handle, uint32_t measure_mode, uint8_t resolution);
8321
8323
8341
8363TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_set_record_length(tiepie_hw_handle handle, uint64_t record_length);
8364
8366
8380TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_verify_record_length(tiepie_hw_handle handle, uint64_t record_length);
8381
8399TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_verify_record_length_ex(tiepie_hw_handle handle, uint64_t record_length, uint32_t measure_mode, uint8_t resolution, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
8400
8402
8426// Workaround: Without this line Doxygen adds the documentation below to the group above.
8427
8445
8466TIEPIE_HW_API double tiepie_hw_oscilloscope_set_pre_sample_ratio(tiepie_hw_handle handle, double value);
8467
8477// Workaround: Without this line Doxygen adds the documentation below to the group above.
8478
8497
8499
8512TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_segment_count_max_ex(tiepie_hw_handle handle, uint32_t measure_mode);
8513
8515
8535
8557TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_segment_count(tiepie_hw_handle handle, uint32_t value);
8558
8560
8574TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_verify_segment_count(tiepie_hw_handle handle, uint32_t value);
8575
8593TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_verify_segment_count_ex(tiepie_hw_handle handle, uint32_t value, uint32_t measure_mode, uint64_t record_length, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
8594
8596
8607// Workaround: Without this line Doxygen adds the documentation below to the group above.
8608
8624
8626
8644TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_has_trigger_ex(tiepie_hw_handle handle, uint32_t measure_mode);
8645
8647
8672// Workaround: Without this line Doxygen adds the documentation below to the group above.
8673
8691
8711TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_set_timeout(tiepie_hw_handle handle, double value);
8712
8714
8726TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_verify_timeout(tiepie_hw_handle handle, double value);
8727
8741TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_verify_timeout_ex(tiepie_hw_handle handle, double value, uint32_t measure_mode, double sample_rate);
8742
8744
8760// Workaround: Without this line Doxygen adds the documentation below to the group above.
8761
8777
8779
8797TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_trigger_has_delay_ex(tiepie_hw_handle handle, uint32_t measure_mode);
8798
8800
8820
8822
8847TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_get_delay_max_ex(tiepie_hw_handle handle, uint32_t measure_mode, double sample_rate);
8848
8850
8870
8892TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_set_delay(tiepie_hw_handle handle, double value);
8893
8895
8910TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_verify_delay(tiepie_hw_handle handle, double value);
8911
8928TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_verify_delay_ex(tiepie_hw_handle handle, double value, uint32_t measure_mode, double sample_rate);
8929
8931
8939// Workaround: Without this line Doxygen adds the documentation below to the group above.
8940
8956
8973
8992
9012
9032// Workaround: Without this line Doxygen adds the documentation below to the group above.
9033
9050
9069
9091
9093
9122TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_start_sureconnect_ex(tiepie_hw_handle handle, const tiepie_hw_bool* channel_enabled, uint16_t channel_count);
9123
9125
9147
9206TIEPIE_HW_API uint16_t tiepie_hw_oscilloscope_get_sureconnect_data(tiepie_hw_handle handle, tiepie_hw_tristate* buffer, uint16_t channel_count);
9207
9226// Workaround: Without this line Doxygen adds the documentation below to the group above.
9227
9244
9260
9277
9294
9311
9328
9330
9346TIEPIE_HW_API void tiepie_hw_generator_get_output_value_min_max(tiepie_hw_handle handle, double* min, double* max);
9347
9349
9370// Workaround: Without this line Doxygen adds the documentation below to the group above.
9371
9391
9400
9418
9435
9455
9473
9492
9514
9534
9553
9584// Workaround: Without this line Doxygen adds the documentation below to the group above.
9585
9603
9621
9644TIEPIE_HW_API uint32_t tiepie_hw_generator_set_signal_type(tiepie_hw_handle handle, uint32_t value);
9645
9668// Workaround: Without this line Doxygen adds the documentation below to the group above.
9669
9689
9691
9708TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_amplitude_ex(tiepie_hw_handle handle, uint32_t signal_type);
9709
9711
9734
9757
9759
9786TIEPIE_HW_API void tiepie_hw_generator_get_amplitude_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double* min, double* max);
9787
9789
9809
9835TIEPIE_HW_API double tiepie_hw_generator_set_amplitude(tiepie_hw_handle handle, double amplitude);
9836
9838
9865TIEPIE_HW_API double tiepie_hw_generator_verify_amplitude(tiepie_hw_handle handle, double amplitude);
9866
9896TIEPIE_HW_API double tiepie_hw_generator_verify_amplitude_ex(tiepie_hw_handle handle, double amplitude, uint32_t signal_type, uint32_t amplitude_range_index, double offset, tiepie_hw_bool output_invert);
9897
9899
9913// Workaround: Without this line Doxygen adds the documentation below to the group above.
9914
9950TIEPIE_HW_API uint32_t tiepie_hw_generator_get_amplitude_ranges(tiepie_hw_handle handle, double* list, uint32_t length);
9951
9972
10009TIEPIE_HW_API double tiepie_hw_generator_set_amplitude_range(tiepie_hw_handle handle, double value);
10010
10031
10055
10076// Workaround: Without this line Doxygen adds the documentation below to the group above.
10077
10097
10099
10116TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_offset_ex(tiepie_hw_handle handle, uint32_t signal_type);
10117
10119
10139
10159
10161
10186TIEPIE_HW_API void tiepie_hw_generator_get_offset_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double* min, double* max);
10187
10189
10209
10232TIEPIE_HW_API double tiepie_hw_generator_set_offset(tiepie_hw_handle handle, double value);
10233
10235
10260TIEPIE_HW_API double tiepie_hw_generator_verify_offset(tiepie_hw_handle handle, double value);
10261
10290TIEPIE_HW_API double tiepie_hw_generator_verify_offset_ex(tiepie_hw_handle handle, double value, uint32_t signal_type, double amplitude, tiepie_hw_bool output_invert);
10291
10293
10328// Workaround: Without this line Doxygen adds the documentation below to the group above.
10329
10348
10350
10371TIEPIE_HW_API uint32_t tiepie_hw_generator_get_frequency_modes_ex(tiepie_hw_handle handle, uint32_t signal_type);
10372
10374
10393
10418TIEPIE_HW_API uint32_t tiepie_hw_generator_set_frequency_mode(tiepie_hw_handle handle, uint32_t value);
10419
10424// Workaround: Without this line Doxygen adds the documentation below to the group above.
10425
10445
10447
10465TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_frequency_ex(tiepie_hw_handle handle, uint32_t frequency_mode, uint32_t signal_type);
10466
10468
10488
10508
10510
10536TIEPIE_HW_API void tiepie_hw_generator_get_frequency_min_max(tiepie_hw_handle handle, uint32_t frequency_mode, double* min, double* max);
10537
10563TIEPIE_HW_API void tiepie_hw_generator_get_frequency_min_max_ex(tiepie_hw_handle handle, uint32_t frequency_mode, uint32_t signal_type, double* min, double* max);
10564
10566
10586
10612TIEPIE_HW_API double tiepie_hw_generator_set_frequency(tiepie_hw_handle handle, double value);
10613
10615
10640TIEPIE_HW_API double tiepie_hw_generator_verify_frequency(tiepie_hw_handle handle, double value);
10641
10671TIEPIE_HW_API double tiepie_hw_generator_verify_frequency_ex(tiepie_hw_handle handle, double value, uint32_t frequency_mode, uint32_t signal_type, uint64_t data_length, double width);
10672
10674
10675
10695// Workaround: Without this line Doxygen adds the documentation below to the group above.
10696
10716
10718
10735TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_phase_ex(tiepie_hw_handle handle, uint32_t signal_type);
10736
10738
10759
10780
10782
10807TIEPIE_HW_API void tiepie_hw_generator_get_phase_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double* min, double* max);
10808
10810
10831
10857TIEPIE_HW_API double tiepie_hw_generator_set_phase(tiepie_hw_handle handle, double value);
10858
10860
10885TIEPIE_HW_API double tiepie_hw_generator_verify_phase(tiepie_hw_handle handle, double value);
10886
10913TIEPIE_HW_API double tiepie_hw_generator_verify_phase_ex(tiepie_hw_handle handle, double value, uint32_t signal_type);
10914
10916
10937// Workaround: Without this line Doxygen adds the documentation below to the group above.
10938
10958
10960
10977TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_symmetry_ex(tiepie_hw_handle handle, uint32_t signal_type);
10978
10980
11000
11020
11022
11047TIEPIE_HW_API void tiepie_hw_generator_get_symmetry_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double* min, double* max);
11048
11050
11070
11094TIEPIE_HW_API double tiepie_hw_generator_set_symmetry(tiepie_hw_handle handle, double value);
11095
11097
11122TIEPIE_HW_API double tiepie_hw_generator_verify_symmetry(tiepie_hw_handle handle, double value);
11123
11150TIEPIE_HW_API double tiepie_hw_generator_verify_symmetry_ex(tiepie_hw_handle handle, double value, uint32_t signal_type);
11151
11153
11177// Workaround: Without this line Doxygen adds the documentation below to the group above.
11178
11198
11200
11217TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_width_ex(tiepie_hw_handle handle, uint32_t signal_type);
11218
11220
11240
11260
11262
11288TIEPIE_HW_API void tiepie_hw_generator_get_width_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double signal_frequency, double* min, double* max);
11289
11291
11311
11336TIEPIE_HW_API double tiepie_hw_generator_set_width(tiepie_hw_handle handle, double value);
11337
11339
11364TIEPIE_HW_API double tiepie_hw_generator_verify_width(tiepie_hw_handle handle, double value);
11365
11393TIEPIE_HW_API double tiepie_hw_generator_verify_width_ex(tiepie_hw_handle handle, double value, uint32_t signal_type, double signal_frequency);
11394
11396
11428// Workaround: Without this line Doxygen adds the documentation below to the group above.
11429
11453
11455
11487TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_edge_time_ex(tiepie_hw_handle handle, uint32_t signal_type);
11488
11490
11515
11540
11542
11579TIEPIE_HW_API void tiepie_hw_generator_get_leading_edge_time_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double signal_frequency, double symmetry, double width, double trailing_edge_time, double* min, double* max);
11580
11582
11607
11636TIEPIE_HW_API double tiepie_hw_generator_set_leading_edge_time(tiepie_hw_handle handle, double leading_edge_time);
11637
11639
11673TIEPIE_HW_API double tiepie_hw_generator_verify_leading_edge_time(tiepie_hw_handle handle, double leading_edge_time);
11674
11713TIEPIE_HW_API double tiepie_hw_generator_verify_leading_edge_time_ex(tiepie_hw_handle handle, double leading_edge_time, uint32_t signal_type, double signal_frequency, double symmetry, double width, double trailing_edge_time);
11714
11716
11741
11766
11768
11806TIEPIE_HW_API void tiepie_hw_generator_get_trailing_edge_time_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, double signal_frequency, double symmetry, double width, double leading_edge_time, double* min, double* max);
11807
11809
11834
11863TIEPIE_HW_API double tiepie_hw_generator_set_trailing_edge_time(tiepie_hw_handle handle, double value);
11864
11866
11899TIEPIE_HW_API double tiepie_hw_generator_verify_trailing_edge_time(tiepie_hw_handle handle, double value);
11900
11938TIEPIE_HW_API double tiepie_hw_generator_verify_trailing_edge_time_ex(tiepie_hw_handle handle, double trailing_edge_time, uint32_t signal_type, double signal_frequency, double symmetry, double width, double leading_edge_time);
11939
11941
11994// Workaround: Without this line Doxygen adds the documentation below to the group above.
11995
12012
12014
12031TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_data_ex(tiepie_hw_handle handle, uint32_t signal_type);
12032
12034
12053
12072
12074
12098TIEPIE_HW_API void tiepie_hw_generator_get_data_length_min_max_ex(tiepie_hw_handle handle, uint32_t signal_type, uint64_t* min, uint64_t* max);
12099
12101
12120
12122
12147TIEPIE_HW_API uint64_t tiepie_hw_generator_verify_data_length(tiepie_hw_handle handle, uint64_t value);
12148
12174TIEPIE_HW_API uint64_t tiepie_hw_generator_verify_data_length_ex(tiepie_hw_handle handle, uint64_t value, uint32_t signal_type);
12175
12177
12205TIEPIE_HW_API void tiepie_hw_generator_set_data(tiepie_hw_handle handle, const float* buffer, uint64_t sample_count);
12206
12208
12234TIEPIE_HW_API void tiepie_hw_generator_set_data_ex(tiepie_hw_handle handle, const float* buffer, uint64_t sample_count, uint32_t signal_type);
12235
12242// Workaround: Without this line Doxygen adds the documentation below to the group above.
12243
12252TIEPIE_HW_API uint32_t tiepie_hw_generator_get_data_raw_type(tiepie_hw_handle handle);
12253
12263TIEPIE_HW_API void tiepie_hw_generator_get_data_raw_value_range(tiepie_hw_handle handle, int64_t* min, int64_t* zero, int64_t* max);
12264
12272TIEPIE_HW_API int64_t tiepie_hw_generator_get_data_raw_value_min(tiepie_hw_handle handle);
12273
12281TIEPIE_HW_API int64_t tiepie_hw_generator_get_data_raw_value_zero(tiepie_hw_handle handle);
12282
12290TIEPIE_HW_API int64_t tiepie_hw_generator_get_data_raw_value_max(tiepie_hw_handle handle);
12291
12302TIEPIE_HW_API void tiepie_hw_generator_set_data_raw(tiepie_hw_handle handle, const void* buffer, uint64_t sample_count);
12303
12315TIEPIE_HW_API void tiepie_hw_generator_set_data_raw_ex(tiepie_hw_handle handle, const void* buffer, uint64_t sample_count, uint32_t signal_type);
12316
12322
12345// Workaround: Without this line Doxygen adds the documentation below to the group above.
12346
12365
12367
12385TIEPIE_HW_API uint64_t tiepie_hw_generator_get_modes_ex(tiepie_hw_handle handle, uint32_t signal_type, uint32_t frequency_mode);
12386
12388
12407
12425TIEPIE_HW_API uint64_t tiepie_hw_generator_get_mode(tiepie_hw_handle handle);
12426
12448TIEPIE_HW_API uint64_t tiepie_hw_generator_set_mode(tiepie_hw_handle handle, uint64_t value);
12449
12506// Workaround: Without this line Doxygen adds the documentation below to the group above.
12507
12525
12545
12565
12567
12590TIEPIE_HW_API void tiepie_hw_generator_get_burst_count_min_max_ex(tiepie_hw_handle handle, uint64_t generator_mode, uint64_t* min, uint64_t* max);
12591
12593
12613
12636TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_count(tiepie_hw_handle handle, uint64_t value);
12637
12657
12677
12679
12702TIEPIE_HW_API void tiepie_hw_generator_get_burst_sample_count_min_max_ex(tiepie_hw_handle handle, uint64_t generator_mode, uint64_t* min, uint64_t* max);
12703
12705
12725
12748TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_sample_count(tiepie_hw_handle handle, uint64_t value);
12749
12769
12789
12791
12818TIEPIE_HW_API void tiepie_hw_generator_get_burst_segment_count_min_max_ex(tiepie_hw_handle handle, uint64_t generator_mode, uint32_t signal_type, uint32_t frequency_mode, double frequency, uint64_t data_length, uint64_t* min, uint64_t* max);
12819
12821
12841
12864TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_segment_count(tiepie_hw_handle handle, uint64_t value);
12865
12867
12891TIEPIE_HW_API uint64_t tiepie_hw_generator_verify_burst_segment_count(tiepie_hw_handle handle, uint64_t value);
12892
12922TIEPIE_HW_API uint64_t tiepie_hw_generator_verify_burst_segment_count_ex(tiepie_hw_handle handle, uint64_t value, uint64_t generator_mode, uint32_t signal_type, uint32_t frequency_mode, double frequency, uint64_t data_length);
12923
12925
12972// Workaround: Without this line Doxygen adds the documentation below to the group above.
12973
12984
12995
13005
13013TIEPIE_HW_API uint32_t tiepie_hw_server_get_status(tiepie_hw_handle handle);
13014
13023
13033TIEPIE_HW_API uint32_t tiepie_hw_server_get_url(tiepie_hw_handle handle, char* buffer, uint32_t length);
13034
13044TIEPIE_HW_API uint32_t tiepie_hw_server_get_id(tiepie_hw_handle handle, char* buffer, uint32_t length);
13045
13055TIEPIE_HW_API uint32_t tiepie_hw_server_get_ip_address(tiepie_hw_handle handle, char* buffer, uint32_t length);
13056
13064TIEPIE_HW_API uint16_t tiepie_hw_server_get_ip_port(tiepie_hw_handle handle);
13065
13075TIEPIE_HW_API uint32_t tiepie_hw_server_get_name(tiepie_hw_handle handle, char* buffer, uint32_t length);
13076
13086TIEPIE_HW_API uint32_t tiepie_hw_server_get_description(tiepie_hw_handle handle, char* buffer, uint32_t length);
13087
13109TIEPIE_HW_API uint32_t tiepie_hw_server_get_version(tiepie_hw_handle handle, char* buffer, uint32_t length);
13110
13163
13177TIEPIE_HW_API void tiepie_hw_pointerarray_set(tiepie_hw_pointerarray ptr, uint32_t index, void* value);
13178
13190
13197#ifdef __cplusplus
13198}
13199#endif
13200
13201#endif
TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_empty_ex(tiepie_hw_handle handle, uint32_t serial_number)
Get the expected time in minutes until the battery will be empty.
TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_full_ex(tiepie_hw_handle handle, uint32_t serial_number)
Get the expected time in minutes until the battery will be fully charged.
TIEPIE_HW_API int8_t tiepie_hw_device_get_battery_charge(tiepie_hw_handle handle)
Get the battery charge state of the device's battery in percent.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_charger_connected(tiepie_hw_handle handle)
Check whether a charger is connected to the device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_charging_ex(tiepie_hw_handle handle, uint32_t serial_number)
Check whether the device's battery is being charged.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_broken_ex(tiepie_hw_handle handle, uint32_t serial_number)
Check whether the device's battery is defective.
TIEPIE_HW_API int8_t tiepie_hw_device_get_battery_charge_ex(tiepie_hw_handle handle, uint32_t serial_number)
Get the battery charge state of the device's battery in percent.
TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_empty(tiepie_hw_handle handle)
Get the expected time in minutes until the battery will be empty.
TIEPIE_HW_API int32_t tiepie_hw_device_get_battery_time_to_full(tiepie_hw_handle handle)
Get the expected time in minutes until the battery will be fully charged.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_broken(tiepie_hw_handle handle)
Check whether the device's battery is defective.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_has_battery_ex(tiepie_hw_handle handle, uint32_t serial_number)
Check whether the device has a battery.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_has_battery(tiepie_hw_handle handle)
Check whether the device has a battery.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_charging(tiepie_hw_handle handle)
Check whether the device's battery is being charged.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_is_battery_charger_connected_ex(tiepie_hw_handle handle, uint32_t serial_number)
Check whether a charger is connected to the device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_has_wireless_trigger_module(tiepie_hw_handle handle)
Check whether the device has a wireless trigger module.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_name_shortest(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the short name of the device without model postfix.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_serial_number(tiepie_hw_handle handle)
Get the serial number of the device.
TIEPIE_HW_API uint16_t tiepie_hw_device_get_ip_port(tiepie_hw_handle handle)
Get the IP port number of the device.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_type(tiepie_hw_handle handle)
Get the device type.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_name(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the full name of the device.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_ip_address(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the IP address of the device.
TIEPIE_HW_API uint32_t tiepie_hw_device_get_name_short(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the short name of the device.
TIEPIE_HW_API tiepie_hw_productid tiepie_hw_device_get_product_id(tiepie_hw_handle handle)
Get the product id of the device.
TIEPIE_HW_API tiepie_hw_date tiepie_hw_device_get_calibration_date(tiepie_hw_handle handle)
Get the calibration date of the device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_input_get_enabled(tiepie_hw_handle handle, uint16_t input)
Check whether a device trigger input is enabled.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_input_set_enabled(tiepie_hw_handle handle, uint16_t input, tiepie_hw_bool value)
To select a device trigger input as trigger source, set trigger input enabled.
TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_input_get_name(tiepie_hw_handle handle, uint16_t input, char *buffer, uint32_t length)
Get the name of a specified device trigger input.
TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_input_get_id(tiepie_hw_handle handle, uint16_t input)
Get the id of a specified device trigger input.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_input_is_available(tiepie_hw_handle handle, uint16_t input)
Check whether a device trigger input is available.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_set_kind(tiepie_hw_handle handle, uint16_t input, uint64_t value)
Set the required trigger kind for a specified device trigger input.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_get_kinds(tiepie_hw_handle handle, uint16_t input)
Get the supported trigger kinds for a specified device trigger input.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_input_get_kind(tiepie_hw_handle handle, uint16_t input)
Get the currently selected trigger kind for a specified device trigger input.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_trigger_input_is_triggered(tiepie_hw_handle handle, uint16_t input)
Check whether the trigger input caused a trigger.
TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_input_index_by_id(tiepie_hw_handle handle, uint32_t id)
Get the index of a trigger input identified by its ID.
TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_input_count(tiepie_hw_handle handle)
Get the number of trigger inputs.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_output_set_enabled(tiepie_hw_handle handle, uint16_t output, tiepie_hw_bool value)
Set trigger output enable.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_output_get_enabled(tiepie_hw_handle handle, uint16_t output)
Check whether a trigger output is enabled.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_get_events(tiepie_hw_handle handle, uint16_t output)
Get the supported trigger output events for a specified device trigger output.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_get_event(tiepie_hw_handle handle, uint16_t output)
Get the currently selected trigger output event for a specified device trigger output.
TIEPIE_HW_API uint64_t tiepie_hw_device_trigger_output_set_event(tiepie_hw_handle handle, uint16_t output, uint64_t value)
Set the trigger output event for a specified device trigger output.
TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_output_get_name(tiepie_hw_handle handle, uint16_t output, char *buffer, uint32_t length)
Get the name of a specified device trigger output.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_device_trigger_output_trigger(tiepie_hw_handle handle, uint16_t output)
Trigger the specified device trigger output.
TIEPIE_HW_API uint32_t tiepie_hw_device_trigger_output_get_id(tiepie_hw_handle handle, uint16_t output)
Get the id of a specified device trigger output.
TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_output_index_by_id(tiepie_hw_handle handle, uint32_t id)
Get the index of trigger output identified by its ID.
TIEPIE_HW_API uint16_t tiepie_hw_device_trigger_get_output_count(tiepie_hw_handle handle)
Get the number of trigger outputs.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_count_min(tiepie_hw_handle handle)
Get the minimum burst count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_sample_count(tiepie_hw_handle handle)
Get the current burst sample count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_segment_count_min(tiepie_hw_handle handle)
Get the minimum burst segment count for the current settings of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_sample_count(tiepie_hw_handle handle, uint64_t value)
Set the burst sample count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_sample_count_max(tiepie_hw_handle handle)
Get the maximum burst sample count for the current generator mode of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_is_burst_active(tiepie_hw_handle handle)
Check whether a burst is active, of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_count(tiepie_hw_handle handle)
Get the current burst count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_count(tiepie_hw_handle handle, uint64_t value)
Set the burst count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_count_max(tiepie_hw_handle handle)
Get the maximum burst count for the current generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_set_burst_segment_count(tiepie_hw_handle handle, uint64_t value)
Set the burst segment count of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_segment_count_max(tiepie_hw_handle handle)
Get the maximum burst segment count for the current settings of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_segment_count(tiepie_hw_handle handle)
Get the current burst segment count of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_burst_sample_count_min(tiepie_hw_handle handle)
Get the minimum burst sample count for the current generator mode of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_set_output_invert(tiepie_hw_handle handle, tiepie_hw_bool value)
Enable or disable the output invert of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_output_invert(tiepie_hw_handle handle)
Check whether the output of a specified generator can be inverted.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_stop(tiepie_hw_handle handle)
Stop the signal generation of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_is_controllable(tiepie_hw_handle handle)
Check whether a specified generator can be controlled.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_is_running(tiepie_hw_handle handle)
Check whether the generator is running.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_start(tiepie_hw_handle handle)
Start the signal generation of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_set_output_enable(tiepie_hw_handle handle, tiepie_hw_bool value)
Enable or disable the hardware of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_get_output_invert(tiepie_hw_handle handle)
Check whether the output of a specified generator is inverted.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_get_output_enable(tiepie_hw_handle handle)
Check whether a specified generator is enabled.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_status(tiepie_hw_handle handle)
Get the current signal generation status of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_impedance(tiepie_hw_handle handle)
Get the output impedance of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_output_value_min(tiepie_hw_handle handle)
Get the minimum output value of a specified generator.
TIEPIE_HW_API uint8_t tiepie_hw_generator_get_resolution(tiepie_hw_handle handle)
Get the DAC resolution of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_connector_type(tiepie_hw_handle handle)
Get the output connector type for a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_output_value_max(tiepie_hw_handle handle)
Get the maximum output value of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_is_differential(tiepie_hw_handle handle)
Check whether the output of a specified generator is differential.
TIEPIE_HW_API uint64_t tiepie_hw_generator_set_mode(tiepie_hw_handle handle, uint64_t value)
Set the generator mode of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_modes_native(tiepie_hw_handle handle)
Get all supported generator modes of a specified generator, regardless of the signal type and frequen...
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_modes(tiepie_hw_handle handle)
Get the supported generator modes for the current signal type and frequency mode of a specified gener...
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_mode(tiepie_hw_handle handle)
Get the current generator mode of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_amplitude_range(tiepie_hw_handle handle, double value)
Set the amplitude range for a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_amplitude_range(tiepie_hw_handle handle)
Get the currently set amplitude range for a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_set_amplitude_auto_ranging(tiepie_hw_handle handle, tiepie_hw_bool value)
Set the amplitude auto ranging setting for a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_get_amplitude_auto_ranging(tiepie_hw_handle handle)
Get the amplitude auto ranging setting for a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_amplitude_ranges(tiepie_hw_handle handle, double *list, uint32_t length)
Get the supported amplitude ranges for a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_amplitude(tiepie_hw_handle handle)
Get the currently set signal amplitude of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_amplitude_min(tiepie_hw_handle handle)
Get the minimum signal amplitude for the current signal type of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_amplitude_max(tiepie_hw_handle handle)
Get the maximum signal amplitude for the current signal type of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_amplitude(tiepie_hw_handle handle, double amplitude)
Set the signal amplitude of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_amplitude(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the signal amplit...
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_data_length_max(tiepie_hw_handle handle)
Get the maximum length of the waveform buffer of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_data(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the Arbitrary wav...
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_data_length_min(tiepie_hw_handle handle)
Get the minimum length of the waveform buffer of a specified generator.
TIEPIE_HW_API void tiepie_hw_generator_set_data(tiepie_hw_handle handle, const float *buffer, uint64_t sample_count)
Load a waveform pattern into the waveform buffer of a specified generator.
TIEPIE_HW_API uint64_t tiepie_hw_generator_get_data_length(tiepie_hw_handle handle)
Get the length of the currently loaded waveform pattern of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_leading_edge_time_max(tiepie_hw_handle handle)
Get the maximum leading edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_edge_time(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the edge times.
TIEPIE_HW_API double tiepie_hw_generator_get_leading_edge_time_min(tiepie_hw_handle handle)
Get the minimum leading edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API double tiepie_hw_generator_get_trailing_edge_time_max(tiepie_hw_handle handle)
Get the maximum trailing edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API double tiepie_hw_generator_set_leading_edge_time(tiepie_hw_handle handle, double leading_edge_time)
Set the leading edge time, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_trailing_edge_time_min(tiepie_hw_handle handle)
Get the minimum trailing edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API double tiepie_hw_generator_get_leading_edge_time(tiepie_hw_handle handle)
Get the current leading edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API double tiepie_hw_generator_set_trailing_edge_time(tiepie_hw_handle handle, double value)
Set the trailing edge time, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_trailing_edge_time(tiepie_hw_handle handle)
Get the current trailing edge time with the current pulse width and signal frequency,...
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_frequency_modes(tiepie_hw_handle handle)
Get the supported generator frequency modes of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_frequency_mode(tiepie_hw_handle handle)
Get the current generator frequency mode of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_set_frequency_mode(tiepie_hw_handle handle, uint32_t value)
Set the generator frequency mode of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_frequency(tiepie_hw_handle handle, double value)
Set signal/sample frequency, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_frequency_min(tiepie_hw_handle handle)
Get the minimum signal/sample frequency with the current frequency mode, of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_frequency(tiepie_hw_handle handle)
Check whether the current signal type and frequency mode of a specified generator support controlling...
TIEPIE_HW_API double tiepie_hw_generator_get_frequency_max(tiepie_hw_handle handle)
Get the maximum signal/sample frequency with the current frequency mode and signal type,...
TIEPIE_HW_API double tiepie_hw_generator_get_frequency(tiepie_hw_handle handle)
Get the current signal/sample frequency, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_offset(tiepie_hw_handle handle)
Get the current signal offset of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_offset(tiepie_hw_handle handle, double value)
Set the signal offset of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_offset(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the signal offset...
TIEPIE_HW_API double tiepie_hw_generator_get_offset_max(tiepie_hw_handle handle)
Get the maximum offset for the current signal type, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_offset_min(tiepie_hw_handle handle)
Get the minimum offset for the current signal type, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_phase_max(tiepie_hw_handle handle)
Get the maximum signal phase of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_phase(tiepie_hw_handle handle)
Check whether the specified generator and the current signal type of the specified generator support ...
TIEPIE_HW_API double tiepie_hw_generator_get_phase(tiepie_hw_handle handle)
Get the current signal phase of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_phase(tiepie_hw_handle handle, double value)
Set the signal phase of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_phase_min(tiepie_hw_handle handle)
Get the minimum signal phase of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_symmetry_min(tiepie_hw_handle handle)
Get the minimum signal symmetry of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_symmetry(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the signal symmet...
TIEPIE_HW_API double tiepie_hw_generator_get_symmetry(tiepie_hw_handle handle)
Get the current signal symmetry of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_set_symmetry(tiepie_hw_handle handle, double value)
Set the signal symmetry of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_symmetry_max(tiepie_hw_handle handle)
Get the maximum signal symmetry of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_signal_type(tiepie_hw_handle handle)
Get the currently selected signal type of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_get_signal_types(tiepie_hw_handle handle)
Get the supported signal types of a specified generator.
TIEPIE_HW_API uint32_t tiepie_hw_generator_set_signal_type(tiepie_hw_handle handle, uint32_t value)
Set the signal type of a specified generator.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_generator_has_width(tiepie_hw_handle handle)
Check whether the current signal type of a specified generator supports controlling the signal pulse ...
TIEPIE_HW_API double tiepie_hw_generator_set_width(tiepie_hw_handle handle, double value)
Set the pulse width, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_width(tiepie_hw_handle handle)
Get the current pulse width, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_width_max(tiepie_hw_handle handle)
Get the maximum pulse width with the current signal frequency, of a specified generator.
TIEPIE_HW_API double tiepie_hw_generator_get_width_min(tiepie_hw_handle handle)
Get the minimum pulse width with the current signal frequency, of a specified generator.
TIEPIE_HW_API void tiepie_hw_pointerarray_set(tiepie_hw_pointerarray ptr, uint32_t index, void *value)
Set a pointer at a specified index in a specified pointer array.
TIEPIE_HW_API void tiepie_hw_pointerarray_delete(tiepie_hw_pointerarray ptr)
Delete an existing pointer array.
TIEPIE_HW_API tiepie_hw_pointerarray tiepie_hw_pointerarray_new(uint32_t length)
Create a new pointer array.
TIEPIE_HW_API tiepie_hw_status tiepie_hw_get_last_status(void)
Get the last status value.
TIEPIE_HW_API const char * tiepie_hw_get_last_status_str(void)
Get the last status value as text.
TIEPIE_HW_API void tiepie_hw_init(void)
Create and initialize internal resources used by the library.
TIEPIE_HW_API void tiepie_hw_fini(void)
Clear and free internal resources used by the library.
TIEPIE_HW_API const tiepie_hw_version * tiepie_hw_get_version(void)
Get library version info.
TIEPIE_HW_API uint32_t tiepie_hw_get_config(uint8_t *buffer, uint32_t length)
Get the library configuration number.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_is_initialized(void)
Check whether the library's internal resources are initialized.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelistitem_open_generator(tiepie_hw_handle handle)
Open a generator and get a handle to the generator.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelistitem_open_oscilloscope(tiepie_hw_handle handle)
Open an oscilloscope and get a handle to the oscilloscope.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelist_get_item_by_serial_number(uint32_t serial_number)
Get handle to device list item by serial number.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelist_get_item_by_index(uint32_t index)
Get handle to device list item by index.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelistitem_open_device(tiepie_hw_handle handle, uint32_t device_type)
Open a device and get a handle to the device.
TIEPIE_HW_API void tiepie_hw_devicelist_remove_unused_devices(void)
Remove unused instruments from the device list so they can be used by other applications.
TIEPIE_HW_API uint32_t tiepie_hw_devicelist_create_combined_device(const tiepie_hw_handle *handles, uint32_t count)
Create a combined instrument.
TIEPIE_HW_API uint32_t tiepie_hw_devicelist_create_demo_device(tiepie_hw_productid product_id)
Create a demo instrument.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelist_get_usb_hotplug_detect_enabled(void)
Get the current enabled state of the USB hot plug detection.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelist_get_item_by_product_id(tiepie_hw_productid product_id)
Get handle to device list item by product id.
TIEPIE_HW_API uint32_t tiepie_hw_devicelist_get_count(void)
Get the number of devices in the device list.
TIEPIE_HW_API const tiepie_hw_demo_info * tiepie_hw_devicelist_get_demo_device_info(void)
Get list of available demo devices.
TIEPIE_HW_API void tiepie_hw_devicelist_remove_device(uint32_t serial_number, tiepie_hw_bool force)
Remove an instrument from the device list so it can be used by other applications.
TIEPIE_HW_API void tiepie_hw_devicelist_update(void)
Update the device list.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelist_create_and_open_combined_device(const tiepie_hw_handle *handles, uint32_t count)
Create and open a combined instrument.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelist_set_usb_hotplug_detect_enabled(tiepie_hw_bool value)
Set the USB hot plug detection enabled state.
TIEPIE_HW_API void tiepie_hw_network_servers_set_callback_added(tiepie_hw_handle_callback callback, void *data)
Set a callback function which is called when a server is added to the server list.
TIEPIE_HW_API uint32_t tiepie_hw_network_servers_get_count(void)
Get the number of network connected WiFiScopes available.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_servers_add(const char *url, uint32_t length, tiepie_hw_handle *handle)
Add a WiFiScope to the list of network connected WiFiScopes.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_network_servers_get_by_index(uint32_t index)
Get the handle of a server, based on its index in the list of network connected WiFiScopes.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_network_servers_get_by_url(const char *url, uint32_t length)
Get the handle of a server, based on its URL.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_servers_remove(const char *url, uint32_t length, tiepie_hw_bool force)
Remove a WiFiScope from the list of network connected WiFiScopes.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_set_auto_detect_enabled(tiepie_hw_bool value)
Enable or disable automatic detection of network instruments and instrument servers.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_network_get_auto_detect_enabled(void)
Check whether automatically detecting network instruments and instrument servers is enabled.
TIEPIE_HW_API void tiepie_hw_object_set_event_callback(tiepie_hw_handle handle, tiepie_hw_event_callback callback, void *data)
Set a callback function which is called when an event occurs.
TIEPIE_HW_API uint64_t tiepie_hw_object_get_interfaces(tiepie_hw_handle handle)
Check which interfaces are supported by the specified object.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_object_is_removed(tiepie_hw_handle handle)
Check whether an object is removed.
TIEPIE_HW_API void tiepie_hw_object_close(tiepie_hw_handle handle)
Close a object.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_bandwidth(tiepie_hw_handle handle, uint16_t ch, double bandwidth)
Set the channel input bandwidth.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_bandwidths(tiepie_hw_handle handle, uint16_t ch, double *list, uint32_t length)
Get the supported input bandwidths for a specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_bandwidth(tiepie_hw_handle handle, uint16_t ch)
Get the current channel input bandwidth.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_set_coupling(tiepie_hw_handle handle, uint16_t ch, uint64_t coupling)
Set the coupling of a specified channel.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_get_coupling(tiepie_hw_handle handle, uint16_t ch)
Get the currently set coupling of a specified channel.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_get_couplings(tiepie_hw_handle handle, uint16_t ch)
Get the supported coupling kinds of a specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_amplitude(tiepie_hw_handle handle, uint16_t ch, double value)
Set the demo signal amplitude of a specified demo oscilloscope channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_amplitude(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal amplitude of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_amplitude(tiepie_hw_handle handle, uint16_t ch)
Check whether the currently selected demo signal type supports setting the amplitude.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_frequency(tiepie_hw_handle handle, uint16_t ch, double value)
Set the demo signal frequency of a specified demo oscilloscope channel, in Hz.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_frequency(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal frequency of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_frequency(tiepie_hw_handle handle, uint16_t ch)
Check whether the currently selected demo signal type supports setting the frequency.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_noise_enabled(tiepie_hw_handle handle, uint16_t ch)
Check whether the selected demo signal type supports injecting small noise.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_get_noise_enabled(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected noise injection state of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_set_noise_enabled(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_bool value)
Set the noise injection state of a specified demo oscilloscope channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_offset(tiepie_hw_handle handle, uint16_t ch, double value)
Set the demo signal offset of a specified demo oscilloscope channel, in Volt.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_offset(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal offset of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_offset(tiepie_hw_handle handle, uint16_t ch)
Check whether the currently selected demo signal type supports setting the offset.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_phase(tiepie_hw_handle handle, uint16_t ch, double value)
Set the demo signal phase of a specified demo oscilloscope channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_phase(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal phase of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_phase(tiepie_hw_handle handle, uint16_t ch)
Check whether the currently selected demo signal type supports setting the phase.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_get_symmetry(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal symmetry of a specified demo oscilloscope channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_demo_set_symmetry(tiepie_hw_handle handle, uint16_t ch, double value)
Set the demo signal symmetry of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_demo_has_symmetry(tiepie_hw_handle handle, uint16_t ch)
Check whether the currently selected demo signal type supports setting the symmetry.
TIEPIE_HW_API tiepie_hw_demosignal tiepie_hw_oscilloscope_channel_demo_set_signal(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_demosignal value)
Set the demo signal type of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_demo(tiepie_hw_handle handle)
Check whether the specified oscilloscope is a demo oscilloscope.
TIEPIE_HW_API tiepie_hw_demosignal tiepie_hw_oscilloscope_channel_demo_get_signal(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected demo signal type of a specified demo oscilloscope channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_get_enabled(tiepie_hw_handle handle, uint16_t ch)
Check whether a specified channel is currently enabled.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_set_enabled(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_bool value)
Set channel enable.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_impedance(tiepie_hw_handle handle, uint16_t ch)
Get the channel input impedance.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_is_isolated(tiepie_hw_handle handle, uint16_t ch)
Check whether the channel has a galvanically isolated input.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_is_differential(tiepie_hw_handle handle, uint16_t ch)
Check whether the channel has a differential input.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_connector_type(tiepie_hw_handle handle, uint16_t ch)
Get the channel connector type.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_range(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected input range for a specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_range(tiepie_hw_handle handle, uint16_t ch, double range)
Set the input range for a specified channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_get_auto_ranging(tiepie_hw_handle handle, uint16_t ch)
Check whether auto ranging is enabled for a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_get_ranges(tiepie_hw_handle handle, uint16_t ch, double *list, uint32_t length)
Get the supported input ranges for a specified channel, with the currently selected coupling.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_set_auto_ranging(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_bool value)
Set auto ranging for a specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_safeground_threshold_min(tiepie_hw_handle handle, uint16_t ch)
Get the minimum SafeGround threshold current for the specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_safeground_threshold(tiepie_hw_handle handle, uint16_t ch)
Get the actual SafeGround threshold current for the specified channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_get_safeground_enabled(tiepie_hw_handle handle, uint16_t ch)
Check whether SafeGround is enabled for a specified channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_has_safeground(tiepie_hw_handle handle, uint16_t ch)
Check whether the specified channel has SafeGround.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_set_safeground_enabled(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_bool value)
Enable or disable SafeGround for a specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_safeground_threshold_max(tiepie_hw_handle handle, uint16_t ch)
Get the maximum SafeGround threshold current for the specified channel.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_set_safeground_threshold(tiepie_hw_handle handle, uint16_t ch, double threshold)
Set the SafeGround threshold current for the specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_conditions(tiepie_hw_handle handle, uint16_t ch)
Get the supported trigger conditions for a specified channel with the currently selected trigger kind...
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_set_condition(tiepie_hw_handle handle, uint16_t ch, uint32_t value)
Set the trigger condition for a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_condition(tiepie_hw_handle handle, uint16_t ch)
Get the current selected trigger condition for a specified channel.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_trigger_get_enabled(tiepie_hw_handle handle, uint16_t ch)
Check whether channel trigger for a specified channel is enabled.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_trigger_set_enabled(tiepie_hw_handle handle, uint16_t ch, tiepie_hw_bool value)
To select a channel as trigger source, set channel trigger enable.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_hysteresis_count(tiepie_hw_handle handle, uint16_t ch)
Get the number of trigger hystereses for a specified channel with the currently selected trigger kind...
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_hysteresis(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value)
Set the channel trigger hysteresis value for a specified channel and trigger hysteresis.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_hysteresis(tiepie_hw_handle handle, uint16_t ch, uint32_t index)
Get the currently set channel trigger hysteresis value for a specified channel and trigger hysteresis...
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_get_kind(tiepie_hw_handle handle, uint16_t ch)
Get the currently selected channel trigger kind for a specified channel.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_get_kinds(tiepie_hw_handle handle, uint16_t ch)
Get the supported channel trigger kinds for a specified channel with the currently selected measure m...
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_channel_trigger_set_kind(tiepie_hw_handle handle, uint16_t ch, uint64_t value)
Set the channel trigger kind for a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_level_mode(tiepie_hw_handle handle, uint16_t ch)
Get the current trigger level mode of a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_set_level_mode(tiepie_hw_handle handle, uint16_t ch, uint32_t value)
Set the trigger level mode of a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_level_modes(tiepie_hw_handle handle, uint16_t ch)
Get the supported trigger level modes of a specified channel.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_level_count(tiepie_hw_handle handle, uint16_t ch)
Get the number of channel trigger levels for a specified channel with the currently selected trigger ...
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_level(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value)
Set the channel trigger level value for a specified channel and trigger level.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_level(tiepie_hw_handle handle, uint16_t ch, uint32_t index)
Get the currently set channel trigger level value for a specified channel and trigger level.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_set_time(tiepie_hw_handle handle, uint16_t ch, uint32_t index, double value)
Set the required trigger time value for a specified channel and trigger type.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_channel_trigger_get_time_count(tiepie_hw_handle handle, uint16_t ch)
Get the number of trigger times for the current trigger kind and trigger condition.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_trigger_get_time(tiepie_hw_handle handle, uint16_t ch, uint32_t index)
Get the current trigger time value for a specified channel and trigger type.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_trigger_is_triggered(tiepie_hw_handle handle, uint16_t ch)
Check whether the channel trigger caused a trigger.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_trigger_is_available(tiepie_hw_handle handle, uint16_t ch)
Check whether the channel trigger for the specified channel is available, with the current oscillosco...
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_has_trigger(tiepie_hw_handle handle, uint16_t ch)
Check whether the specified channel has trigger support with the currently selected measure mode.
TIEPIE_HW_API uint16_t tiepie_hw_oscilloscope_get_channel_count(tiepie_hw_handle handle)
Get the number of channels.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_is_available(tiepie_hw_handle handle, uint16_t ch)
Check whether the channel is available.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_output_frequencies(tiepie_hw_handle handle, double *list, uint32_t length)
Get an array with the supported clock output frequencies of the specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_set_clock_output_frequency(tiepie_hw_handle handle, double value)
Set the clock output frequency of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_outputs(tiepie_hw_handle handle)
Get the supported clock outputs of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_output(tiepie_hw_handle handle)
Get the currently selected clock output of the specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_get_clock_output_frequency(tiepie_hw_handle handle)
Get the current clock output frequency of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_clock_output(tiepie_hw_handle handle, uint32_t value)
Set the clock output of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_source(tiepie_hw_handle handle)
Get the currently selected clock source of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_source_frequencies(tiepie_hw_handle handle, double *list, uint32_t length)
Get an array with the supported clock source frequencies of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_clock_source(tiepie_hw_handle handle, uint32_t value)
Set the clock source of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_clock_sources(tiepie_hw_handle handle)
Get the supported clock sources of the specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_get_clock_source_frequency(tiepie_hw_handle handle)
Get the current clock source frequency of the specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_set_clock_source_frequency(tiepie_hw_handle handle, double value)
Set the clock source frequency of the specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_sureconnect_completed(tiepie_hw_handle handle)
Check whether the SureConnect connection test on a specified oscilloscope is completed.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_channel_has_sureconnect(tiepie_hw_handle handle, uint16_t ch)
Check whether a specified channel of a specified oscilloscope supports SureConnect connection testing...
TIEPIE_HW_API uint16_t tiepie_hw_oscilloscope_get_sureconnect_data(tiepie_hw_handle handle, tiepie_hw_tristate *buffer, uint16_t channel_count)
Get the SureConnect connection test result data for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_start_sureconnect(tiepie_hw_handle handle)
Perform a SureConnect connection test on all enabled channels of a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_has_sureconnect(tiepie_hw_handle handle)
Check whether the specified oscilloscope supports SureConnect connection testing.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_8ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, float *buffer_ch4, float *buffer_ch5, float *buffer_ch6, float *buffer_ch7, float *buffer_ch8, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first eight channels.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_5ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, float *buffer_ch4, float *buffer_ch5, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first five channels.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_data_value_max(tiepie_hw_handle handle, uint16_t ch)
Get the maximum value of the input range the current data was measured with.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_valid_pre_sample_count(tiepie_hw_handle handle)
Get the number of valid pre samples in the measurement.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_1ch(tiepie_hw_handle handle, float *buffer_ch1, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first channel.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data(tiepie_hw_handle handle, float **buffers, uint16_t channel_count, uint64_t start_index, uint64_t sample_count)
Get the measurement data for specified channels.
TIEPIE_HW_API void tiepie_hw_oscilloscope_channel_get_data_value_range(tiepie_hw_handle handle, uint16_t ch, double *min, double *max)
Get the minimum and maximum values of the input range the current data was measured with.
TIEPIE_HW_API double tiepie_hw_oscilloscope_channel_get_data_value_min(tiepie_hw_handle handle, uint16_t ch)
Get the minimum value of the input range the current data was measured with.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_2ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first two channels.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_6ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, float *buffer_ch4, float *buffer_ch5, float *buffer_ch6, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first six channels.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_3ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first three channels.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_4ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, float *buffer_ch4, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first four channels.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_data_7ch(tiepie_hw_handle handle, float *buffer_ch1, float *buffer_ch2, float *buffer_ch3, float *buffer_ch4, float *buffer_ch5, float *buffer_ch6, float *buffer_ch7, uint64_t start_index, uint64_t sample_count)
Get the measurement data for the first seven channels.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_measure_mode(tiepie_hw_handle handle, uint32_t value)
Set the measure mode.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_measure_mode(tiepie_hw_handle handle)
Get the current measure mode.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_measure_modes(tiepie_hw_handle handle)
Get the supported measure modes for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_running(tiepie_hw_handle handle)
Check whether the oscilloscope is currently measuring.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_data_ready(tiepie_hw_handle handle)
Check whether new, unread measured data is available.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_triggered(tiepie_hw_handle handle)
Check whether the oscilloscope has triggered.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_data_overflow(tiepie_hw_handle handle)
Check whether a data overflow has occurred.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_timeout_triggered(tiepie_hw_handle handle)
Check whether the trigger was caused by the trigger time out.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_force_triggered(tiepie_hw_handle handle)
Check whether the trigger was caused by tiepie_hw_oscilloscope_force_trigger.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_stop(tiepie_hw_handle handle)
Stop a running measurement.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_force_trigger(tiepie_hw_handle handle)
Force a trigger.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_start(tiepie_hw_handle handle)
Start a single measurement.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_auto_resolution_modes(tiepie_hw_handle handle)
Get the supported auto resolution modes of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_auto_resolution_mode(tiepie_hw_handle handle, uint32_t value)
Set the auto resolution mode of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_auto_resolution_mode(tiepie_hw_handle handle)
Get the current auto resolution mode of the specified oscilloscope.
TIEPIE_HW_API uint8_t tiepie_hw_oscilloscope_get_resolution(tiepie_hw_handle handle)
Get the current resolution of the specified oscilloscope.
TIEPIE_HW_API uint8_t tiepie_hw_oscilloscope_set_resolution(tiepie_hw_handle handle, uint8_t value)
Set the resolution of the specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_resolutions(tiepie_hw_handle handle, uint8_t *list, uint32_t length)
Get an array with the supported resolutions of the specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_is_resolution_enhanced(tiepie_hw_handle handle)
Check whether the currently selected resolution is enhanced or a native resolution of the hardware.
TIEPIE_HW_API double tiepie_hw_oscilloscope_get_pre_sample_ratio(tiepie_hw_handle handle)
Get the current pre sample ratio of a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_set_pre_sample_ratio(tiepie_hw_handle handle, double value)
Set the pre sample ratio of a specified oscilloscope.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_record_length(tiepie_hw_handle handle)
Get the currently selected record length of a specified oscilloscope.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_get_record_length_max(tiepie_hw_handle handle)
Get the maximum supported record length of a specified oscilloscope.
TIEPIE_HW_API uint64_t tiepie_hw_oscilloscope_set_record_length(tiepie_hw_handle handle, uint64_t record_length)
Set the record length of a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_get_sample_rate_max(tiepie_hw_handle handle)
Get the maximum supported sample rate of a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_set_sample_rate(tiepie_hw_handle handle, double value)
Set the sample rate of a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_get_sample_rate(tiepie_hw_handle handle)
Get the currently selected sample rate of a specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_segment_count_max(tiepie_hw_handle handle)
Get the maximum supported number of segments of a specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_set_segment_count(tiepie_hw_handle handle, uint32_t value)
Set the number of segments of a specified oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_oscilloscope_get_segment_count(tiepie_hw_handle handle)
Get the currently selected number of segments of a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_get_delay(tiepie_hw_handle handle)
Get the currently selected trigger delay in seconds, for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_trigger_has_delay(tiepie_hw_handle handle)
Check whether the oscilloscope has trigger delay support with the currently selected measure mode.
TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_set_delay(tiepie_hw_handle handle, double value)
Set trigger delay in seconds, for a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_get_delay_max(tiepie_hw_handle handle)
Get the maximum trigger delay in seconds, for the currently selected measure mode and sample rate.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_get_presamples_valid(tiepie_hw_handle handle)
Get presamples valid for a specified measure mode, for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_has_presamples_valid(tiepie_hw_handle handle)
Check whether the oscilloscope has presamples valid support with the currently selected measure mode.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_set_presamples_valid(tiepie_hw_handle handle, tiepie_hw_bool value)
Set presamples valid, for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_has_presamples_valid_ex(tiepie_hw_handle handle, uint32_t measure_mode)
Check whether the oscilloscope has presamples valid support for a specific measure mode.
TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_get_timeout(tiepie_hw_handle handle)
Get the currently selected trigger time out in seconds, for a specified oscilloscope.
TIEPIE_HW_API double tiepie_hw_oscilloscope_trigger_set_timeout(tiepie_hw_handle handle, double value)
Set the trigger time out in seconds, for a specified oscilloscope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_oscilloscope_has_trigger(tiepie_hw_handle handle)
Check whether the oscilloscope has trigger support with the currently selected measure mode.
TIEPIE_HW_API void tiepie_hw_devicelist_set_callback_device_added(tiepie_hw_devicelist_callback callback, void *data)
Set a callback function which is called when a device is added to the device list.
TIEPIE_HW_API void tiepie_hw_devicelist_set_callback_device_removed(tiepie_hw_devicelist_callback callback, void *data)
Set a callback function which is called when a device is removed from the device list.
TIEPIE_HW_API void tiepie_hw_devicelist_set_callback_device_can_open_changed(tiepie_hw_devicelist_callback callback, void *data)
Set a callback function which is called when the device can open property changes.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char *buffer, uint32_t length)
Get the full name of a device contained in a combined device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_contained_serial_numbers(tiepie_hw_handle handle, uint32_t *buffer, uint32_t length)
Get the serial numbers of the individual devices contained in a combined device.
TIEPIE_HW_API tiepie_hw_date tiepie_hw_devicelistitemcombined_get_calibration_date(tiepie_hw_handle handle, uint32_t contained_device_serial_number)
Get the calibration date of a device contained in a combined device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name_short(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char *buffer, uint32_t length)
Get the short name of a device contained in a combined device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitemcombined_get_name_shortest(tiepie_hw_handle handle, uint32_t contained_device_serial_number, char *buffer, uint32_t length)
Get the short name without model postfix of a device contained in a combined device.
TIEPIE_HW_API tiepie_hw_productid tiepie_hw_devicelistitemcombined_get_product_id(tiepie_hw_handle handle, uint32_t contained_device_serial_number)
Get the product id of a device contained in a combined device.
TIEPIE_HW_API uint16_t tiepie_hw_devicelistitemcombined_get_oscilloscope_channel_count(tiepie_hw_handle handle, uint32_t contained_device_serial_number)
Get the channel count of an oscilloscope contained in a combined oscilloscope.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_opened_by(tiepie_hw_handle handle, uint32_t device_type, char *buffer, uint32_t length)
See who is using the device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_serial_number(tiepie_hw_handle handle)
Get the serial number of the listed device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_ip_address(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the IP address of the listed device.
TIEPIE_HW_API tiepie_hw_productid tiepie_hw_devicelistitem_get_product_id(tiepie_hw_handle handle)
Get the product id of the listed device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelistitem_has_server(tiepie_hw_handle handle)
Check whether the listed device is connected to a server.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name_short(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the short name of the listed device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelistitem_is_demo(tiepie_hw_handle handle)
Check whether the listed device is a demo device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_types(tiepie_hw_handle handle)
Get the device types of the listed device.
TIEPIE_HW_API tiepie_hw_handle tiepie_hw_devicelistitem_get_server(tiepie_hw_handle handle)
Get the server handle of the server the listed device is connected to.
TIEPIE_HW_API tiepie_hw_date tiepie_hw_devicelistitem_get_calibration_date(tiepie_hw_handle handle)
Get the calibration date of the listed device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the full name of the listed device.
TIEPIE_HW_API uint32_t tiepie_hw_devicelistitem_get_name_shortest(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the short name of the listed device wihout model postfix.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_devicelistitem_can_open(tiepie_hw_handle handle, uint32_t device_type)
Check whether the listed device can be opened.
TIEPIE_HW_API uint16_t tiepie_hw_devicelistitem_get_ip_port(tiepie_hw_handle handle)
Get the IP port number of the listed device.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_server_connect(tiepie_hw_handle handle, tiepie_hw_bool asynchronous)
Connect to a specified network connected WiFiScope. This gives access to that network connected WiFiS...
TIEPIE_HW_API uint32_t tiepie_hw_server_get_version(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the software version number of the specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_last_error(tiepie_hw_handle handle)
Get the last error from a specified network connected WiFiScope.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_server_remove(tiepie_hw_handle handle, tiepie_hw_bool force)
Remove a specified network connected WiFiScope from the list of network connected WiFiScopes.
TIEPIE_HW_API tiepie_hw_bool tiepie_hw_server_disconnect(tiepie_hw_handle handle, tiepie_hw_bool force)
Disconnect from a specified network connected WiFiScope. This will close the opened network connected...
TIEPIE_HW_API uint32_t tiepie_hw_server_get_id(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the id of the specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_url(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the URL of the specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_name(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the name of the specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_status(tiepie_hw_handle handle)
Retrieve the status of a specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_ip_address(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the IP address of the specified network connected WiFiScope.
TIEPIE_HW_API uint16_t tiepie_hw_server_get_ip_port(tiepie_hw_handle handle)
Get the IP port number of the specified network connected WiFiScope.
TIEPIE_HW_API uint32_t tiepie_hw_server_get_description(tiepie_hw_handle handle, char *buffer, uint32_t length)
Get the description of the specified network connected WiFiScope.
tiepie_hw_event
Event IDs for events that can be used by LibTiePie to notify the calling application of changes with ...
Definition libtiepie-hw.h:1873
uint8_t tiepie_hw_bool
Boolean value one byte wide.
Definition libtiepie-hw.h:1837
void ** tiepie_hw_pointerarray
Pointer array.
Definition libtiepie-hw.h:1919
tiepie_hw_demosignal
Demo signal type IDs, for demo oscilloscope channels. See Demo signals.
Definition libtiepie-hw.h:1892
uint8_t tiepie_hw_tristate
TriState value one byte wide.
Definition libtiepie-hw.h:1918
tiepie_hw_status
Status code.
Definition libtiepie-hw.h:1794
void(* tiepie_hw_devicelist_callback)(void *data, uint32_t device_types, uint32_t serial_number)
Prototype for a device list callback.
Definition libtiepie-hw.h:1961
tiepie_hw_productid
ProductID IDs for products.
Definition libtiepie-hw.h:1843
void(* tiepie_hw_handle_callback)(void *data, tiepie_hw_handle handle)
Prototype for a handle callback.
Definition libtiepie-hw.h:1971
void(* tiepie_hw_event_callback)(void *data, tiepie_hw_event event, uint32_t value)
Prototype for an event callback.
Definition libtiepie-hw.h:1982
uint32_t tiepie_hw_handle
Generic handle.
Definition libtiepie-hw.h:1836
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_TRIGGERED
Event ID for the event indicating that the oscilloscope has triggered.
Definition libtiepie-hw.h:1879
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_SURE_CONNECT_COMPLETED
Event ID for the event indicating that the connection test is ready.
Definition libtiepie-hw.h:1878
@ TIEPIE_HW_EVENT_GENERATOR_BURST_COMPLETED
Event ID for the event indicating that the generator burst is completed.
Definition libtiepie-hw.h:1880
@ TIEPIE_HW_EVENT_OBJECT_REMOVED
Event ID for the event indicating that an object was removed.
Definition libtiepie-hw.h:1875
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_DATA_OVERFLOW
Event ID for the event indicating that data overflow occurred during a streaming measurement.
Definition libtiepie-hw.h:1877
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_DATA_READY
Event ID for the event indicating that the oscilloscope measurement is ready.
Definition libtiepie-hw.h:1876
@ TIEPIE_HW_EVENT_SERVER_STATUS_CHANGED
Event ID for the event indicating that the server state has changed.
Definition libtiepie-hw.h:1882
@ TIEPIE_HW_EVENT_INVALID
This event ID value should not occur.
Definition libtiepie-hw.h:1874
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_SAFEGROUND_ERROR
Event ID for the event indicating that the oscilloscope channel SafeGround was disabled because of a ...
Definition libtiepie-hw.h:1883
@ TIEPIE_HW_EVENT_GENERATOR_CONTROLLABLE_CHANGED
Event ID for the event indicating that the generator controllable state has changed.
Definition libtiepie-hw.h:1881
@ TIEPIE_HW_EVENT_OSCILLOSCOPE_WIRELESS_SYNCHRONIZATION_ERROR
Event ID for the event indicating that an error occurred with wireless synchronization of scopes.
Definition libtiepie-hw.h:1885
@ TIEPIE_HW_EVENT_DEVICE_BATTERY_STATUS_CHANGED
Event ID for the event indicating that the battery state has changed.
Definition libtiepie-hw.h:1884
@ TIEPIE_HW_DEMOSIGNAL_CAN_250000_HI
Generate a CAN-High signal, 250 kbps.
Definition libtiepie-hw.h:1908
@ TIEPIE_HW_DEMOSIGNAL_CANFD_250000_LO
Generate a CANFD-Low signal, 250 kbps.
Definition libtiepie-hw.h:1912
@ TIEPIE_HW_DEMOSIGNAL_DMX512
Generate a DMX 512 signal.
Definition libtiepie-hw.h:1913
@ TIEPIE_HW_DEMOSIGNAL_SINE
Generate a sine wave signal.
Definition libtiepie-hw.h:1894
@ TIEPIE_HW_DEMOSIGNAL_UART_9600_8N1
Generate a UART signal, 9600 baud, 8 bits, no parity, 1 stop bit.
Definition libtiepie-hw.h:1901
@ TIEPIE_HW_DEMOSIGNAL_LIN_19200
Generate a LIN bus signal, 19200 bps.
Definition libtiepie-hw.h:1914
@ TIEPIE_HW_DEMOSIGNAL_CAN_250000_LO
Generate a CAN-Low signal, 250 kbps.
Definition libtiepie-hw.h:1909
@ TIEPIE_HW_DEMOSIGNAL_CANFD_250000_HI
Generate a CANFD-High signal, 250 kbps.
Definition libtiepie-hw.h:1911
@ TIEPIE_HW_DEMOSIGNAL_UART_9600_7E2
Generate a UART signal, 9600 baud, 7 bits, even parity, 2 stop bits.
Definition libtiepie-hw.h:1902
@ TIEPIE_HW_DEMOSIGNAL_RS485_9600_8N1
Generate a RS458 signal, 9600 baud, 8 bits, no parity, 1 stop bit.
Definition libtiepie-hw.h:1905
@ TIEPIE_HW_DEMOSIGNAL_TRIANGLE
Generate a triangular signal.
Definition libtiepie-hw.h:1895
@ TIEPIE_HW_DEMOSIGNAL_RUNT
Generate a pulse signal with a runt pulse.
Definition libtiepie-hw.h:1898
@ TIEPIE_HW_DEMOSIGNAL_RS485_9600_8N1MD
Generate a RS458 signal, 9600 baud, 8 bits, no parity, 1 stop bit MultiDrop.
Definition libtiepie-hw.h:1906
@ TIEPIE_HW_DEMOSIGNAL_I2C_SDA
Generate an I2C SDA signal.
Definition libtiepie-hw.h:1900
@ TIEPIE_HW_DEMOSIGNAL_RS232_9600_8O15
Generate a RS232 signal, 9600 baud, 8 bits, odd parity, 1.5 stop bits.
Definition libtiepie-hw.h:1904
@ TIEPIE_HW_DEMOSIGNAL_RS232_9600_8N1
Generate a RS232 signal, 9600 baud, 8 bits, no parity, 1 stop bit.
Definition libtiepie-hw.h:1903
@ TIEPIE_HW_DEMOSIGNAL_NONE
Disable signal.
Definition libtiepie-hw.h:1893
@ TIEPIE_HW_DEMOSIGNAL_EV_CHARGING
Generate a EV charging signal.
Definition libtiepie-hw.h:1915
@ TIEPIE_HW_DEMOSIGNAL_CANFD_250000
Generate a differential CANFD signal, 250 kbps.
Definition libtiepie-hw.h:1910
@ TIEPIE_HW_DEMOSIGNAL_SQUARE
Generate a square wave signal.
Definition libtiepie-hw.h:1896
@ TIEPIE_HW_DEMOSIGNAL_I2C_SCL
Generate an I2C SCL signal.
Definition libtiepie-hw.h:1899
@ TIEPIE_HW_DEMOSIGNAL_CAN_250000
Generate a differential CAN signal, 250 kbps.
Definition libtiepie-hw.h:1907
@ TIEPIE_HW_DEMOSIGNAL_DC
Generate a DC level.
Definition libtiepie-hw.h:1897
@ TIEPIE_HW_STATUS_INVALID_INPUT
The requested trigger input is invalid.
Definition libtiepie-hw.h:1814
@ TIEPIE_HW_STATUS_NO_TRIGGER_ENABLED
The current setup requires a trigger input to be enabled.
Definition libtiepie-hw.h:1822
@ TIEPIE_HW_STATUS_SUCCESS
The function executed successfully.
Definition libtiepie-hw.h:1797
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10005
Initialization error 10005.
Definition libtiepie-hw.h:1831
@ TIEPIE_HW_STATUS_INVALID_HS56_COMBINED_DEVICE
At least one Handyscope HS6 (DIFF) / WiFiScope WS6 (DIFF) must be located at the beginning or end of ...
Definition libtiepie-hw.h:1824
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10006
Initialization error 10006.
Definition libtiepie-hw.h:1832
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10004
Initialization error 10004.
Definition libtiepie-hw.h:1830
@ TIEPIE_HW_STATUS_INVALID_INDEX
The requested index is invalid.
Definition libtiepie-hw.h:1818
@ TIEPIE_HW_STATUS_INVALID_DEVICE_TYPE
The device type is invalid.
Definition libtiepie-hw.h:1804
@ TIEPIE_HW_STATUS_INVALID_CHANNEL
The requested channel number is invalid.
Definition libtiepie-hw.h:1802
@ TIEPIE_HW_STATUS_INVALID_VALUE
The requested value is invalid.
Definition libtiepie-hw.h:1801
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10003
Initialization error 10003.
Definition libtiepie-hw.h:1829
@ TIEPIE_HW_STATUS_INVALID_HANDLE
The handle to the device is invalid.
Definition libtiepie-hw.h:1800
@ TIEPIE_HW_STATUS_NOT_SUPPORTED
The requested functionality is not supported by the hardware.
Definition libtiepie-hw.h:1799
@ TIEPIE_HW_STATUS_MEASUREMENT_RUNNING
A measurement is already running.
Definition libtiepie-hw.h:1825
@ TIEPIE_HW_STATUS_SYNCHRONIZATION_FAILED
Synchronization of the instruments has failed.
Definition libtiepie-hw.h:1823
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10001
Initialization error 10001.
Definition libtiepie-hw.h:1827
@ TIEPIE_HW_STATUS_INITIALIZATION_FAILED
The instrument's initialization failed, please contact TiePie engineering support.
Definition libtiepie-hw.h:1820
@ TIEPIE_HW_STATUS_BIT_ERROR
The requested I2C operation generated a bit error.
Definition libtiepie-hw.h:1811
@ TIEPIE_HW_STATUS_INVALID_FIRMWARE
The currently used firmware is not supported.
Definition libtiepie-hw.h:1817
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10007
Initialization error 10007.
Definition libtiepie-hw.h:1833
@ TIEPIE_HW_STATUS_INVALID_DEVICE_SERIALNUMBER
There is no device with the requested serial number.
Definition libtiepie-hw.h:1807
@ TIEPIE_HW_STATUS_VALUE_CLIPPED
One of the parameters of the last called function was outside the valid range and clipped to the clos...
Definition libtiepie-hw.h:1796
@ TIEPIE_HW_STATUS_WIRELESSTRIGGERMODULENOTCONNECTED
A wireless trigger module is not connected.
Definition libtiepie-hw.h:1826
@ TIEPIE_HW_STATUS_INTERNAL_ADDRESS
The requested I2C address is an internally used address in the device.
Definition libtiepie-hw.h:1809
@ TIEPIE_HW_STATUS_NOT_AVAILABLE
With the current settings, the requested functionality is not available.
Definition libtiepie-hw.h:1816
@ TIEPIE_HW_STATUS_UNSUCCESSFUL
An error occurred during execution of the last called function.
Definition libtiepie-hw.h:1798
@ TIEPIE_HW_STATUS_LIBRARY_NOT_INITIALIZED
The library is not initialized, see tiepie_hw_init().
Definition libtiepie-hw.h:1821
@ TIEPIE_HW_STATUS_INVALID_DEVICE_INDEX
The device index is invalid, must be < tiepie_hw_devicelist_get_count().
Definition libtiepie-hw.h:1805
@ TIEPIE_HW_STATUS_NO_ACKNOWLEDGE
The requested I2C operation generated "No acknowledge".
Definition libtiepie-hw.h:1812
@ TIEPIE_HW_STATUS_INVALID_OUTPUT
The requested trigger output is invalid.
Definition libtiepie-hw.h:1815
@ TIEPIE_HW_STATUS_INVALID_CONTAINED_DEVICE_SERIALNUMBER
A device with the requested serial number is not available in the combined instrument,...
Definition libtiepie-hw.h:1813
@ TIEPIE_HW_STATUS_INVALID_PRODUCT_ID
There is no device with the requested product ID.
Definition libtiepie-hw.h:1806
@ TIEPIE_HW_STATUS_INVALID_TRIGGER_SOURCE
The requested trigger source is invalid.
Definition libtiepie-hw.h:1803
@ TIEPIE_HW_STATUS_NOT_CONTROLLABLE
The generator is currently not controllable, see tiepie_hw_generator_is_controllable.
Definition libtiepie-hw.h:1810
@ TIEPIE_HW_STATUS_OBJECT_GONE
The object indicated by the handle is no longer available.
Definition libtiepie-hw.h:1808
@ TIEPIE_HW_STATUS_VALUE_MODIFIED
One of the parameters of the last called function was within the valid range but not available....
Definition libtiepie-hw.h:1795
@ TIEPIE_HW_STATUS_INITIALIZATION_ERROR_10002
Initialization error 10002.
Definition libtiepie-hw.h:1828
@ TIEPIE_HW_STATUS_INVALID_EEPROM
The instrument's EEPROM content is damaged, please contact TiePie engineering support.
Definition libtiepie-hw.h:1819
@ TIEPIE_HW_PRODUCTID_HS4
Handyscope HS4.
Definition libtiepie-hw.h:1847
@ TIEPIE_HW_PRODUCTID_HS3
Handyscope HS3.
Definition libtiepie-hw.h:1846
@ TIEPIE_HW_PRODUCTID_WS5
WiFiScope WS5.
Definition libtiepie-hw.h:1857
@ TIEPIE_HW_PRODUCTID_WS4D
WiFiScope WS4D.
Definition libtiepie-hw.h:1861
@ TIEPIE_HW_PRODUCTID_HP3
Handyprobe HP3.
Definition libtiepie-hw.h:1848
@ TIEPIE_HW_PRODUCTID_TP450
TP450.
Definition libtiepie-hw.h:1849
@ TIEPIE_HW_PRODUCTID_HS6
Handyscope HS6.
Definition libtiepie-hw.h:1852
@ TIEPIE_HW_PRODUCTID_COMBI
Combined instrument.
Definition libtiepie-hw.h:1845
@ TIEPIE_HW_PRODUCTID_ATS5004DW
ATS5004DW.
Definition libtiepie-hw.h:1862
@ TIEPIE_HW_PRODUCTID_NONE
Unknown/invalid ID.
Definition libtiepie-hw.h:1844
@ TIEPIE_HW_PRODUCTID_HS5
Handyscope HS5.
Definition libtiepie-hw.h:1851
@ TIEPIE_HW_PRODUCTID_WS6
WiFiScope WS6.
Definition libtiepie-hw.h:1856
@ TIEPIE_HW_PRODUCTID_HS6D
Handyscope HS6 DIFF.
Definition libtiepie-hw.h:1853
@ TIEPIE_HW_PRODUCTID_WS6D
WiFiScope WS6D.
Definition libtiepie-hw.h:1858
@ TIEPIE_HW_PRODUCTID_HS4D
Handyscope HS4 DIFF.
Definition libtiepie-hw.h:1850
@ TIEPIE_HW_PRODUCTID_ATS605004D
ATS605004D.
Definition libtiepie-hw.h:1855
@ TIEPIE_HW_PRODUCTID_ATS605004DW
ATS605004DW.
Definition libtiepie-hw.h:1860
@ TIEPIE_HW_PRODUCTID_ATS610004DW
ATS610004DW.
Definition libtiepie-hw.h:1859
@ TIEPIE_HW_PRODUCTID_ATS5004D
ATS5004D.
Definition libtiepie-hw.h:1864
@ TIEPIE_HW_PRODUCTID_ATS610004D
ATS610004D.
Definition libtiepie-hw.h:1854
@ TIEPIE_HW_PRODUCTID_ATS5004
ATS5004.
Definition libtiepie-hw.h:1863
Date struct.
Definition libtiepie-hw.h:1928
uint8_t day
Day.
Definition libtiepie-hw.h:1931
uint16_t year
Year.
Definition libtiepie-hw.h:1929
uint8_t month
Month.
Definition libtiepie-hw.h:1930
Demo info struct.
Definition libtiepie-hw.h:1941
const char * name
Name of the device.
Definition libtiepie-hw.h:1943
const char * name_short
Short name of the device.
Definition libtiepie-hw.h:1944
tiepie_hw_productid product_id
Product ID of the device.
Definition libtiepie-hw.h:1942
Structure with library version info.
Definition libtiepie-hw.h:2050
uint16_t minor
Minor version number.
Definition libtiepie-hw.h:2052
uint16_t patch
Patch level.
Definition libtiepie-hw.h:2053
uint16_t major
Major version number.
Definition libtiepie-hw.h:2051
uint16_t build
Build number.
Definition libtiepie-hw.h:2054
const char * extra
Additional version text.
Definition libtiepie-hw.h:2055