fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 FltPixRegister.h - description 00003 00004 begin : Mon Jul 3 2000 00005 copyright : (C) 2000 by Andreas Kopmann 00006 email : kopmann@hpe.fzk.de 00007 ***************************************************************************/ 00008 00009 00010 #if defined (_MSC_VER) && (_MSC_VER >= 1000) 00011 #pragma once 00012 #endif 00013 #ifndef _INC_FLTPIXREGISTER_391835B7018A_INCLUDED 00014 #define _INC_FLTPIXREGISTER_391835B7018A_INCLUDED 00015 00016 #include <Pbus/Pbus.h> 00017 00018 #include <Hw/FltDef.h> 00019 00020 class FEunitData; 00021 00041 //##ModelId=3991220D012A 00042 class FltPixRegister : public Pbus { 00043 public: 00045 //##ModelId=3991220D0162 00046 FltPixRegister(const char * name, int slotID, int regID, int r, int w, int len); 00047 00048 virtual ~FltPixRegister(); 00049 00051 //##ModelId=3991220D015E 00052 unsigned long read(int ch); 00053 00055 //##ModelId=3991220D0159 00056 void write(int ch, unsigned long data); 00057 00058 00067 virtual int writeBitsByName(int ch, char *name, unsigned long data); 00068 00073 //##ModelId=3991220D0154 00074 void writeBits(int ch, unsigned long data, unsigned long mask, int shift); 00075 00080 //Write to all registers at the same time: 00081 //mode=0 in the same slot 00082 //mode=1 in all slots 00083 //##ModelId=3991220D014C 00084 void broadcast(unsigned long data, int mode); 00085 00094 //##ModelId=3991220D0160 00095 void read(unsigned long *data, int allPixel=0); 00096 00097 00101 //##ModelId=3991220D015C 00102 void write(unsigned long *data); 00103 00105 //##ModelId=3991220D014B 00106 int getLength(); 00107 00108 const char *getName(); 00109 00110 bool isReadable(); 00111 00112 bool isWriteable(); 00113 00115 void get(FEunitData **data); 00116 00118 unsigned long getAddr(int ch = 0); 00119 00120 private: 00122 //##ModelId=3991220D014A 00123 unsigned long addr; 00124 00126 //##ModelId=3991220D0149 00127 const char * name; 00128 00130 //##ModelId=3991220D0148 00131 bool readable; 00132 00134 //##ModelId=3991220D0140 00135 bool writeable; 00136 00138 //##ModelId=3991220D013F 00139 int len; 00140 00141 }; 00142 00143 #endif /* _INC_FLTPIXREGISTER_391835B7018A_INCLUDED */ 00144