summaryrefslogtreecommitdiff
path: root/dds_io_pub/diasio.h
diff options
context:
space:
mode:
authorguest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae>2007-10-10 15:01:48 +0000
committerguest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae>2007-10-10 15:01:48 +0000
commite768f895bdd96b06761bea9a359580eb23997173 (patch)
treeb068f0d8424c57a915f74d3209c6c1943c9fc87d /dds_io_pub/diasio.h
parent6b370d6a7ecdc7c144d3f29372f64deebaa8e582 (diff)
git-svn-id: svn+ssh://mecka.net/home/svn/dds@7 c30cbac5-9f56-4f76-8ed5-5c34e48a65ae
Diffstat (limited to 'dds_io_pub/diasio.h')
-rw-r--r--dds_io_pub/diasio.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/dds_io_pub/diasio.h b/dds_io_pub/diasio.h
new file mode 100644
index 0000000..d8a752f
--- /dev/null
+++ b/dds_io_pub/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