summaryrefslogtreecommitdiff
path: root/iotest/src/diasio.h
diff options
context:
space:
mode:
Diffstat (limited to 'iotest/src/diasio.h')
-rw-r--r--iotest/src/diasio.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/iotest/src/diasio.h b/iotest/src/diasio.h
new file mode 100644
index 0000000..d8a752f
--- /dev/null
+++ b/iotest/src/diasio.h
@@ -0,0 +1,75 @@
+//------------------------------------------------------------------------------
+// All rights reserved to Trumpf GmbH + Co., Germany
+//------------------------------------------------------------------------------
+
+#ifndef TCDIASUSER_H
+#define TCDIASUSER_H
+
+// -- required headers ---------------------------------------------------------
+#include <linux/ioctl.h>
+#include "tctypdef.h"
+
+/*
+ * Ioctl definitions
+ */
+
+/* Use 'j' as magic number */
+#define D_TCDIAS_IOC_MAGIC 'j'
+
+#define D_TCDIASIOC_IOADRESSELESEN _IOWR( D_TCDIAS_IOC_MAGIC, 0, TyuInt32 )
+#define D_TCDIASIOC_MEMLAENGE _IOR( D_TCDIAS_IOC_MAGIC, 1, TysInt32 )
+#define D_TCDIASIOC_MEMOFFSET _IOR( D_TCDIAS_IOC_MAGIC, 2, TyuInt32 )
+#define D_TCDIASIOC_AUTOSTART _IOWR( D_TCDIAS_IOC_MAGIC, 3, TyuInt32 )
+#define D_TCDIASIOC_INTERRUPTBETRIEB _IOWR( D_TCDIAS_IOC_MAGIC, 4, TyuInt32 )
+#define D_TCDIASIOC_BEENDEN _IO( D_TCDIAS_IOC_MAGIC, 5 )
+#define D_TCDIASIOC_BEENDENAUFHEBEN _IO( D_TCDIAS_IOC_MAGIC, 6 )
+#define D_TCDIAS_IOC_MAXNR 7
+
+
+static const TyuInt32 S_AdresseLS7166 = 0;
+static const TyuInt32 S_AdresseLS7166Status = 1;
+static const TyuInt32 S_Adresse7Seg1 = 2;
+static const TyuInt32 S_Adresse7Seg2 = 3;
+static const TyuInt32 S_AdresseOut = 4;
+static const TyuInt32 S_AdresseIn = 5;
+static const TyuInt32 S_AdresseWatchdog = 0x0c;
+
+static const TyuInt32 S_AdresseStatus = 6;
+static const TyuInt32 S_AdresseADStart = 7;
+static const TyuInt32 S_AdresseMultiplexer = 8;
+static const TyuInt32 S_AdresseFreigabe = 9;
+static const TyuInt32 S_AdresseRevisionLogik = 0x0e;
+static const TyuInt32 S_AdresseRevisionKarte = 0x0f;
+
+//zweiter Adressblock
+static const TyuInt32 S_AdresseFrequenzzaehlerLW = 0;
+static const TyuInt32 S_AdresseFrequenzzaehlerHW = 2;
+static const TyuInt32 S_AdresseIndexRevisionZaehler = 4;
+static const TyuInt32 S_AdresseAD = 6;
+static const TyuInt32 S_AdresseDA0 = 8;
+static const TyuInt32 S_AdresseDA1 = 0x0a;
+static const TyuInt32 S_AdresseDA2 = 0x0c;
+static const TyuInt32 S_AdresseDA3 = 0x0e;
+// -- exported global variables - declarations (should be empty)----------------
+
+class DIASIO{
+
+public:
+ DIASIO();
+ ~DIASIO();
+ void set(TyuInt16 value);
+ TyuInt16 get();
+ static int m_Bereich1;
+ static int m_Bereich2;
+ static int m_Bereich3;
+ static bool stop_wd;
+
+private:
+ int m_Deviceio;
+ static unsigned int instance;
+ pthread_t watchdog;
+
+ void init();
+};
+
+#endif