//------------------------------------------------------------------------------ // All rights reserved to Trumpf GmbH + Co., Germany //------------------------------------------------------------------------------ #ifndef TCDIASUSER_H #define TCDIASUSER_H // -- required headers --------------------------------------------------------- #include #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