fdhwlib
2.0.25
|
00001 /*************************************************************************** 00002 FltPeriphStatus.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_FLTPERIPHSTATUS_3916F1E100AF_INCLUDED 00014 #define _INC_FLTPERIPHSTATUS_3916F1E100AF_INCLUDED 00015 00016 #include <Pbus/Pbus.h> 00017 00018 #include <Hw/FltDef.h> 00019 #include <Hw/fltperiphregister.h> 00020 00021 00022 // bit masks for the peripheral FPGA status register 00023 #define PFPGA_RUN_MODE 0x4000 00024 #define PFPGA_LED_OFF 0x8000 00025 00026 //class Flt; 00027 00028 00029 /* The tint workaround is intended to be able to change 00030 * the integration time use by the hitrate controller. 00031 * When changing the parameter some temporary variables 00032 * are not cleared properly */ 00033 #define USE_TINT_WORKAROUND 00034 00035 00036 00059 //##ModelId=39912200035C 00060 class FltPeriphStatus :public FltPeriphRegister { 00061 public: 00062 //##ModelId=399122000395 00063 FltPeriphStatus(const char * name, int slotID, int regID, int r, int w, int len); 00064 00075 int writeBitsByName(int no, char *name, unsigned long data); 00076 00078 bool isOnLed(int fpgaNr); 00079 00081 //##ModelId=39912200037F 00082 void setLedOn(int fpgaNr); 00083 00085 void setLedOff(int fpgaNr); 00086 00091 bool isInRunMode(int fpgaNr); 00092 00094 void setRunMode(int fpgaNr); 00095 00097 void setRunMode(); 00098 00099 00101 void setTestMode(int fpgaNr); 00102 00104 void setTestMode(); 00105 00121 void broadcastRunMode(int mode); 00122 00123 void broadcastTestMode(int mode); 00124 00125 #if defined (FLT_VER) && (FLT_VER >= 210) 00126 00127 // The pixel trigger mode switches have been 00128 // moved to a separate register 00129 #else 00130 00139 int getPixelTriggerMode(int fpgaNr, int channel); 00140 00141 void setPixelTriggerMode(int fpgaNr, int channel, int mode); 00142 #endif 00143 00144 #if defined (FLT_VER) && (FLT_VER >= 200) 00145 00148 int getVersion(int fpgaNr); 00149 00154 int getBoxcarLength(int fpgaNr); 00155 00160 int getIntegrationTime(int fpgaNr); 00161 00162 #if defined (FLT_VER) && (FLT_VER >= 210) 00163 00167 void setIntegrationTime(int fpgaNr, int time); 00168 00173 void setBoxcarLength(int fpgaNr, int length); 00174 00175 00179 int getCoincidenceTime(int fpgaNr); 00180 00185 void setCoincidenceTime(int fpgaNr, int time); 00186 00187 00194 int getMaxThreshDelta(int fpgaNr); 00195 00202 void setMaxThreshDelta(int fpgaNr, int incr); 00203 00204 #endif 00205 00206 #endif 00207 00208 00209 }; 00210 00211 #endif /* _INC_FLTPERIPHSTATUS_3916F1E100AF_INCLUDED */ 00212