Cat
Phaser.h
Go to the documentation of this file.
1 //$Id: Phaser.h,v 1.3 2006/09/28 13:02:23 fmachefe Exp $
2 //------------------------------------------------------------------------------
3 //
4 // Package : Phaser
5 //
6 // Description:
7 //
8 // Author(s) : F. Machefert -
9 // Date : 10 February 2004
10 //
11 //------------------------------------------------------------------------------
12 
13 #ifndef __PHASER_H_
14 #define __PHASER_H_
15 
16 #include "Element.h"
17 #include "Register.h"
18 
19 class Phaser : public Element {
20 public:
21  typedef unsigned long U32;
22  typedef unsigned short U16;
23  typedef unsigned char U8;
24  Phaser(){
25  setType("Phaser");
26  setId(0);
28  debug("Phaser built.","Phaser::Phaser");
29  m_phase[0]=99;
30  m_phase[1]=99;
31  m_phase[2]=99;
32  m_phase[3]=99;
33  m_reg=new Register();
34  m_reg->io()->defDataU8(3);
35  addChild(m_reg);
36  }
37 
39 // delete m_reg;
40  }
41 
42  void setPhase(unsigned char channel, unsigned char value){
43  info("Set Phase "+itos(channel)+" to "+itos(value),"Phaser::setPhase");
44  m_phase[channel]=value;
45  write();
46  }
47 
48  void setPhase(
49  unsigned char ch0,
50  unsigned char ch1,
51  unsigned char ch2,
52  unsigned char ch3
53  ){
54  m_phase[0]=ch0;
55  m_phase[1]=ch1;
56  m_phase[2]=ch2;
57  m_phase[3]=ch3;
58  info("Set Phases to "+itos(ch0)+" "+itos(ch1)+" "
59  +itos(ch2)+" "+itos(ch3));
60  write();
61  }
62 
63  unsigned int phase(unsigned int ch){
64  read() ;
65  return m_phase[ch];
66  }
67 
68  void read();
69  void write();
70 
74  void help() { info("Phaser "+name()+". No help.","Phaser::help"); };
75 
81  return StatusCode::SUCCESS;
82  };
83 
91  void reset() {
92  };
93 
97  void update () {
98  read();
99  };
100 
102  return m_reg;
103  }
104 
105 private:
106  unsigned char m_address;
107  unsigned char m_phase[4];
109 };
110 
111 #endif
112 
void info(std::string mymsg)
Definition: Object.h:38
std::string itos(int)
Definition: Tools.cpp:46
~Phaser()
Definition: Phaser.h:38
Definition: Phaser.h:19
Register * m_reg
Definition: Phaser.h:108
unsigned char m_phase[4]
Definition: Phaser.h:107
void setPhase(unsigned char channel, unsigned char value)
Definition: Phaser.h:42
void reset()
Definition: Phaser.h:91
void add(int attribut)
Definition: Attrib.h:67
unsigned short U16
Definition: Phaser.h:22
Register * reg()
Definition: Phaser.h:101
StatusCode init()
Definition: Phaser.h:80
void setType(std::string type)
Definition: Object.h:52
void setId(unsigned char id)
Definition: Object.h:53
void debug(std::string mymsg)
Definition: Object.h:37
unsigned long U32
Definition: Phaser.h:21
Phaser()
Definition: Phaser.h:24
void help()
Definition: Phaser.h:74
std::string name() const
Definition: Object.h:28
void update()
Definition: Phaser.h:97
virtual void addChild(Hierarchy *element)
Definition: Hierarchy.cpp:83
void setPhase(unsigned char ch0, unsigned char ch1, unsigned char ch2, unsigned char ch3)
Definition: Phaser.h:48
void defDataU8(unsigned long size)
Definition: IOdata.h:179
unsigned int phase(unsigned int ch)
Definition: Phaser.h:63
unsigned char U8
Definition: Phaser.h:23
void read()
Definition: Phaser.cpp:23
unsigned char m_address
Definition: Phaser.h:106
IOdata * io()
Definition: IOobject.h:66
void write()
Definition: Phaser.cpp:46