$treeview $search $mathjax $extrastylesheet
otsdaq_components
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 //#ifndef _ots_VIPICFirmware_h_ 00002 //#define _ots_VIPICFirmware_h_ 00003 // 00004 //#include "otsdaq-components/DAQHardware/VIPICFirmwareDefinitions.h" 00005 //#include "otsdaq-components/DAQHardware/FrontEndFirmwareBase.h" 00007 //#include "otsdaq-components/DetectorConfiguration/ROCStream.h" 00008 // 00009 //#include <string> 00010 // 00011 // namespace ots 00012 //{ 00013 // 00014 // class VIPICFirmware : public FrontEndFirmwareBase/*, public PurdueFirmwareCore*/ 00015 //{ 00016 // 00017 // private: 00018 // uint32_t pixelCSRRegisterValue_; //CSR 00019 // uint32_t pixelDCMRegisterValue_; //DCM 00020 // uint32_t pixelClockRegisterValue_; //RegisterClock (does not handle the 00021 // clock, it is the name Matthew uses) uint32_t pixelTestInjectRegisterValue_; 00022 // //TestInject 00023 // 00024 // uint32_t setBuffer_ [PIXELS_SIDE * PIXELS_SIDE / 32]; //S Buffer (one bit per 00025 // pixel) uint32_t resetBuffer_ [PIXELS_SIDE * PIXELS_SIDE / 32]; //R Buffer (one 00026 // bit per pixel) uint32_t configureBuffer_ [PIXELS_SIDE * PIXELS_SIDE / 2 ]; //D 00027 // Buffer (12 bits per pixel, extended to 16) 00028 // 00029 // 00030 // public: 00031 // VIPICFirmware (unsigned int version, std::string type); 00032 // virtual ~VIPICFirmware(); 00033 // int init(); 00034 // 00035 // std::string resetTimeStamp (void); 00036 // std::string configureClocks (std::string source, double frequency); 00037 // std::string resetDetector (void); 00038 // std::string enableTrigger (bool enable); 00039 // std::string enableTrigger (void){return enableTrigger(true);} 00040 // std::string resetDetector (int reset); 00041 // std::string resetBCO (void); 00042 // 00043 // void setFrequencyFromClockState (std::string& buffer, double 00044 // inputedFrequency); bool isClockStateExternal (void); bool 00045 // isClockLocked (void); 00046 // 00047 // std::string resetTriggerCounter (void); 00048 // std::string stopStream (void); 00049 // std::string startStream (void); 00050 // std::string setUp (void); 00051 // 00052 // std::string prepareResetTimeStamp (void); 00053 // 00054 // void makeMaskBuffer (std::string& buffer, unsigned int channel, 00055 // const ROCStream& rocStream); 00056 // 00057 // 00058 // protected: 00059 // FrontEndFirmwareBase* protocolInstance_; 00060 // void setTimeStampClockSourceCSR (std::string clockSource); 00061 // void flushBuffersPixelCSR (void);//FIXME:waiting for M 00062 // 00063 // //Set values for Masks buffers 00064 // void maskSetPixel (int index, bool force); 00065 // void maskOffPixel (int index, bool kill); 00066 // void configurePixel (int index, uint16_t configure); 00067 // void maskSetPixel (int column, int row, bool force); 00068 // void maskOffPixel (int column, int row, bool kill); 00069 // void configurePixel (int column, int row, uint16_t configure); 00070 // 00071 // 00072 // bool getSetMaskPixel (int column, int row); 00073 // bool getResetMaskPixel (int column, int row); 00074 // bool getConfigurationPixel (int column, int row); 00075 // 00076 // //Set values for register PIXEL_DCM (Pixel Clock Manager) 00077 // void setTimeStampClockSource (std::string clockSource); 00078 // void setFrequencyRatio (std::string& buffer, int numerator, int 00079 // denominator); 00080 // 00081 // //Reset local register values 00082 // void resetPixelCSRRegisterValue (void); 00083 // void resetPixelDCMRegisterValue (void); 00084 // void resetPixelClockRegisterValue (void); 00085 // void resetPixelTestInjectRegisterValue (void); 00086 // 00087 // 00088 // //Register layer manipulation (must be issued a write after these functions) 00089 // 00090 // //CSR 00091 // void setPacketSizePixelCSR (uint32_t size); 00092 // void issueClearFIFOCSR (int delay); 00093 // void setTimeStampClockSourcePixelCSR (bool externalClockSource); 00094 // void prepareResetTimeStampCSR (void); 00095 // void enableTimeStampCounterPixelCSR (bool enable); 00096 // void clearTriggerCounterPixelCSR (void); 00097 // void immediateResetTimeStampCSR (void); 00098 // void enableStreamPixelCSR (bool enable); 00099 // void enableTriggerDataStreamPixelCSR (bool enable); 00100 // void resetNetworkPixelCSR (bool reset); 00101 // void resetDCMCSR (bool reset); 00102 // bool isClockLockedCSR (void); 00103 // bool isClockStateExternalCSR (void); 00104 // 00105 // //"Clock" Register 00106 // void waitTimeStampToReadCLK (uint8_t delay); 00107 // void setReadsPerCycleCLK (uint8_t readsPerCycle); 00108 // void setWaitingPerCycleCLK (uint8_t delay); 00109 // void assertCleanEndCLK (bool clean); 00110 // void assertTimeStampEndCLK (bool timestamp); 00111 // void shiftBufferSetCLK (bool shift); 00112 // void shiftBufferResetCLK (bool shift); 00113 // void shiftBufferConfigurationCLK (bool shift); 00114 // void assertLoadCLK (bool load); 00115 // void assertRestartCLK (bool restart); 00116 // void stepTimeStampCLK (bool shift); 00117 // void stepReadCycleCLK (bool shift); 00118 // 00119 // //Mask functions 00120 // 00121 // int pixelIndex (int column, int row); 00122 // int pixelColumn (int index); 00123 // int pixelRow (int index); 00124 // 00125 //}; 00126 // 00127 //} 00128 // 00129 //#endif