fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/Hw/SltStatusReg.h
Go to the documentation of this file.
00001 /***************************************************************************
00002     SltStatusReg.h  -  description
00003 
00004     begin                : Tue Jul 18 2000
00005     copyright            : (C) 2000 by Andreas Kopmann
00006     email                : kopmann@hpe.fzk.de
00007  ***************************************************************************/
00008 
00009 
00010 #ifndef SLTSTATUSREG_H
00011 #define SLTSTATUSREG_H
00012 
00013 #include <Hw/SltDef.h>
00014 #include <Hw/SltRegister.h>
00015 
00016 
00017 #if defined (SLT_VER) && (SLT_VER >= 300)
00018 #define SLT_STATUS_CRATE  27
00019 #define SLT_STATUS_SLOT   22
00020 
00021 
00022 #define SLTSTATUS_VETO_LOW         20
00023 #define SLTSTATUS_VETO_MASK        0x1
00024 
00025 #define SLTSTATUS_EXTINHIBIT_LOW   19
00026 #define SLTSTATUS_EXTINHIBIT_MASK  0x1
00027 
00028 #define SLTSTATUS_NOPGINHIBIT_LOW  18
00029 #define SLTSTATUS_NOPGINHIBIT_MASK 0x1
00030 
00031 #define SLTSTATUS_SWINHIBIT_LOW    17
00032 #define SLTSTATUS_SWINHIBIT_MASK   0x1
00033 
00034 #define SLTSTATUS_INHIBIT_LOW      16
00035 #define SLTSTATUS_INHIBIT_MASK     0x1
00036 
00037 #define SLTSTATUS_FLTRESET_LOW     10
00038 #define SLTSTATUS_FLTRESET_MASK    0x1 
00039 
00040 
00041 #else
00042 #define SLT_STATUS_SLOT   27
00043 #define SLT_STATUS_CRATE  22
00044 #endif
00045 
00046 
00062 //##ModelId=39914EFB02FF
00063 class SltStatusReg : public SltRegister  {
00064 public: 
00065         //##ModelId=39914EFB0334
00066         SltStatusReg(const char *name, int slotID, int regID, int r, int w);
00067         //##ModelId=39914EFB0333
00068         ~SltStatusReg();
00069 
00073         //##ModelId=39914EFB0332
00074   unsigned long read();
00075 
00076         //##ModelId=39914EFB0331
00077   int getCrateID();
00078         //##ModelId=39914EFB0329
00079   int getSlotID();
00080 
00082   void setSlotID(int id);
00083 
00085   void setPagesFullInhibit(bool value);
00086 
00088   void setSoftwareInhibit(bool value);
00089 
00091   void setInhibit(bool value);
00092 
00093         //##ModelId=39914EFB0328
00094   bool isInhibited();
00095         //##ModelId=39914EFB0327
00096   bool isEnabledResetTriggerFPGA();
00097         //##ModelId=39914EFB0321
00098 #if defined (SLT_VER) && (SLT_VER >= 300)
00099   // not available any more in version 3
00100 #else
00101   bool isEnabledStandbyFLT();
00102 #endif
00103         //##ModelId=39914EFB0320
00104   bool isEnabledResetFLT();
00105 
00107   bool isVeto();
00108 
00109         //##ModelId=39914EFB031F
00110   int crateID;
00111         //##ModelId=39914EFB031E
00112   int slotID;
00113         //##ModelId=39914EFB031D
00114   bool extInhibit;
00115         //##ModelId=39914EFB0317
00116   bool nopgInhibit;
00117         //##ModelId=39914EFB0316
00118   bool swInhibit;
00119         //##ModelId=39914EFB0315
00120   bool inhibit; // ???
00121         //##ModelId=39914EFB0313
00122   bool resetTriggerFPGA;
00123         //##ModelId=39914EFB030C
00124   bool resetFLT;
00125         //##ModelId=39914EFB030B
00126   bool standbyFLT;
00127         //##ModelId=39914EFB030A
00128   bool suspendPLL;
00129         //##ModelId=39914EFB0309
00130   bool suspendClock;
00131 
00132   bool veto;
00133 };
00134 
00135 #endif