diff options
| author | guest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae> | 2007-10-23 08:21:21 +0000 |
|---|---|---|
| committer | guest <guest@c30cbac5-9f56-4f76-8ed5-5c34e48a65ae> | 2007-10-23 08:21:21 +0000 |
| commit | 507481336146ca188a9a9d9d1548d5dc81539a60 (patch) | |
| tree | 7f1f843c4c671ea4a124c1a5bff20b337af6a4b6 /iotest/src/diasio.h | |
| parent | ffa1d73a9e71291c321af6a6cd36f6438144ec85 (diff) | |
Initial import.
git-svn-id: svn+ssh://mecka.net/home/svn/dds@15 c30cbac5-9f56-4f76-8ed5-5c34e48a65ae
Diffstat (limited to 'iotest/src/diasio.h')
| -rw-r--r-- | iotest/src/diasio.h | 75 |
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 |
