Cat
Public Member Functions | List of all members
Register Class Reference

#include <inc/Register.h>

Inheritance diagram for Register:
IOobject Element Hierarchy Object Attrib

Public Member Functions

 Register ()
 Standard constructor. More...
 
virtual ~Register ()
 Destructor. More...
 
StatusCode setBit (unsigned int, bool)
 
bool getBit (unsigned int)
 
- Public Member Functions inherited from IOobject
 IOobject ()
 Standard constructor. More...
 
virtual ~IOobject ()
 Destructor. More...
 
void help ()
 
void reset ()
 
void update ()
 
virtual StatusCode init ()
 
IOdata * io ()
 
virtual StatusCode read ()
 
virtual StatusCode write ()
 
void setAddress (U32 address)
 
U32 address ()
 
void dump ()
 
- Public Member Functions inherited from Element
 Element ()
 Standard constructor. More...
 
virtual ~Element ()
 Destructor. More...
 
void recursiveInitElement ()
 
void recursiveInitCommunications ()
 
StatusCode setConnection (Hierarchy *)
 
Hierarchy * connection ()
 
- Public Member Functions inherited from Hierarchy
 Hierarchy ()
 Standard constructor. More...
 
virtual ~Hierarchy ()
 Destructor. More...
 
void clear ()
 
void setParent (Hierarchy *parent)
 
Hierarchy * parent ()
 
Hierarchy * parent (std::string)
 
Hierarchy * origin ()
 
virtual void addChild (Hierarchy *element)
 
std::vector< Hierarchy * > children ()
 
Hierarchy * child (std::string)
 
Hierarchy * childTyped (std::string)
 
unsigned long numberOfChildren ()
 
bool hasChildren ()
 
void delChild (Hierarchy *)
 
void delChild (std::string)
 
std::string path (std::string=std::string(""))
 
std::string pathTyped (std::string=std::string(""))
 
void tree (std::string indent=std::string(""))
 
void tree ()
 
- Public Member Functions inherited from Object
 Object ()
 Standard constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
std::string name () const
 
std::string type ()
 
unsigned char id ()
 
std::string title ()
 
void msgSvc (int level, std::string msg, std::string name)
 
void msg (std::string mymsg)
 
void verbose (std::string mymsg)
 
void debug (std::string mymsg)
 
void info (std::string mymsg)
 
void warning (std::string mymsg)
 
void error (std::string mymsg)
 
void fatal (std::string mymsg)
 
void msg (std::string mymsg, std::string name)
 
void verbose (std::string mymsg, std::string name)
 
void debug (std::string mymsg, std::string name)
 
void info (std::string mymsg, std::string name)
 
void warning (std::string mymsg, std::string name)
 
void error (std::string mymsg, std::string name)
 
void fatal (std::string mymsg, std::string name)
 
void setName (std::string name)
 
void setType (std::string type)
 
void setId (unsigned char id)
 
void setTitle (std::string title)
 
void setDllName (std::string dllName)
 
std::string dllName ()
 
- Public Member Functions inherited from Attrib
 Attrib ()
 Standard constructor. More...
 
virtual ~Attrib ()
 Destructor. More...
 
bool is (int attribut)
 
void add (int attribut)
 
void remove (int attribut)
 
std::string attributs ()
 

Additional Inherited Members

- Public Types inherited from IOobject
typedef unsigned long U32
 
typedef unsigned short U16
 
typedef unsigned char U8
 
- Public Types inherited from Attrib
enum  Attribut {
  UNDEFINED, PASSIVE, ACTIVE, INTERFACE,
  IO, IODATA, ELEMENT, HARDWARE,
  PROCESSUS, SOFTWARE
}
 
- Protected Attributes inherited from Element
Hierarchy * m_connection
 
- Protected Attributes inherited from Attrib
std::string m_attribString [10]
 

Detailed Description

Author
Date
2006-10-23

Definition at line 16 of file Register.h.

Constructor & Destructor Documentation

◆ Register()

Register::Register ( )

Standard constructor.

Definition at line 18 of file Register.cpp.

References Object::setName(), and Object::setType().

18  {
19  setName("Register");
20  setType("Register");
21 }
void setName(std::string name)
Definition: Object.h:51
void setType(std::string type)
Definition: Object.h:52

◆ ~Register()

Register::~Register ( )
virtual

Destructor.

Definition at line 25 of file Register.cpp.

25  {
26 
27 }

Member Function Documentation

◆ getBit()

bool Register::getBit ( unsigned int  bit)

Definition at line 66 of file Register.cpp.

References IOdata::Byte, shell::data(), IOdata::dataU16(), IOdata::dataU32(), IOdata::dataU8(), IOdata::DWord, Object::error(), StatusCode::FAILURE, IOobject::io(), Object::name(), IOobject::read(), StatusCode::SUCCESS, IOdata::Word, and IOobject::write().

Referenced by BOOST_PYTHON_MODULE(), A3PE::dataReady(), A3PE::enableADC(), A3PE::internalAXSequence(), A3PE::readPatternFifoUsb(), A3PE::readToAXRamUsb(), A3PE::readTriggerFifoUsb(), A3PE::softwareTrigger(), A3PE::writeFromAXRamUsb(), and A3PE::writeStorageFifoUsb().

66  {
67  if (read().isFailure()){
68  error("Cannot read register "+name(),"Register::setBit");
69  return StatusCode::FAILURE;
70  }
71  unsigned int data;
72  if (IOdata::Byte==io()->wordSize()&&0!=io()->dataU8()&&bit<8){
73  data=io()->dataU8()[0];
74  return (data >>bit )& 1 ;
75  }
76  if (IOdata::Word==io()->wordSize()&&0!=io()->dataU16()&&bit<16){
77  data=io()->dataU16()[0];
78  return (data >>bit )& 1 ;
79  }
80  if (IOdata::DWord==io()->wordSize()&&0!=io()->dataU32()&&bit<32){
81  data=io()->dataU32()[0];
82  return (data >>bit )& 1 ;
83  }
84  if (write().isFailure()){
85  error("Cannot write register "+name(),"Register::setBit");
86  return StatusCode::FAILURE;
87  }
88  return StatusCode::SUCCESS;
89 }
virtual StatusCode write()
Definition: IOobject.h:80
U32 * dataU32()
Definition: IOdata.h:222
virtual StatusCode read()
Definition: IOobject.h:73
void error(std::string mymsg)
Definition: Object.h:40
def data(object, stream=None)
Definition: shell.py:150
U16 * dataU16()
Definition: IOdata.h:218
U8 * dataU8()
Definition: IOdata.h:214
std::string name() const
Definition: Object.h:28
IOdata * io()
Definition: IOobject.h:66

◆ setBit()

StatusCode Register::setBit ( unsigned int  bit,
bool  val 
)

Definition at line 32 of file Register.cpp.

References IOdata::Byte, shell::data(), IOdata::dataU16(), IOdata::dataU32(), IOdata::dataU8(), IOdata::DWord, Object::error(), StatusCode::FAILURE, IOobject::io(), Object::name(), IOobject::read(), IOdata::setU16(), IOdata::setU32(), IOdata::setU8(), StatusCode::SUCCESS, IOdata::Word, and IOobject::write().

Referenced by A3PE::acquisition(), BOOST_PYTHON_MODULE(), A3PE::resetAcquisitionWriteCounter(), A3PE::resetFE(), A3PE::resetFromAXRam(), A3PE::resetLatencyCounter(), A3PE::resetPatternFifo(), A3PE::resetSequenceFromToAX(), A3PE::resetSPI(), A3PE::resetStorageFifo(), A3PE::resetToAXRam(), A3PE::resetTriggerFifo(), A3PE::resetUsbPhasers(), A3PE::setAXRamUsb(), A3PE::setEnableADC(), A3PE::setInternalAXSequence(), A3PE::setReadPatternFifoUsb(), A3PE::setReadToAXRamUsb(), A3PE::setReadTriggerFifoUsb(), A3PE::setSoftwareTrigger(), A3PE::setWriteFromAXRamUsb(), A3PE::setWriteStorageFifoUsb(), A3PE::startSequenceAX(), and A3PE::trigger().

32  {
33  if (read().isFailure()){
34  error("Cannot read register "+name(),"Register::setBit");
35  return StatusCode::FAILURE;
36  }
37  unsigned int data;
38  if (IOdata::Byte==io()->wordSize()&&0!=io()->dataU8()&&bit<8){
39  data=io()->dataU8()[0];
40  if (val) data |= (1 << bit);
41  else data &= ~(1 << bit);
42  io()->setU8(0,data);
43  }
44  if (IOdata::Word==io()->wordSize()&&0!=io()->dataU16()&&bit<16){
45  data=io()->dataU16()[0];
46  if (val) data |= (1 << bit);
47  else data &= ~(1 << bit);
48  io()->setU16(0,data);
49  }
50  if (IOdata::DWord==io()->wordSize()&&0!=io()->dataU32()&&bit<32){
51  data=io()->dataU32()[0];
52  if (val) data |= (1 << bit);
53  else data &= ~(1 << bit);
54  io()->setU32(0,data);
55  }
56  if (write().isFailure()){
57  error("Cannot write register "+name(),"Register::setBit");
58  return StatusCode::FAILURE;
59  }
60  return StatusCode::SUCCESS;
61 }
virtual StatusCode write()
Definition: IOobject.h:80
StatusCode setU8(unsigned long int, U8)
Definition: IOdata.cpp:43
StatusCode setU16(unsigned long int, U16)
Definition: IOdata.cpp:60
U32 * dataU32()
Definition: IOdata.h:222
virtual StatusCode read()
Definition: IOobject.h:73
StatusCode setU32(unsigned long int, U32)
Definition: IOdata.cpp:77
void error(std::string mymsg)
Definition: Object.h:40
def data(object, stream=None)
Definition: shell.py:150
U16 * dataU16()
Definition: IOdata.h:218
U8 * dataU8()
Definition: IOdata.h:214
std::string name() const
Definition: Object.h:28
IOdata * io()
Definition: IOobject.h:66

The documentation for this class was generated from the following files: