fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/Hw/SltRegister.h
Go to the documentation of this file.
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