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 ()
 
IOdataio ()
 
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 *)
 
Hierarchyconnection ()
 
- Public Member Functions inherited from Hierarchy
 Hierarchy ()
 Standard constructor. More...
 
virtual ~Hierarchy ()
 Destructor. More...
 
void clear ()
 
void setParent (Hierarchy *parent)
 
Hierarchyparent ()
 
Hierarchyparent (std::string)
 
Hierarchyorigin ()
 
virtual void addChild (Hierarchy *element)
 
std::vector< Hierarchy * > children ()
 
Hierarchychild (std::string)
 
HierarchychildTyped (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
Hierarchym_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: