Cat
ICPhaser.cpp
Go to the documentation of this file.
1 //$Id: ICPhaser.cpp,v 1.9 2006/09/28 13:02:24 fmachefe Exp $
2 //------------------------------------------------------------------------------
3 //
4 // Package : ICPhaser
5 //
6 // Description:
7 //
8 // Author(s) :
9 // Date :
10 //
11 //------------------------------------------------------------------------------
12 
13 // local include file
14 #include "ICPhaser.h"
15 
18  U8* buffer=m_regConfig->io()->dataU8();
19  buffer[2]=((m_regConfig->io()->subAddress())&0x1F)+(128);
20  buffer[1]=0;
21  buffer[0]=0;
22  if (m_regConfig->read().isFailure()){
23  warning("ICPhaser configuration register read failure.","ICPhaser::read");
24  }
25  else {
26  U8* buffer=m_regConfig->io()->dataU8();
27  m_phase[0] = buffer[0];
28  m_phase[1] = buffer[1];
29  debug("reading "+name()+" phases : "+
30  itos(m_phase[0])+" "+
31  itos(m_phase[1])+" "+
32  itos(m_phase[2])+" "+
33  itos(m_phase[3]),
34  "ICPhaser::read");
35  }
36 }
37 
40  U8* buffer=m_regStatus->io()->dataU8();
41  buffer[1]=((m_regStatus->io()->subAddress())&0x1F)+(160);
42  buffer[0]=0;
43  if (m_regStatus->read().isFailure()){
44  warning("ICPhaser status register read failure.","ICPhaser::read");
45  }
46  m_regStatus->io()->dump(1);
47 }
48 
50  U8* buffer=m_regConfig->io()->dataU8();
51  buffer[2]=64;
52  buffer[1]=0;
53  buffer[0]=0;
54  if (m_regConfig->write().isFailure()){
55  warning("ICPhaser configuration register write failure. Cannot reset ICPhaser",
56  "ICPhaser::write");
57  }
58 }
59 
61  U8* buffer=m_regConfig->io()->dataU8();
62  buffer[2]=(m_regConfig->io()->subAddress())&0x1F;
63  buffer[1]=m_phase[0]&0xff;
64  buffer[0]=m_phase[1]&0xff;
65  // phase[2] and phase[3] not implemented - only for test purpose
66  debug("Setting "+name()+" phases : "+itos(m_phase[0])+" "+
67  itos(m_phase[1])+" "+itos(m_phase[2])+" "+itos(m_phase[3]),
68  "ICPhaser::write");
69  m_regConfig->io()->dump(0);
70  if (m_regConfig->write().isFailure()){
71  warning("ICPhaser configuration register write failure.",
72  "ICPhaser::write");
73  }
74 }
std::string itos(int)
Definition: Tools.cpp:46
void reset()
Definition: ICPhaser.cpp:49
void read()
Definition: ICPhaser.cpp:16
bool isFailure() const
Definition: StatusCode.h:68
void status()
Definition: ICPhaser.cpp:38
unsigned char m_phase[4]
Definition: ICPhaser.h:139
virtual StatusCode write()
Definition: IOobject.h:80
void dump(unsigned int printout=0)
Definition: IOdata.cpp:94
void write()
Definition: ICPhaser.cpp:60
virtual StatusCode read()
Definition: IOobject.h:73
void debug(std::string mymsg)
Definition: Object.h:37
StatusCode setAddress(U32 address)
Definition: IOdata.h:51
unsigned char U8
Definition: ICPhaser.h:23
U8 * dataU8()
Definition: IOdata.h:214
std::string name() const
Definition: Object.h:28
U8 address()
Definition: ICPhaser.h:133
Register * m_regConfig
Definition: ICPhaser.h:140
U32 subAddress()
Definition: IOdata.h:89
void warning(std::string mymsg)
Definition: Object.h:39
Register * m_regStatus
Definition: ICPhaser.h:141
IOdata * io()
Definition: IOobject.h:66