Cat
FEB_v1.h
Go to the documentation of this file.
1 // $Id: $
2 #ifndef INC_FEB_V1_H
3 #define INC_FEB_V1_H 1
4 
5 // Include files
6 #include "Element.h"
7 #include "Data.h"
8 #include "RAM.h"
9 #include "UsbFTMLInterface.h"
10 #include "SeqPGA.h"
11 //#include "UsbI2cBus.h"
12 //#include "UsbSpiBus.h"
13 
21 class FEB_v1 : public Element {
22 public:
24  FEB_v1( );
25 
26  virtual ~FEB_v1( );
27 
31  void help() { info("FEB_v1 "+name()+". No help.","FEB_v1::help"); };
32 
38  return StatusCode::SUCCESS;
39  };
40 
48  void reset() {
49  m_seqPga->reset();
50  debug("FEB_v1 "+name()+" reset.","FEB_v1::reset");
51  };
52 
53  void resetSpi() {
54  m_seqPga->resetSpi();
55  debug("FEB_v1 "+name()+" reset Spi.","FEB_v1::resetSpi");
56  };
57 
61  void update () {info("FEB_v1 "+name()+". Nothing to do.","FEB_v1::update");};
62 
64  return m_seqPga;
65  }
66 
68  bool spyModeSeq();
69  StatusCode setSpyModeFE(int, bool);
70  bool spyModeFE(int);
71  StatusCode setDisableSubtract(int, bool);
72  bool disableSubtract(int);
73  StatusCode setOldSubtract(int, bool);
74  bool oldSubtract(int);
75  StatusCode setThreshold(int, int);
76  int threshold(int);
77  StatusCode setLatency(int, int);
78  int latency(int);
79  StatusCode setInjectModeFE(int, bool);
80  bool injectModeFE(int);
81  StatusCode setProbeEnable(int, bool);
82  void probeEnable();
84  int spareForTrigEnable(int);
86  int testDuration(int fpga);
88  bool stopInjLoop(int);
90  bool enableBXIDReset();
91 
92  StatusCode setGain4( int, int, bool );
93  StatusCode setPseudoADCEnable( int, int , bool);
94  StatusCode setPseudoPMEnable( int, int, bool);
96  StatusCode setClockFallingEdge( int, int , bool);
98  StatusCode setCalibCte( int, int , int);
99 
100  bool gain4( int, int );
101  bool pseudoADCEnable( int, int );
102  bool pseudoPMEnable( int, int );
103  bool globalPseudoPMEnable( int );
104  bool clockFallingEdge( int, int );
105  bool clock80MHzFallingEdge( );
106  int calibCte( int, int );
107 
109 
110  StatusCode setExtTrig( bool trig ) { return m_seqPga->setExtTrig( trig ); }
111  bool extTrig( ) { return m_seqPga->extTrig( ); }
112 
113  void readFifo( int, int , unsigned int*);
114  void readFifoSpyFE( int fe, int dump);
115  void readFifoLLTFE( int fe, int dump);
116  void readFifoInjectFE( int fe, int dump);
117  void readFifoLLT(int dump);
118  void maskLLT();
119  void latencyLLT();
120  StatusCode setMaskLLT(int, bool);
122  StatusCode setMaskLLTUpNb(int, bool);
123  StatusCode setMaskLLTSideNb(int, bool);
128 
129  StatusCode setOutputEport(int, int, int);
130  int latencyEport(int);
131  int clockPhaseEport(int);
132 
133  StatusCode setOutputEport(int, int, int, int);
134  int latencyEport(int, int);
135  int clockPhaseEport(int, int);
136 
137  void writeFifoSpyFE( int fe );
138  void writeFifoLLTFE( int fe );
139  void writeFifoInjectFE( int fe , int pattern);
140  void writeDataFifoInjectFE( int , int *, int*, int*, int*);
141  void writeFifoLLT();
142  StatusCode resetFifoSpyFE( int );
144  StatusCode resetFE( int );
145  int statusRegister( int );
146 
147  Data* data(){ return m_data; }
148  RAM* ramInj(int i){
149  return m_ramInj[i];
150  }
151  RAM* ramSpy(int i){
152  return m_ramSpy[i];
153  }
154 
155 
156  StatusCode setGbtMode(int, int);
157  int gbtMode(int);
158  StatusCode setGbtDataPath(int, int, int, int);
159  int gbtDataPath(int);
160  StatusCode setGbtTrackMode(int, int);
161  int gbtTrackMode(int);
162  StatusCode setGbtTermEport(int,bool);
163  bool gbtTermEport(int);
165  bool gbt80MHzClkEport(int);
167  void gbtDLLEport(int);
168  StatusCode setGbtEnableEport(int, bool);
169  bool gbtEnableEport(int);
170  int gbtStatus(int);
172  int gbtClockStrength(int);
173  StatusCode gbtDLLReset(int);
175 
176  protected:
177 
178 private:
181  int m_feAddress[8];
182  int m_gbtAddress[4];
189  unsigned int *m_fifo[3];
190  int *m_ch[4];
192  int m_mask0;
193  int m_mask1;
194  int m_mask2;
202 };
203 
204 #endif // INC_FEB_V1_H
void info(std::string mymsg)
Definition: Object.h:38
StatusCode setThreshold(int, int)
Definition: FEB_v1.cpp:695
bool gbtEnableEport(int)
Definition: FEB_v1.cpp:1515
StatusCode setGbtTermEport(int, bool)
Definition: FEB_v1.cpp:1284
void readFifoLLTFE(int fe, int dump)
Definition: FEB_v1.cpp:160
StatusCode testSequence()
Definition: FEB_v1.h:108
StatusCode setLatencyLLTUpNb(int)
Definition: FEB_v1.cpp:1042
StatusCode setTestDuration(int)
Definition: FEB_v1.cpp:511
StatusCode setMaskLLTCorner(bool)
Definition: FEB_v1.cpp:1141
StatusCode setExtTrig(bool)
Definition: SeqPGA.cpp:142
void writeFifoSpyFE(int fe)
Definition: FEB_v1.cpp:266
Definition: RAM.h:16
StatusCode setSpyModeSeq(bool)
Definition: FEB_v1.cpp:653
bool oldSubtract(int)
Definition: FEB_v1.cpp:795
int latencyEport(int)
Definition: FEB_v1.cpp:1580
StatusCode resetFifoSpyFE(int)
Definition: FEB_v1.cpp:471
RAM * ramInj(int i)
Definition: FEB_v1.h:148
int gbtStatus(int)
Definition: FEB_v1.cpp:1640
StatusCode setPseudoADCEnable(int, int, bool)
Definition: FEB_v1.cpp:856
int m_mask1
Definition: FEB_v1.h:193
bool clock80MHzFallingEdge()
Definition: FEB_v1.cpp:971
int m_latency0
Definition: FEB_v1.h:195
RAM * m_ramSpy[3]
Definition: FEB_v1.h:200
bool disableSubtract(int)
Definition: FEB_v1.cpp:754
int m_mask2
Definition: FEB_v1.h:194
int gbtTrackMode(int)
Definition: FEB_v1.cpp:1268
int m_fifoLLTAddress[3]
Definition: FEB_v1.h:185
void reset()
Definition: FEB_v1.h:48
bool gbtTermEport(int)
Definition: FEB_v1.cpp:1322
int gbtClockStrength(int)
Definition: FEB_v1.cpp:1542
StatusCode setGbtEnableEport(int, bool)
Definition: FEB_v1.cpp:1491
StatusCode setExtTrig(bool trig)
Definition: FEB_v1.h:110
StatusCode gbtAcknowledgeConfig(int)
Definition: FEB_v1.cpp:1656
void writeFifoLLT()
Definition: FEB_v1.cpp:283
int m_fifoSpyAddress[3]
Definition: FEB_v1.h:184
StatusCode setMaskLLTSideNb(int, bool)
Definition: FEB_v1.cpp:1169
void maskLLT()
Definition: FEB_v1.cpp:1091
int m_fifoDepth
Definition: FEB_v1.h:179
int m_gbtAddress[4]
Definition: FEB_v1.h:182
void readFifoLLT(int dump)
Definition: FEB_v1.cpp:200
void latencyLLT()
Definition: FEB_v1.cpp:1009
int m_fifoInjectAddress[3]
Definition: FEB_v1.h:186
int threshold(int)
Definition: FEB_v1.cpp:708
int statusRegister(int)
Definition: FEB_v1.cpp:501
StatusCode testSequence()
Definition: SeqPGA.h:96
int m_seqAddress
Definition: FEB_v1.h:180
void reset()
Definition: SeqPGA.h:54
bool injectModeFE(int)
Definition: FEB_v1.cpp:818
bool spyModeSeq()
Definition: FEB_v1.cpp:661
FEB_v1()
Standard constructor.
Definition: FEB_v1.cpp:18
StatusCode setGain4(int, int, bool)
Definition: FEB_v1.cpp:829
int m_icecalAddress[8]
Definition: FEB_v1.h:183
bool extTrig()
Definition: SeqPGA.cpp:151
virtual ~FEB_v1()
Destructor.
Definition: FEB_v1.cpp:107
SeqPGA * m_seqPga
Definition: FEB_v1.h:188
StatusCode setGbt80MHzClkEport(int)
Definition: FEB_v1.cpp:1338
bool globalPseudoPMEnable(int)
Definition: FEB_v1.cpp:922
void update()
Definition: FEB_v1.h:61
bool extTrig()
Definition: FEB_v1.h:111
StatusCode setOldSubtract(int, bool)
Definition: FEB_v1.cpp:783
int testDuration(int fpga)
Definition: FEB_v1.cpp:537
void debug(std::string mymsg)
Definition: Object.h:37
StatusCode setGbtClockStrength(int, int)
Definition: FEB_v1.cpp:1528
int latency(int)
Definition: FEB_v1.cpp:731
StatusCode setEnableBXIDReset(bool)
Definition: FEB_v1.cpp:765
void help()
Definition: FEB_v1.h:31
Definition: FEB_v1.h:21
RAM * ramSpy(int i)
Definition: FEB_v1.h:151
void resetSpi()
Definition: FEB_v1.h:53
StatusCode setSpareForTrigEnable(int, int)
Definition: FEB_v1.cpp:631
StatusCode setInjectModeFE(int, bool)
Definition: FEB_v1.cpp:806
bool spyModeFE(int)
Definition: FEB_v1.cpp:684
bool enableBXIDReset()
Definition: FEB_v1.cpp:773
int m_mask0
Definition: FEB_v1.h:192
bool clockFallingEdge(int, int)
Definition: FEB_v1.cpp:949
StatusCode setGbtDLLEport(int)
Definition: FEB_v1.cpp:1390
StatusCode resetFifoInjectFE(int)
Definition: FEB_v1.cpp:481
void writeFifoLLTFE(int fe)
Definition: FEB_v1.cpp:444
unsigned int * m_fifo[3]
Definition: FEB_v1.h:189
StatusCode setClock80MHzFallingEdge(bool)
Definition: FEB_v1.cpp:959
void writeDataFifoInjectFE(int, int *, int *, int *, int *)
Definition: FEB_v1.cpp:426
StatusCode setOutputEport(int, int, int)
Definition: FEB_v1.cpp:1564
int gbtMode(int)
Definition: FEB_v1.cpp:1202
bool pseudoPMEnable(int, int)
Definition: FEB_v1.cpp:899
StatusCode setProbeEnable(int, bool)
Definition: FEB_v1.cpp:603
StatusCode init()
Definition: FEB_v1.h:37
StatusCode setGbtTrackMode(int, int)
Definition: FEB_v1.cpp:1252
StatusCode setMaskLLT(int, bool)
Definition: FEB_v1.cpp:1115
StatusCode setGbtMode(int, int)
Definition: FEB_v1.cpp:1184
StatusCode setPseudoPMEnable(int, int, bool)
Definition: FEB_v1.cpp:883
void readFifoSpyFE(int fe, int dump)
Definition: FEB_v1.cpp:121
std::string name() const
Definition: Object.h:28
StatusCode setLatencyLLTSideNb(int)
Definition: FEB_v1.cpp:1058
SeqPGA * seqPga()
Definition: FEB_v1.h:63
bool stopInjLoop(int)
Definition: FEB_v1.cpp:584
Data * data()
Definition: FEB_v1.h:147
int m_feAddress[8]
Definition: FEB_v1.h:181
int * m_ch[4]
Definition: FEB_v1.h:190
int m_latency1
Definition: FEB_v1.h:196
StatusCode setGlobalPseudoPMEnable(int, bool)
Definition: FEB_v1.cpp:910
StatusCode setLatencyLLTCorner(int)
Definition: FEB_v1.cpp:1074
StatusCode setCalibCte(int, int, int)
Definition: FEB_v1.cpp:982
void readFifoInjectFE(int fe, int dump)
Definition: FEB_v1.cpp:236
StatusCode setLatency(int, int)
Definition: FEB_v1.cpp:719
StatusCode setDisableSubtract(int, bool)
Definition: FEB_v1.cpp:742
int clockPhaseEport(int)
Definition: FEB_v1.cpp:1575
StatusCode gbtDLLReset(int)
Definition: FEB_v1.cpp:1614
bool pseudoADCEnable(int, int)
Definition: FEB_v1.cpp:872
StatusCode setGbtDataPath(int, int, int, int)
Definition: FEB_v1.cpp:1220
StatusCode setMaskLLTUpNb(int, bool)
Definition: FEB_v1.cpp:1155
void resetSpi()
Definition: SeqPGA.h:61
Definition: Data.h:16
Data * m_data
Definition: FEB_v1.h:191
void probeEnable()
Definition: FEB_v1.cpp:620
RAM * m_fifoUsbTest
Definition: FEB_v1.h:201
void readFifo(int, int, unsigned int *)
Definition: FEB_v1.cpp:113
RAM * m_ramInj[3]
Definition: FEB_v1.h:199
bool gain4(int, int)
Definition: FEB_v1.cpp:845
StatusCode setClockFallingEdge(int, int, bool)
Definition: FEB_v1.cpp:933
StatusCode setSpyModeFE(int, bool)
Definition: FEB_v1.cpp:672
Definition: SeqPGA.h:23
bool gbt80MHzClkEport(int)
Definition: FEB_v1.cpp:1373
int spareForTrigEnable(int)
Definition: FEB_v1.cpp:642
int calibCte(int, int)
Definition: FEB_v1.cpp:998
StatusCode setLatencyLLT(int)
Definition: FEB_v1.cpp:1026
int m_latency2
Definition: FEB_v1.h:197
int gbtDataPath(int)
Definition: FEB_v1.cpp:1239
void writeFifoInjectFE(int fe, int pattern)
Definition: FEB_v1.cpp:298
void gbtDLLEport(int)
Definition: FEB_v1.cpp:1467
int m_latency3
Definition: FEB_v1.h:198
int m_fifoTrigAddress[3]
Definition: FEB_v1.h:187
StatusCode resetFE(int)
Definition: FEB_v1.cpp:491
StatusCode setStopInjLoop(bool)
Definition: FEB_v1.cpp:558