Cat
SeqPGA.h
Go to the documentation of this file.
1 //$Id: SeqPGA.h,v 1.3 2006/09/28 13:02:23 fmachefe Exp $
2 //------------------------------------------------------------------------------
3 //
4 // Package : SeqPGA
5 //
6 // Description:
7 //
8 // Author(s) : F. Machefert -
9 // Date : 10 February 2004
10 //
11 //------------------------------------------------------------------------------
12 
13 #ifndef __SEQPGA_H_
14 #define __SEQPGA_H_
15 
16 #include "Element.h"
17 #include "RAM.h"
18 #include "Register.h"
19 #include "UsbFTMLInterface.h"
20 #include "UsbMLI2cBus.h"
21 #include "UsbMLSpiBus.h"
22 
23 class SeqPGA : public Element {
24 public:
25  typedef unsigned long U32;
26  typedef unsigned short U16;
27  typedef unsigned char U8;
28 
29  SeqPGA();
30 
31  virtual ~SeqPGA() {};
32 
36  void help() { info("SeqPGA "+name()+". No help.","SeqPGA::help"); };
37 
43  return StatusCode::SUCCESS;
44  };
45 
54  void reset() {
55  info("FEB reset.");
56  m_resetReg->io()->setU8(0,1);
57  m_resetReg->io()->setU8(1,0);
58  m_resetReg->write();
59  };
60 
61  void resetSpi() {
62  debug("Spi TxRx reset via USb.");
63  m_resetReg->io()->setU8(0,2);
64  m_resetReg->io()->setU8(1,0);
65  // m_resetReg->dump();
66  m_resetReg->write();
67  };
68 
72  void update () {
73  };
74 
76  return m_usb;
77  }
78 
80  return m_usbi2c;
81  }
82 
84  return m_usbspi;
85  }
86 
88  return m_reg;
89  }
90 
91  Register* setupReg() { return m_setupReg; }
92 
95 
97  debug("SeqPGA testSequence.");
98  return m_testSeqReg->write();
99  };
100 
101  StatusCode setExtTrig( bool );
102 
103  bool extTrig();
104 
105  StatusCode setSpiGBTSCA( bool );
106 
107  bool spiGBTSCA();
108 
109  StatusCode setSpiEnable( bool );
110 
111  bool spiEnable();
112 
113  StatusCode setLedEnable( bool );
114 
115  bool ledEnable();
116 
117  /*
118  StatusCode setSpiDataTx( unsigned long int );
119 
120  unsigned long int spiDataTx();
121 
122  StatusCode setSpiDataRx( unsigned long int );
123 
124  unsigned long int spiDataRx();
125  */
126 
127  StatusCode setSpiAdd( unsigned long int );
128 
129  unsigned long int spiAdd();
130 
131  StatusCode setSpiSubAdd( unsigned long int );
132 
133  unsigned long int spiSubAdd();
134 
135  // StatusCode spiRead( );
136 
137  // StatusCode spiWrite();
138 
139  // std::vector<unsigned long int> spiBlockRead (unsigned long int ) ;
140 
141  // StatusCode spiBlockWrite (unsigned long int, std::vector<unsigned long int>);
142 
143  StatusCode spiRead (unsigned int, unsigned int, unsigned int*) ;
144 
145  StatusCode spiWrite (unsigned int, unsigned int, unsigned int*) ;
146 
147  PyObject* spiRead (unsigned int, unsigned int) ;
148 
149  StatusCode spiWrite (unsigned int, unsigned int, PyObject*) ;
150 
151  unsigned int spiRead (unsigned int) ;
152 
153  StatusCode spiWrite (unsigned int, unsigned int);
154 
155  StatusCode setI2cGBTSCA( bool );
156 
157  bool i2cGBTSCA( );
158 
159  StatusCode setI2cBuffer( unsigned long int );
160 
161  unsigned long int i2cBuffer();
162 
163 
164  unsigned long int i2cData();
165 
166  StatusCode setI2cAdd( unsigned long int );
167 
168  unsigned long int i2cAdd();
169 
170  StatusCode setI2cSubAdd( unsigned long int );
171 
172  unsigned long int i2cSubAdd();
173 
174  StatusCode i2cRead( );
175 
177 
178  unsigned long int i2cRead(unsigned long int);
179 
180  StatusCode i2cWrite(unsigned long int , unsigned long int );
181 
183  return m_transmitSpiReg->write();
184  }
185 
186  private:
190 
191  Register *m_reg; // test register
192 
197 
202  // Register *m_subAddSpiReg;
204 
205  unsigned int m_spiSubAdd;
206  unsigned int m_i2cSubAdd;
207  unsigned int m_i2cBuffer;
208 
211 
212 };
213 
214 #endif
215 
void info(std::string mymsg)
Definition: Object.h:38
StatusCode setExtTrig(bool)
Definition: SeqPGA.cpp:142
Definition: RAM.h:16
unsigned char U8
Definition: SeqPGA.h:27
unsigned int m_i2cBuffer
Definition: SeqPGA.h:207
Register * reg()
Definition: SeqPGA.h:87
void update()
Definition: SeqPGA.h:72
Register * m_transmitSpiReg
Definition: SeqPGA.h:203
StatusCode setI2cBuffer(unsigned long int)
Definition: SeqPGA.cpp:460
unsigned int m_i2cSubAdd
Definition: SeqPGA.h:206
Register * m_statusReg
Definition: SeqPGA.h:193
StatusCode setSpiAdd(unsigned long int)
Definition: SeqPGA.cpp:255
virtual StatusCode write()
Definition: IOobject.h:80
StatusCode setU8(unsigned long int, U8)
Definition: IOdata.cpp:43
bool spiEnable()
Definition: SeqPGA.cpp:197
unsigned short U16
Definition: SeqPGA.h:26
StatusCode setSpiEnable(bool)
Definition: SeqPGA.cpp:188
bool ledEnable()
Definition: SeqPGA.cpp:215
unsigned int m_spiSubAdd
Definition: SeqPGA.h:205
StatusCode testSequence()
Definition: SeqPGA.h:96
StatusCode setLedEnable(bool)
Definition: SeqPGA.cpp:206
void reset()
Definition: SeqPGA.h:54
RAM * m_rxSpiFifo
Definition: SeqPGA.h:199
bool extTrig()
Definition: SeqPGA.cpp:151
Register * m_masterI2cReg
Definition: SeqPGA.h:209
UsbMLSpiBus * spi()
Definition: SeqPGA.h:83
Register * m_ctrlSpiReg
Definition: SeqPGA.h:201
unsigned long U32
Definition: SeqPGA.h:25
Register * masterI2cReg()
Definition: SeqPGA.h:93
StatusCode setI2cGBTSCA(bool)
Definition: SeqPGA.cpp:442
Register * m_reg
Definition: SeqPGA.h:191
StatusCode setSpiSubAdd(unsigned long int)
Definition: SeqPGA.cpp:278
void debug(std::string mymsg)
Definition: Object.h:37
StatusCode transmitSpi()
Definition: SeqPGA.h:182
UsbMLI2cBus * i2c()
Definition: SeqPGA.h:79
Register * m_addSpiReg
Definition: SeqPGA.h:200
StatusCode i2cRead()
Definition: SeqPGA.cpp:510
SeqPGA()
Definition: SeqPGA.cpp:29
StatusCode setI2cAdd(unsigned long int)
Definition: SeqPGA.cpp:482
Register * addI2cReg()
Definition: SeqPGA.h:94
Register * m_resetReg
Definition: SeqPGA.h:195
bool i2cGBTSCA()
Definition: SeqPGA.cpp:451
UsbFTMLInterface * m_usb
Definition: SeqPGA.h:187
unsigned long int i2cSubAdd()
Definition: SeqPGA.cpp:502
StatusCode spiWrite(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:321
UsbMLI2cBus * m_usbi2c
Definition: SeqPGA.h:188
UsbMLSpiBus * m_usbspi
Definition: SeqPGA.h:189
unsigned long int i2cData()
Definition: SeqPGA.cpp:473
UsbFTMLInterface * usb()
Definition: SeqPGA.h:75
RAM * m_txSpiFifo
Definition: SeqPGA.h:198
std::string name() const
Definition: Object.h:28
StatusCode i2cWrite()
Definition: SeqPGA.cpp:535
unsigned long int spiAdd()
Definition: SeqPGA.cpp:263
Register * setupReg()
Definition: SeqPGA.h:91
unsigned long int spiSubAdd()
Definition: SeqPGA.cpp:282
Register * m_testSeqReg
Definition: SeqPGA.h:196
Register * m_setupReg
Definition: SeqPGA.h:194
virtual ~SeqPGA()
Definition: SeqPGA.h:31
Register * m_addI2cReg
Definition: SeqPGA.h:210
void resetSpi()
Definition: SeqPGA.h:61
StatusCode setI2cSubAdd(unsigned long int)
Definition: SeqPGA.cpp:497
StatusCode spiRead(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:337
Definition: SeqPGA.h:23
bool spiGBTSCA()
Definition: SeqPGA.cpp:174
void help()
Destructor.
Definition: SeqPGA.h:36
IOdata * io()
Definition: IOobject.h:66
StatusCode init()
Definition: SeqPGA.h:42
unsigned long int i2cBuffer()
Definition: SeqPGA.cpp:465
unsigned long int i2cAdd()
Definition: SeqPGA.cpp:488
StatusCode setSpiGBTSCA(bool)
Definition: SeqPGA.cpp:165