Cat
Python.cpp
Go to the documentation of this file.
1 #include <vector>
2 #include <list>
3 
4 #include "Processus.h"
5 
6 #include "Element.h"
7 #include "FEB_v1.h"
8 #include "CU_v1.h"
9 #include "SeqPGA.h"
10 #include "FePGA.h"
11 #include "UsbFTMLInterface.h"
12 #include "UsbMLSpiBus.h"
13 #include "UsbMLI2cBus.h"
14 #include "ICPhaser.h"
15 
16 #include "TestUSB.h"
17 #include "TestSPI.h"
18 #include "TestI2C.h"
19 #include "Acquisition.h"
20 
21 #include <boost/python.hpp>
22 #include <boost/python/suite/indexing/vector_indexing_suite.hpp>
23 
24 using namespace boost::python;
25 
26 BOOST_PYTHON_MODULE(libCatCaloUpgrade)
27 {
28 
29 
30  StatusCode (FEB_v1::*setOutputEport1)(int, int, int, int) = (&FEB_v1::setOutputEport);
31  StatusCode (FEB_v1::*setOutputEport2)(int, int, int) = (&FEB_v1::setOutputEport);
32 
33  int (FEB_v1::*latencyEport1)(int, int) = (&FEB_v1::latencyEport);
34  int (FEB_v1::*latencyEport2)(int) = (&FEB_v1::latencyEport);
35 
36  int (FEB_v1::*clockPhaseEport1)(int, int) = (&FEB_v1::clockPhaseEport);
37  int (FEB_v1::*clockPhaseEport2)(int) = (&FEB_v1::clockPhaseEport);
38 
39  class_<FEB_v1, bases <Element> >("FEB_v1")
40  .def("seqPga" ,&FEB_v1::seqPga,return_value_policy<reference_existing_object>())
41  .def("ramInj" ,&FEB_v1::ramInj,return_value_policy<reference_existing_object>())
42  .def("ramSpy" ,&FEB_v1::ramSpy,return_value_policy<reference_existing_object>())
43 
44  .def("testSequence" ,&FEB_v1::testSequence)
45  .def("setExtTrig" ,&FEB_v1::setExtTrig)
46  .def("extTrig" ,&FEB_v1::extTrig)
47 
48  .def("readFifoSpyFE" ,&FEB_v1::readFifoSpyFE)
49  .def("readFifoLLTFE" ,&FEB_v1::readFifoLLTFE)
50  .def("readFifoLLT" ,&FEB_v1::readFifoLLT)
51  .def("readFifoInjectFE" ,&FEB_v1::readFifoInjectFE)
52  .def("writeFifoSpyFE" ,&FEB_v1::writeFifoSpyFE)
53  .def("writeFifoLLTFE" ,&FEB_v1::writeFifoLLTFE)
54  .def("writeFifoLLT" ,&FEB_v1::writeFifoLLT)
55  .def("writeFifoInjectFE",&FEB_v1::writeFifoInjectFE)
56  .def("writeDataFifoInjectFE",&FEB_v1::writeDataFifoInjectFE)
57 
58  .def("latencyLLT" ,&FEB_v1::latencyLLT)
59  .def("setLatencyLLT" ,&FEB_v1::setLatencyLLT)
60  .def("setLatencyLLTCorner" ,&FEB_v1::setLatencyLLTCorner)
61  .def("setLatencyLLTUpNb" ,&FEB_v1::setLatencyLLTUpNb)
62  .def("setLatencyLLTSideNb" ,&FEB_v1::setLatencyLLTSideNb)
63 
64  .def("maskLLT" ,&FEB_v1::maskLLT)
65  .def("setMaskLLT" ,&FEB_v1::setMaskLLT)
66  .def("setMaskLLTCorner" ,&FEB_v1::setMaskLLTCorner)
67  .def("setMaskLLTUpNb" ,&FEB_v1::setMaskLLTUpNb)
68  .def("setMaskLLTSideNb" ,&FEB_v1::setMaskLLTSideNb)
69 
70 
71  .def("resetFifoSpyFE" ,&FEB_v1::resetFifoSpyFE)
72  .def("resetFifoInjectFE" ,&FEB_v1::resetFifoInjectFE)
73  .def("resetSpi" ,&FEB_v1::resetSpi)
74  .def("resetFE" ,&FEB_v1::resetFE)
75 
76  .def("setSpareForTrigEnable" ,&FEB_v1::setSpareForTrigEnable)
77  .def("spareForTrigEnable" ,&FEB_v1::spareForTrigEnable)
78  .def("setProbeEnable" ,&FEB_v1::setProbeEnable)
79  .def("probeEnable" ,&FEB_v1::probeEnable)
80  .def("setTestDuration" ,&FEB_v1::setTestDuration)
81  .def("testDuration" ,&FEB_v1::testDuration)
82  .def("setStopInjLoop" ,&FEB_v1::setStopInjLoop)
83  .def("stopInjLoop" ,&FEB_v1::stopInjLoop)
84  .def("setSpyModeSeq" ,&FEB_v1::setSpyModeSeq)
85  .def("spyModeSeq" ,&FEB_v1::spyModeSeq)
86  .def("setSpyModeFE" ,&FEB_v1::setSpyModeFE)
87  .def("spyModeFE" ,&FEB_v1::spyModeFE)
88  .def("setSpyModeFE" ,&FEB_v1::setSpyModeFE)
89  .def("spyModeFE" ,&FEB_v1::spyModeFE)
90  .def("setDisableSubtract",&FEB_v1::setDisableSubtract)
91  .def("disableSubtract" ,&FEB_v1::disableSubtract)
92  .def("setOldSubtract" ,&FEB_v1::setOldSubtract)
93  .def("oldSubtract" ,&FEB_v1::oldSubtract)
94  .def("setThreshold" ,&FEB_v1::setThreshold)
95  .def("threshold" ,&FEB_v1::threshold)
96  .def("setLatency" ,&FEB_v1::setLatency)
97  .def("latency" ,&FEB_v1::latency)
98  .def("setSpyModeFE" ,&FEB_v1::setSpyModeFE)
99  .def("spyModeFE" ,&FEB_v1::spyModeFE)
100  .def("setSpyModeFE" ,&FEB_v1::setSpyModeFE)
101  .def("spyModeFE" ,&FEB_v1::spyModeFE)
102  .def("setInjectModeFE" ,&FEB_v1::setInjectModeFE)
103  .def("injectModeFE" ,&FEB_v1::injectModeFE)
104  .def("statusRegister" ,&FEB_v1::statusRegister)
105  .def("setEnableBXIDReset" ,&FEB_v1::setEnableBXIDReset)
106  .def("enableBXIDReset" ,&FEB_v1::enableBXIDReset)
107 
108  .def("setGain4" ,&FEB_v1::setGain4)
109  .def("setPseudoADCEnable" ,&FEB_v1::setPseudoADCEnable)
110  .def("setPseudoPMEnable" ,&FEB_v1::setPseudoPMEnable)
111  .def("setGlobalPseudoPMEnable" ,&FEB_v1::setGlobalPseudoPMEnable)
112  .def("setClockFallingEdge" ,&FEB_v1::setClockFallingEdge)
113  .def("setCalibCte" ,&FEB_v1::setCalibCte)
114  .def("gain4" ,&FEB_v1::gain4)
115  .def("pseudoADCEnable" ,&FEB_v1::pseudoADCEnable)
116  .def("pseudoPMEnable" ,&FEB_v1::pseudoPMEnable)
117  .def("globalPseudoPMEnable",&FEB_v1::globalPseudoPMEnable)
118  .def("setClockFallingEdge" ,&FEB_v1::setClockFallingEdge)
119  .def("clockFallingEdge" ,&FEB_v1::clockFallingEdge)
120  .def("setClock80MHzFallingEdge" ,&FEB_v1::setClock80MHzFallingEdge)
121  .def("clock80MHzFallingEdge" ,&FEB_v1::clock80MHzFallingEdge)
122  .def("setCalibCte" ,&FEB_v1::setCalibCte)
123  .def("calibCte" ,&FEB_v1::calibCte)
124 
125  .def("setGbtMode" ,&FEB_v1::setGbtMode)
126  .def("gbtMode" ,&FEB_v1::gbtMode)
127  .def("setGbtDataPath" ,&FEB_v1::setGbtDataPath)
128  .def("gbtDataPath" ,&FEB_v1::gbtDataPath)
129  .def("setGbtTrackMode" ,&FEB_v1::setGbtTrackMode)
130  .def("gbtTrackMode" ,&FEB_v1::gbtTrackMode)
131  .def("setGbtTermEport" ,&FEB_v1::setGbtTermEport)
132  .def("gbtTermEport" ,&FEB_v1::gbtTermEport)
133  .def("setGbt80MHzClkEport" ,&FEB_v1::setGbt80MHzClkEport)
134  .def("gbt80MHzClkEport" ,&FEB_v1::gbt80MHzClkEport)
135  .def("setGbtDLLEport" ,&FEB_v1::setGbtDLLEport)
136  .def("gbtDLLEport" ,&FEB_v1::gbtDLLEport)
137  .def("setGbtEnableEport" ,&FEB_v1::setGbtEnableEport)
138  .def("gbtEnableEport" ,&FEB_v1::gbtEnableEport)
139  .def("setGbtClockStrength" ,&FEB_v1::setGbtClockStrength)
140  .def("gbtClockStrength" ,&FEB_v1::gbtClockStrength)
141  .def("gbtStatus" ,&FEB_v1::gbtStatus)
142  .def("gbtDLLReset" ,&FEB_v1::gbtDLLReset)
143  .def("gbtAcknowledgeConfig",&FEB_v1::gbtAcknowledgeConfig)
144 
145  .def("setOutputEport" ,setOutputEport1)
146  .def("latencyEport" ,latencyEport1)
147  .def("clockPhaseEport" ,clockPhaseEport1)
148 
149  .def("setOutputEport" ,setOutputEport2)
150  .def("latencyEport" ,latencyEport2)
151  .def("clockPhaseEport" ,clockPhaseEport2)
152 
153  .def("data",&FEB_v1::data,return_value_policy<reference_existing_object>())
154  ;
155 
156  StatusCode (SeqPGA::*spiwrite_1)(unsigned int, unsigned int) = (&SeqPGA::spiWrite);
157  StatusCode (SeqPGA::*spiwrite_2)(unsigned int, unsigned int, PyObject*) = (&SeqPGA::spiWrite);
158 
159  unsigned int (SeqPGA::*spiread_1)(unsigned int) = (&SeqPGA::spiRead);
160  PyObject* (SeqPGA::*spiread_2)(unsigned int, unsigned int) = (&SeqPGA::spiRead);
161 
162  StatusCode (SeqPGA::*i2cwrite_1)() = (&SeqPGA::i2cWrite);
163  StatusCode (SeqPGA::*i2cwrite_2)(unsigned long int, unsigned long int) = (&SeqPGA::i2cWrite);
164  StatusCode (SeqPGA::*i2cread_1)() = (&SeqPGA::i2cRead);
165  unsigned long int (SeqPGA::*i2cread_2)(unsigned long int) = (&SeqPGA::i2cRead);
166 
167  class_<SeqPGA, bases <Element> >("SeqPGA")
168  .def("usb",&SeqPGA::usb,return_value_policy<reference_existing_object>())
169  .def("spi",&SeqPGA::spi,return_value_policy<reference_existing_object>())
170  .def("i2c",&SeqPGA::i2c,return_value_policy<reference_existing_object>())
171  .def("reg",&SeqPGA::reg,return_value_policy<reference_existing_object>())
172 
173  .def("setupReg",&SeqPGA::setupReg,return_value_policy<reference_existing_object>())
174 
175  .def("testSequence" ,&SeqPGA::testSequence)
176  .def("setExtTrig" ,&SeqPGA::setExtTrig)
177  .def("extTrig" ,&SeqPGA::extTrig)
178 
179 
180  .def("setSpiGBTSCA" ,&SeqPGA::setSpiGBTSCA)
181  .def("spiGBTSCA" ,&SeqPGA::spiGBTSCA)
182  .def("setSpiEnable" ,&SeqPGA::setSpiEnable)
183  .def("spiEnable" ,&SeqPGA::spiEnable)
184  .def("setLedEnable" ,&SeqPGA::setLedEnable)
185  .def("ledEnable" ,&SeqPGA::ledEnable)
186  // .def("setSpiDataTx" ,&SeqPGA::setSpiDataTx)
187  // .def("spiDataTx" ,&SeqPGA::spiDataTx)
188  // .def("setSpiDataRx" ,&SeqPGA::setSpiDataRx)
189  // .def("spiDataRx" ,&SeqPGA::spiDataRx)
190  .def("setSpiAdd" ,&SeqPGA::setSpiAdd)
191  .def("spiAdd" ,&SeqPGA::spiAdd)
192  .def("setSpiSubAdd" ,&SeqPGA::setSpiSubAdd)
193  .def("spiSubAdd" ,&SeqPGA::spiSubAdd)
194  .def("spiWrite" ,spiwrite_1)
195  .def("spiWrite" ,spiwrite_2)
196  .def("spiRead" ,spiread_1)
197  .def("spiRead" ,spiread_2)
198 
199  .def("addI2cReg" ,&SeqPGA::addI2cReg,return_value_policy<reference_existing_object>())
200  .def("masterI2cReg",&SeqPGA::masterI2cReg,return_value_policy<reference_existing_object>())
201 
202  .def("setI2cGBTSCA" ,&SeqPGA::setI2cGBTSCA)
203  .def("i2cGBTSCA" ,&SeqPGA::i2cGBTSCA)
204  .def("setI2cBuffer" ,&SeqPGA::setI2cBuffer)
205  .def("buffer" ,&SeqPGA::i2cBuffer)
206  .def("i2cData" ,&SeqPGA::i2cData)
207  .def("setI2cAdd" ,&SeqPGA::setI2cAdd)
208  .def("i2cAdd" ,&SeqPGA::i2cAdd)
209  .def("setI2cSubAdd" ,&SeqPGA::setI2cSubAdd)
210  .def("i2cSubAdd" ,&SeqPGA::i2cSubAdd)
211  .def("i2cWrite" ,i2cwrite_1)
212  .def("i2cWrite" ,i2cwrite_2)
213  .def("i2cRead" ,i2cread_1)
214  .def("i2cRead" ,i2cread_2)
215  ;
216 
217  class_<CU_v1, bases <Element> >("CU_v1")
218  .def("fePga" ,&CU_v1::fePga,return_value_policy<reference_existing_object>())
219  .def("readFifo" ,&CU_v1::readFifo)
220 
221  ;
222 
223  StatusCode (FePGA::*spiwrite_3)(unsigned int, unsigned int) = (&FePGA::spiWrite);
224  StatusCode (FePGA::*spiwrite_4)(unsigned int, unsigned int, PyObject*) = (&FePGA::spiWrite);
225 
226  unsigned int (FePGA::*spiread_3)(unsigned int) = (&FePGA::spiRead);
227  PyObject* (FePGA::*spiread_4)(unsigned int, unsigned int) = (&FePGA::spiRead);
228 
229 
230  class_<FePGA, bases <Element> >("FePGA")
231  .def("usb",&FePGA::usb,return_value_policy<reference_existing_object>())
232  .def("spi",&FePGA::spi,return_value_policy<reference_existing_object>())
233  .def("i2c",&FePGA::i2c,return_value_policy<reference_existing_object>())
234  //.def("reg",&FePGA::reg,return_value_policy<reference_existing_object>())
235  .def("setupReg",&FePGA::setupReg,return_value_policy<reference_existing_object>())
236  // .def("testSequence" ,&FePGA::testSequence)
237  // .def("setExtTrig" ,&FePGA::setExtTrig)
238  // .def("extTrig" ,&FePGA::extTrig)
239  .def("setSpiGBTSCA" ,&FePGA::setSpiGBTSCA)
240  // .def("spiGBTSCA" ,&FePGA::spiGBTSCA)
241  .def("setSpiAdd" ,&FePGA::setSpiAdd)
242  // .def("spiAdd" ,&FePGA::spiAdd)
243  // .def("setSpiSubAdd" ,&FePGA::setSpiSubAdd)
244  // .def("spiSubAdd" ,&FePGA::spiSubAdd)
245  .def("spiWrite" ,spiwrite_3)
246  .def("spiWrite" ,spiwrite_4)
247 
248  .def("spiRead" ,spiread_3) //This is needed by readfifo
249  .def("spiRead" ,spiread_4)
250  // .def("addI2cReg" ,&FePGA::addI2cReg,return_value_policy<reference_existing_object>())
251  //.def("masterI2cReg",&FePGA::masterI2cReg,return_value_policy<reference_existing_object>())
252  // .def("setI2cGBTSCA" ,&FePGA::setI2cGBTSCA)
253  // .def("i2cGBTSCA" ,&FePGA::i2cGBTSCA)
254  // .def("setI2cBuffer" ,&FePGA::setI2cBuffer)
255  // .def("buffer" ,&FePGA::i2cBuffer)
256  // .def("i2cData" ,&FePGA::i2cData)
257  // .def("setI2cAdd" ,&FePGA::setI2cAdd)
258  // .def("i2cAdd" ,&FePGA::i2cAdd)
259  // .def("setI2cSubAdd" ,&FePGA::setI2cSubAdd)
260  // .def("i2cSubAdd" ,&FePGA::i2cSubAdd)
261  // .def("i2cWrite" ,i2cwrite_1)
262  // .def("i2cWrite" ,i2cwrite_2)
263  // .def("i2cRead" ,i2cread_1)
264  // .def("i2cRead" ,i2cread_2)
265  ;
266 
267 
268  enum_<UsbFTMLInterface::WordSize>("WordSize")
269  .value("U8", UsbFTMLInterface::WS_Byte)
270  .value("U16", UsbFTMLInterface::WS_Word)
271  .value("U32", UsbFTMLInterface::WS_DWord)
272  ;
273 
274  StatusCode (UsbFTMLInterface::*write_1)(unsigned long int, boost::python::list) = (&UsbFTMLInterface::write);
276  StatusCode (UsbFTMLInterface::*read_1)(unsigned long int,unsigned long int, boost::python::list&) = (&UsbFTMLInterface::read);
278 
279  class_<UsbFTMLInterface, bases <Element> > ("UsbFTMLInterface")
280  .def("init" ,&UsbFTMLInterface::init)
281  .def("setSerialNum" ,&UsbFTMLInterface::setSerialNum)
282  .def("setDeviceDesc" ,&UsbFTMLInterface::setDeviceDesc)
283  .def("serialNum" ,&UsbFTMLInterface::serialNum)
284  .def("deviceDesc" ,&UsbFTMLInterface::deviceDesc)
285  .def("setWordSize" ,&UsbFTMLInterface::setWordSize)
286  .def("wordSize" ,&UsbFTMLInterface::wordSize)
287  .def("close" ,&UsbFTMLInterface::close)
288  .def("setLatencyTimer",&UsbFTMLInterface::setLatencyTimer)
289  .def("latencyTimer" ,&UsbFTMLInterface::latencyTimer)
290  .def("setTimeOut" ,&UsbFTMLInterface::setTimeOut)
291  .def("txTimeOut" ,&UsbFTMLInterface::txTimeOut)
292  .def("rxTimeOut" ,&UsbFTMLInterface::rxTimeOut)
293  .def("setBuffer" ,&UsbFTMLInterface::setBuffer)
294  .def("txBuffer" ,&UsbFTMLInterface::txBuffer)
295  .def("rxBuffer" ,&UsbFTMLInterface::rxBuffer)
296  .def("resetMode" ,&UsbFTMLInterface::resetMode)
297  .def("purgeBuffers" ,&UsbFTMLInterface::purgeBuffers)
298  .def("setSynchronousMode",&UsbFTMLInterface::setSynchronousMode)
299  .def("write" ,write_1)
300  .def("write" ,write_2)
301  .def("read" ,read_1)
302  .def("read" ,read_2)
303  ;
304 
305  class_<UsbMLSpiBus, bases <Element> >("UsbMLSpiBus")
306  ;
307 
308  class_<UsbMLI2cBus, bases <Element> >("UsbMLI2cBus")
309  ;
310 
311  void (ICPhaser::*setPhasex2)(unsigned char, unsigned char) = (&ICPhaser::setPhase);
312  void (ICPhaser::*setPhasex4)(unsigned char, unsigned char,
313  unsigned char, unsigned char) = (&ICPhaser::setPhase);
314 
315  class_<ICPhaser, bases <Element> >("ICPhaser")
316  .def("setPhase",setPhasex2)
317  .def("setPhase",setPhasex4)
318  .def("setAddress",&ICPhaser::setAddress)
319  .def("address",&ICPhaser::address)
320  .def("status",&ICPhaser::status)
321  .def("reset",&ICPhaser::reset)
322  .def("read" ,&ICPhaser::read)
323  .def("write",&ICPhaser::write)
324  .def("regConfig" ,&ICPhaser::regConfig,
325  return_value_policy<reference_existing_object>())
326  .def("regStatus" ,&ICPhaser::regStatus,
327  return_value_policy<reference_existing_object>())
328  ;
329 
330  // class_<TestUSB, bases<Processus> > ("TestUSB")
331  // ;
332 
333  class_<TestSPI, bases<Processus> > ("TestSPI")
334  .def("setAddress", &TestSPI::setAddress)
335  .def("setSubAddress", &TestSPI::setSubAddress)
336  ;
337 
338  class_<TestI2C, bases<Processus> > ("TestI2C")
339  .def("setAddress", &TestI2C::setAddress)
340  .def("setSubAddress", &TestI2C::setSubAddress)
341  ;
342 
343  class_<Acquisition, bases<Processus> > ("Acquisition")
344  .def("setDepth" , &Acquisition::setDepth)
345  .def("setTrigger", &Acquisition::setTrigger)
346  ;
347 
348 }
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
void setSerialNum(std::string serialNum)
StatusCode setLatencyLLTUpNb(int)
Definition: FEB_v1.cpp:1042
void reset()
Definition: ICPhaser.cpp:49
StatusCode setTestDuration(int)
Definition: FEB_v1.cpp:511
void read()
Definition: ICPhaser.cpp:16
StatusCode setMaskLLTCorner(bool)
Definition: FEB_v1.cpp:1141
StatusCode setExtTrig(bool)
Definition: SeqPGA.cpp:142
void writeFifoSpyFE(int fe)
Definition: FEB_v1.cpp:266
StatusCode setSpyModeSeq(bool)
Definition: FEB_v1.cpp:653
void status()
Definition: ICPhaser.cpp:38
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
void setDeviceDesc(std::string deviceDesc)
Register * reg()
Definition: SeqPGA.h:87
int gbtStatus(int)
Definition: FEB_v1.cpp:1640
StatusCode setPseudoADCEnable(int, int, bool)
Definition: FEB_v1.cpp:856
void setSubAddress(int)
Definition: TestSPI.cpp:88
StatusCode setSpiAdd(unsigned long int)
Definition: FePGA.cpp:77
bool clock80MHzFallingEdge()
Definition: FEB_v1.cpp:971
UsbMLSpiBus * spi()
Definition: FePGA.h:82
bool disableSubtract(int)
Definition: FEB_v1.cpp:754
StatusCode setI2cBuffer(unsigned long int)
Definition: SeqPGA.cpp:460
std::string serialNum()
int gbtTrackMode(int)
Definition: FEB_v1.cpp:1268
void setAddress(int)
Definition: TestI2C.cpp:85
bool gbtTermEport(int)
Definition: FEB_v1.cpp:1322
int gbtClockStrength(int)
Definition: FEB_v1.cpp:1542
unsigned long wordSize()
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
StatusCode setSpiAdd(unsigned long int)
Definition: SeqPGA.cpp:255
void writeFifoLLT()
Definition: FEB_v1.cpp:283
StatusCode setMaskLLTSideNb(int, bool)
Definition: FEB_v1.cpp:1169
bool spiEnable()
Definition: SeqPGA.cpp:197
void maskLLT()
Definition: FEB_v1.cpp:1091
void setAddress(U8 address)
Definition: ICPhaser.h:127
void setLatencyTimer(unsigned char latencyTimer)
StatusCode read(IOdata *)
StatusCode setSpiEnable(bool)
Definition: SeqPGA.cpp:188
Definition: FePGA.h:23
void readFifoLLT(int dump)
Definition: FEB_v1.cpp:200
void latencyLLT()
Definition: FEB_v1.cpp:1009
bool ledEnable()
Definition: SeqPGA.cpp:215
int threshold(int)
Definition: FEB_v1.cpp:708
void write()
Definition: ICPhaser.cpp:60
int statusRegister(int)
Definition: FEB_v1.cpp:501
StatusCode testSequence()
Definition: SeqPGA.h:96
StatusCode setTrigger(bool trig)
Definition: Acquisition.h:36
StatusCode setLedEnable(bool)
Definition: SeqPGA.cpp:206
std::string deviceDesc()
bool injectModeFE(int)
Definition: FEB_v1.cpp:818
bool spyModeSeq()
Definition: FEB_v1.cpp:661
void setTimeOut(int txTimeOut, int rxTimeOut)
StatusCode setGain4(int, int, bool)
Definition: FEB_v1.cpp:829
StatusCode write(IOdata *)
bool extTrig()
Definition: SeqPGA.cpp:151
UsbMLSpiBus * spi()
Definition: SeqPGA.h:83
Register * masterI2cReg()
Definition: SeqPGA.h:93
void setBuffer(int txBuffer, int rxBuffer)
StatusCode setGbt80MHzClkEport(int)
Definition: FEB_v1.cpp:1338
bool globalPseudoPMEnable(int)
Definition: FEB_v1.cpp:922
StatusCode setI2cGBTSCA(bool)
Definition: SeqPGA.cpp:442
bool extTrig()
Definition: FEB_v1.h:111
StatusCode setOldSubtract(int, bool)
Definition: FEB_v1.cpp:783
void setPhase(unsigned char channel, unsigned char value)
Definition: ICPhaser.h:58
StatusCode setSpiSubAdd(unsigned long int)
Definition: SeqPGA.cpp:278
int testDuration(int fpga)
Definition: FEB_v1.cpp:537
StatusCode setGbtClockStrength(int, int)
Definition: FEB_v1.cpp:1528
UsbMLI2cBus * i2c()
Definition: SeqPGA.h:79
int latency(int)
Definition: FEB_v1.cpp:731
BOOST_PYTHON_MODULE(libCatBcn)
Definition: Python.cpp:24
UsbMLI2cBus * i2c()
Definition: FePGA.h:78
StatusCode setEnableBXIDReset(bool)
Definition: FEB_v1.cpp:765
StatusCode i2cRead()
Definition: SeqPGA.cpp:510
Definition: FEB_v1.h:21
StatusCode setI2cAdd(unsigned long int)
Definition: SeqPGA.cpp:482
RAM * ramSpy(int i)
Definition: FEB_v1.h:151
Register * regConfig()
Definition: ICPhaser.h:119
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
Register * addI2cReg()
Definition: SeqPGA.h:94
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
bool i2cGBTSCA()
Definition: SeqPGA.cpp:451
Definition: IOdata.h:17
virtual StatusCode init()
unsigned long int i2cSubAdd()
Definition: SeqPGA.cpp:502
StatusCode spiWrite(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:321
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
void readFifo(int, int, unsigned int *)
Definition: CU_v1.cpp:64
int gbtMode(int)
Definition: FEB_v1.cpp:1202
StatusCode spiRead(unsigned int, unsigned int, unsigned int *)
Definition: FePGA.cpp:102
bool pseudoPMEnable(int, int)
Definition: FEB_v1.cpp:899
void setWordSize(unsigned long wordSize)
unsigned long int i2cData()
Definition: SeqPGA.cpp:473
StatusCode setProbeEnable(int, bool)
Definition: FEB_v1.cpp:603
UsbFTMLInterface * usb()
Definition: SeqPGA.h:75
void setAddress(int)
Definition: TestSPI.cpp:84
StatusCode setGbtTrackMode(int, int)
Definition: FEB_v1.cpp:1252
unsigned char latencyTimer()
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
StatusCode i2cWrite()
Definition: SeqPGA.cpp:535
unsigned long int spiAdd()
Definition: SeqPGA.cpp:263
Register * setupReg()
Definition: SeqPGA.h:91
StatusCode setLatencyLLTSideNb(int)
Definition: FEB_v1.cpp:1058
SeqPGA * seqPga()
Definition: FEB_v1.h:63
unsigned long int spiSubAdd()
Definition: SeqPGA.cpp:282
bool stopInjLoop(int)
Definition: FEB_v1.cpp:584
Data * data()
Definition: FEB_v1.h:147
StatusCode spiWrite(unsigned int, unsigned int, unsigned int *)
Definition: FePGA.cpp:84
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 setSubAddress(int)
Definition: TestI2C.cpp:89
void readFifoInjectFE(int fe, int dump)
Definition: FEB_v1.cpp:236
StatusCode setLatency(int, int)
Definition: FEB_v1.cpp:719
UsbFTMLInterface * usb()
Definition: FePGA.h:74
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
U8 address()
Definition: ICPhaser.h:133
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 probeEnable()
Definition: FEB_v1.cpp:620
StatusCode setI2cSubAdd(unsigned long int)
Definition: SeqPGA.cpp:497
StatusCode spiRead(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:337
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
Register * regStatus()
Definition: ICPhaser.h:123
bool gbt80MHzClkEport(int)
Definition: FEB_v1.cpp:1373
int spareForTrigEnable(int)
Definition: FEB_v1.cpp:642
bool spiGBTSCA()
Definition: SeqPGA.cpp:174
int calibCte(int, int)
Definition: FEB_v1.cpp:998
StatusCode setSpiGBTSCA(bool)
Definition: FePGA.cpp:211
StatusCode setLatencyLLT(int)
Definition: FEB_v1.cpp:1026
StatusCode setDepth(unsigned int)
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
StatusCode resetFE(int)
Definition: FEB_v1.cpp:491
Register * setupReg()
Definition: FePGA.h:97
unsigned long int i2cBuffer()
Definition: SeqPGA.cpp:465
unsigned long int i2cAdd()
Definition: SeqPGA.cpp:488
StatusCode setSpiGBTSCA(bool)
Definition: SeqPGA.cpp:165
FePGA * fePga()
Definition: CU_v1.h:56
StatusCode setStopInjLoop(bool)
Definition: FEB_v1.cpp:558