fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 SltRegister.h - description 00003 00004 begin : Thu Jun 29 2000 00005 copyright : (C) 2000 by Andreas Kopmann 00006 email : kopmann@hpe.fzk.de 00007 ***************************************************************************/ 00008 00009 00010 00011 #if defined (_MSC_VER) && (_MSC_VER >= 1000) 00012 #pragma once 00013 #endif 00014 #ifndef _INC_SLTREGISTER_39228A7203DD_INCLUDED 00015 #define _INC_SLTREGISTER_39228A7203DD_INCLUDED 00016 00017 00018 #include <Pbus/Pbus.h> 00019 #include <Hw/SltDef.h> 00020 00021 class FEunitData; 00022 00029 //##ModelId=39914F06016B 00030 class SltRegister : public Pbus { 00031 public: 00032 //##ModelId=39914F0601A3 00033 SltRegister(const char * name, int slotID, unsigned int regID, int r, int w); 00034 00035 virtual ~SltRegister(); 00036 00037 //##ModelId=39914F0601A2 00038 unsigned long read(); 00039 00040 //##ModelId=39914F0601A0 00041 void write(unsigned long data); 00042 00050 virtual int writeBitsByName(char *name, unsigned long data); 00051 00052 //##ModelId=39914F060197 00053 void writeBits(unsigned long data, unsigned long mask, int shift); 00054 00055 //##ModelId=39914F060195 00056 void setBitsToHigh(unsigned long mask); 00057 00058 //##ModelId=39914F060193 00059 void setBitsToLow(unsigned long mask); 00060 00061 //##ModelId=39914F060189 00062 const char * getName(); 00063 00064 //##ModelId=39914F060180 00065 bool isReadable(); 00066 00067 //##ModelId=39914F06017F 00068 bool isWriteable(); 00069 00072 virtual void get(FEunitData **data); 00073 00075 unsigned long getAddr(); 00076 00077 private: 00078 //##ModelId=39914F060179 00079 unsigned long addr; 00080 00081 //##ModelId=39914F060178 00082 const char * name; 00083 00084 //##ModelId=39914F060177 00085 bool readable; 00086 00087 //##ModelId=39914F060176 00088 bool writeable; 00089 00090 }; 00091 00092 #endif /* _INC_SLTREGISTER_39228A7203DD_INCLUDED */ 00093