Cat
TestSPI.cpp
Go to the documentation of this file.
1 // $Id: TestSPI.cpp,v 1.4 2006/03/16 17:08:23 fmachefe Exp $
2 
3 // Include files
4 #include <ctime>
5 
6 // ROOT include files
7 #include "TRandom.h"
8 #include "TH2D.h"
9 #include "TH1D.h"
10 
11 // local
12 #include "TestSPI.h"
13 
14 //-----------------------------------------------------------------------------
15 // Implementation file for class : TestSPI
16 //
17 // 2004-07-23 : Fr�d�ric Machefert
18 //-----------------------------------------------------------------------------
19 
20 //=============================================================================
21 // Standard constructor, initializes variables
22 //=============================================================================
24 {
25  setName ( "TestSPI" );
26  setType ( "FEB_v1" );
27  setTitle( "SPI interface test" );
28 }
29 
30 //=========================================================================
31 // virtual function intialize
32 //=========================================================================
34  m_board=dynamic_cast<FEB_v1*>( element() );
35 
36  if (!m_board){
37  warning("TestSPI","No FEB_v1 board found. Interrupt." );
38  return false;
39  }
40 
41  m_seqPga = m_board->seqPga();
42  if (!m_seqPga){
43  warning("TestSPI","No SeqPga found. Interrupt." );
44  return false;
45  }
46 
47  m_rnd =new TRandom();
48 
50 
51  addDataStream("Input","Input value");
52  addDataStream("Output","Output value");
53  addDataStream("Errors","Error input value");
54  addDataStream("Errors","Error output value");
55  return StatusCode::SUCCESS;
56 }
57 
58 //=========================================================================
59 // Virtual function execute
60 //=========================================================================
62  int value = (0xFF)*m_rnd->Uniform();
63  dataFill(0, value);
64  m_seqPga->spiWrite(m_subadd, value);
65  int tmp = m_seqPga->spiRead(m_subadd);
66  dataFill(1, tmp);
67  if (tmp!=value){
68  dataFill(2, value);
69  dataFill(3, tmp);
70  }
71  return StatusCode::SUCCESS;
72 }
73 
74 //=========================================================================
75 // Virtual function finalize
76 //=========================================================================
78  return StatusCode::SUCCESS;
79 }
80 
81 //=========================================================================
82 //
83 //=========================================================================
85  m_add = add;
86 }
87 
88 void TestSPI::setSubAddress(int subadd){
89  m_subadd = subadd;
90 }
TestSPI()
Standard constructor.
Definition: TestSPI.cpp:23
void setSubAddress(int)
Definition: TestSPI.cpp:88
StatusCode setSpiAdd(unsigned long int)
Definition: SeqPGA.cpp:255
void add(int attribut)
Definition: Attrib.h:67
void setName(std::string name)
Definition: Object.h:51
virtual StatusCode initialize()
Destructor.
Definition: TestSPI.cpp:33
void addDataStream(std::string name, std::string title)
Definition: Processus.h:153
FEB_v1 * m_board
Definition: TestSPI.h:37
int m_add
Definition: TestSPI.h:43
void setType(std::string type)
Definition: Object.h:52
TRandom * m_rnd
Definition: TestSPI.h:42
Definition: FEB_v1.h:21
int m_subadd
Definition: TestSPI.h:44
void setTitle(std::string title)
Definition: Object.h:54
StatusCode spiWrite(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:321
virtual StatusCode finalize()
Definition: TestSPI.cpp:77
void setAddress(int)
Definition: TestSPI.cpp:84
SeqPGA * seqPga()
Definition: FEB_v1.h:63
SeqPGA * m_seqPga
Definition: TestSPI.h:41
Element * element()
Definition: Processus.h:231
virtual StatusCode execute()
Definition: TestSPI.cpp:61
StatusCode dataFill(int i, double val)
Definition: Processus.h:175
void warning(std::string mymsg)
Definition: Object.h:39
StatusCode spiRead(unsigned int, unsigned int, unsigned int *)
Definition: SeqPGA.cpp:337