Cat
Classes | Public Member Functions | Private Attributes | List of all members
Proto40MHz_v1 Class Reference

#include <inc/Proto40MHz_v1.h>

Inheritance diagram for Proto40MHz_v1:
Element Hierarchy Object Attrib

Classes

class  Proto40MHz_v1
 

Public Member Functions

 Proto40MHz_v1 ()
 Standard constructor. More...
 
virtual ~Proto40MHz_v1 ()
 Destructor. More...
 
void help ()
 
StatusCode init ()
 
void reset ()
 
void update ()
 
UsbFTInterfaceusb ()
 
Phaserphaser0 ()
 
Phaserphaser1 ()
 
Phaserphaser2 ()
 
A3PEa3pe ()
 
- 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 ()
 

Private Attributes

UsbFTInterfacem_usb
 
UsbI2cBusm_usbi2c
 
UsbSpiBusm_usbspi
 
Phaserm_phaser0
 
Phaserm_phaser1
 
Phaserm_phaser2
 
Registerm_reg
 
A3PEm_a3pe
 

Additional Inherited Members

- 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 21 of file Proto40MHz_v1.h.

Constructor & Destructor Documentation

◆ Proto40MHz_v1()

Standard constructor.

Definition at line 17 of file Proto40MHz_v1.cpp.

References Attrib::add(), Hierarchy::addChild(), IOdata::defDataU8(), Attrib::ELEMENT, Attrib::HARDWARE, IOobject::io(), m_a3pe, m_phaser0, m_phaser1, m_phaser2, m_reg, m_usb, m_usbi2c, m_usbspi, Phaser::reg(), UsbI2cBus::regAddress(), UsbI2cBus::regData(), IOobject::setAddress(), Object::setName(), and Object::setType().

17  {
18  setName("Proto40MHz_v1");
19  setType("Proto40MHz_v1");
21 
22  m_usb = new UsbFTInterface();
23  m_usbi2c=new UsbI2cBus();
24  m_phaser0 = new Phaser();
25  m_phaser1 = new Phaser();
26  m_phaser2 = new Phaser();
27 
28  m_usb->setName("Usb");
29  m_usbi2c->setName("UsbI2c");
30  m_phaser0->setName("Phaser0");
31  m_phaser1->setName("Phaser1");
32  m_phaser2->setName("Phaser2");
33 
34  addChild(m_usb);
40  m_usbi2c->regData() ->setAddress(5);
41 
42  m_phaser0->reg()->setAddress(65);
43  m_phaser1->reg()->setAddress(66);
44  m_phaser2->reg()->setAddress(68);
45 
46  m_usbspi=new UsbSpiBus();
47  m_usbspi->setName("UsbSpi");
49  m_reg=new Register();
50  m_reg->io()->defDataU8(4);
51  m_reg->setName("SpiReg");
52  m_reg->setAddress(8);
54 
55  m_a3pe=new A3PE();
56  m_a3pe->setName("A3PE");
58 }
Register * regAddress()
Definition: UsbI2cBus.h:54
Definition: Phaser.h:19
Phaser * m_phaser0
Definition: Proto40MHz_v1.h:84
void add(int attribut)
Definition: Attrib.h:67
void setName(std::string name)
Definition: Object.h:51
Register * regData()
Definition: UsbI2cBus.h:58
Register * m_reg
Definition: Proto40MHz_v1.h:87
Register * reg()
Definition: Phaser.h:101
Definition: A3PE.h:20
Phaser * m_phaser2
Definition: Proto40MHz_v1.h:86
void setType(std::string type)
Definition: Object.h:52
UsbFTInterface * m_usb
Definition: Proto40MHz_v1.h:81
void setAddress(U32 address)
Definition: IOobject.h:84
virtual void addChild(Hierarchy *element)
Definition: Hierarchy.cpp:83
UsbI2cBus * m_usbi2c
Definition: Proto40MHz_v1.h:82
UsbSpiBus * m_usbspi
Definition: Proto40MHz_v1.h:83
Phaser * m_phaser1
Definition: Proto40MHz_v1.h:85
void defDataU8(unsigned long size)
Definition: IOdata.h:179
IOdata * io()
Definition: IOobject.h:66

◆ ~Proto40MHz_v1()

Proto40MHz_v1::~Proto40MHz_v1 ( )
virtual

Destructor.

Definition at line 62 of file Proto40MHz_v1.cpp.

62  {
63 
64 }

Member Function Documentation

◆ a3pe()

A3PE* Proto40MHz_v1::a3pe ( )
inline

Definition at line 74 of file Proto40MHz_v1.h.

References m_a3pe.

Referenced by BOOST_PYTHON_MODULE(), StorageFifo::initialize(), StorageFifoAcquisition::initialize(), A3PE_BitFlip::initialize(), Acquisition::initialize(), Proto40MHz_v1.Proto40MHz_v1::isReady(), Proto40MHz_v1.Proto40MHz_v1::onAcquisition(), Proto40MHz_v1.Proto40MHz_v1::onAcquisitionReset(), Proto40MHz_v1.Proto40MHz_v1::onapplyaxlatency(), Proto40MHz_v1.Proto40MHz_v1::onapplyaxlength(), Proto40MHz_v1.Proto40MHz_v1::onapplyCh(), Proto40MHz_v1.Proto40MHz_v1::onapplyclockdiv(), Proto40MHz_v1.Proto40MHz_v1::onapplydelay(), Proto40MHz_v1.Proto40MHz_v1::onapplyfifodepth(), Proto40MHz_v1.Proto40MHz_v1::onapplyfreq(), Proto40MHz_v1.Proto40MHz_v1::onapplynumber(), Proto40MHz_v1.Proto40MHz_v1::onapplytrig(), Proto40MHz_v1.Proto40MHz_v1::onEnableStorage(), Proto40MHz_v1.Proto40MHz_v1::onFifoRAZ(), Proto40MHz_v1.Proto40MHz_v1::onFifoReset(), Proto40MHz_v1.Proto40MHz_v1::onFifoWrite(), Proto40MHz_v1.Proto40MHz_v1::onFromAXPtrRaz(), Proto40MHz_v1.Proto40MHz_v1::onFromAXRAZ(), Proto40MHz_v1.Proto40MHz_v1::onFromAXWrite(), Proto40MHz_v1.Proto40MHz_v1::onLatencyReset(), Proto40MHz_v1.Proto40MHz_v1::onModeAX(), Proto40MHz_v1.Proto40MHz_v1::onModeCh(), Proto40MHz_v1.Proto40MHz_v1::onPatternRAZ(), Proto40MHz_v1.Proto40MHz_v1::onPatternWrite(), Proto40MHz_v1.Proto40MHz_v1::onPipeline(), Proto40MHz_v1.Proto40MHz_v1::onReadFifo(), Proto40MHz_v1.Proto40MHz_v1::onReadFromAX(), Proto40MHz_v1.Proto40MHz_v1::onReadPattern(), Proto40MHz_v1.Proto40MHz_v1::onReadToAX(), Proto40MHz_v1.Proto40MHz_v1::onReadTrigger(), Proto40MHz_v1.Proto40MHz_v1::onResetFE(), Proto40MHz_v1.Proto40MHz_v1::onResetSPI(), Proto40MHz_v1.Proto40MHz_v1::onSoftTrig(), Proto40MHz_v1.Proto40MHz_v1::onStartSequenceAX(), Proto40MHz_v1.Proto40MHz_v1::onToAXPtrRaz(), Proto40MHz_v1.Proto40MHz_v1::onToAXRAZ(), Proto40MHz_v1.Proto40MHz_v1::onToAXWrite(), Proto40MHz_v1.Proto40MHz_v1::onTrigger(), Proto40MHz_v1.Proto40MHz_v1::onTriggerRAZ(), Proto40MHz_v1.Proto40MHz_v1::onTriggerWrite(), Proto40MHz_v1.Proto40MHz_v1::onUsbPhasersReset(), reset(), and Proto40MHz_v1.Proto40MHz_v1::update().

74  {
75  return m_a3pe;
76  }

◆ help()

void Proto40MHz_v1::help ( )
inlinevirtual

printout help for the element

Implements Element.

Definition at line 31 of file Proto40MHz_v1.h.

References Object::info(), and Object::name().

31 { info("Proto40MHz_v1 "+name()+". No help.","Proto40MHz_v1::help"); };
void info(std::string mymsg)
Definition: Object.h:38
std::string name() const
Definition: Object.h:28

◆ init()

StatusCode Proto40MHz_v1::init ( )
inlinevirtual

init the component

Returns
void

Implements Element.

Definition at line 37 of file Proto40MHz_v1.h.

References StatusCode::SUCCESS.

37  {
38  return StatusCode::SUCCESS;
39  };

◆ phaser0()

Phaser* Proto40MHz_v1::phaser0 ( )
inline

Definition at line 62 of file Proto40MHz_v1.h.

References m_phaser0.

Referenced by BOOST_PYTHON_MODULE(), and Proto40MHz_v1.Proto40MHz_v1::onPhaser0().

62  {
63  return m_phaser0;
64  }
Phaser * m_phaser0
Definition: Proto40MHz_v1.h:84

◆ phaser1()

Phaser* Proto40MHz_v1::phaser1 ( )
inline

Definition at line 66 of file Proto40MHz_v1.h.

References m_phaser1.

Referenced by BOOST_PYTHON_MODULE(), and Proto40MHz_v1.Proto40MHz_v1::onPhaser1().

66  {
67  return m_phaser1;
68  }
Phaser * m_phaser1
Definition: Proto40MHz_v1.h:85

◆ phaser2()

Phaser* Proto40MHz_v1::phaser2 ( )
inline

Definition at line 70 of file Proto40MHz_v1.h.

References m_phaser2.

Referenced by BOOST_PYTHON_MODULE(), and Proto40MHz_v1.Proto40MHz_v1::onPhaser2().

70  {
71  return m_phaser2;
72  }
Phaser * m_phaser2
Definition: Proto40MHz_v1.h:86

◆ reset()

void Proto40MHz_v1::reset ( )
inlinevirtual

Resets the Element so that is is in a standard and safe situation. Different from Element::init which configure the Element. Element::reset() is more an Emergency pull. It is often/usually called by the recursiveInitElement method at the start of the program.

Implements Element.

Definition at line 48 of file Proto40MHz_v1.h.

References a3pe(), Object::debug(), Object::name(), and A3PE::reset().

Referenced by Proto40MHz_v1.Proto40MHz_v1::onGlobalReset().

48  {
49  debug("Proto40MHz_v1 "+name()+" reset.","Proto40MHz_v1::reset");
50  a3pe()->reset();
51  };
A3PE * a3pe()
Definition: Proto40MHz_v1.h:74
void reset()
Definition: A3PE.h:225
void debug(std::string mymsg)
Definition: Object.h:37
std::string name() const
Definition: Object.h:28

◆ update()

void Proto40MHz_v1::update ( )
inlinevirtual

◆ usb()

UsbFTInterface* Proto40MHz_v1::usb ( )
inline

Definition at line 58 of file Proto40MHz_v1.h.

References m_usb.

Referenced by BOOST_PYTHON_MODULE().

58  {
59  return m_usb;
60  }
UsbFTInterface * m_usb
Definition: Proto40MHz_v1.h:81

Member Data Documentation

◆ m_a3pe

A3PE* Proto40MHz_v1::m_a3pe
private

Definition at line 88 of file Proto40MHz_v1.h.

Referenced by a3pe(), and Proto40MHz_v1().

◆ m_phaser0

Phaser* Proto40MHz_v1::m_phaser0
private

Definition at line 84 of file Proto40MHz_v1.h.

Referenced by phaser0(), and Proto40MHz_v1().

◆ m_phaser1

Phaser* Proto40MHz_v1::m_phaser1
private

Definition at line 85 of file Proto40MHz_v1.h.

Referenced by phaser1(), and Proto40MHz_v1().

◆ m_phaser2

Phaser* Proto40MHz_v1::m_phaser2
private

Definition at line 86 of file Proto40MHz_v1.h.

Referenced by phaser2(), and Proto40MHz_v1().

◆ m_reg

Register* Proto40MHz_v1::m_reg
private

Definition at line 87 of file Proto40MHz_v1.h.

Referenced by Proto40MHz_v1().

◆ m_usb

UsbFTInterface* Proto40MHz_v1::m_usb
private

Definition at line 81 of file Proto40MHz_v1.h.

Referenced by Proto40MHz_v1(), and usb().

◆ m_usbi2c

UsbI2cBus* Proto40MHz_v1::m_usbi2c
private

Definition at line 82 of file Proto40MHz_v1.h.

Referenced by Proto40MHz_v1().

◆ m_usbspi

UsbSpiBus* Proto40MHz_v1::m_usbspi
private

Definition at line 83 of file Proto40MHz_v1.h.

Referenced by Proto40MHz_v1().


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