Generic hardware access library
|
Specifies address and access mode for VME items. More...
#include <VMEHardwareAddress.hh>
Public Member Functions | |
VMEHardwareAddress (uint32_t address, uint32_t addressModifier, uint32_t dataWidth) throw ( IllegalValueException ) | |
virtual uint32_t | getAddressModifier () const throw () |
Return the address modifier for VME modules. | |
virtual bool | isIOSpace () const throw (IllegalOperationException) |
Test on the address space. | |
virtual void | print (std::ostream &os=std::cout) const |
The implementation depends on the technology. | |
virtual GeneralHardwareAddress * | clone () const |
This method is needed to make deep copies of AddressTables. | |
Private Member Functions | |
std::string | getAddressSpaceString () const |
A helper for the print function;. | |
Private Attributes | |
uint32_t | addressModifier_ |
Specifies address and access mode for VME items.
A VME access to an item of a VME-module is specified by the the offset to the baseaddress, the width of the data to be transfered and the access context which is specified in the addressModifier. Note that the baseaddress itself is not contained in this class since it is a property of the VME-module and NOT a property of the item to be accessed. (Similarly in the PCIAddress the BAR-Id is contained but NOT the value of the Bar itself.)
Definition at line 35 of file VMEHardwareAddress.hh.
HAL::VMEHardwareAddress::VMEHardwareAddress | ( | uint32_t | address, |
uint32_t | addressModifier, | ||
uint32_t | dataWidth | ||
) | throw ( IllegalValueException ) |
dataWidth | is the data width in bytes. |
Definition at line 6 of file VMEHardwareAddress.cc.
HAL::GeneralHardwareAddress * HAL::VMEHardwareAddress::clone | ( | ) | const [virtual] |
This method is needed to make deep copies of AddressTables.
Implements HAL::GeneralHardwareAddress.
Definition at line 59 of file VMEHardwareAddress.cc.
uint32_t HAL::VMEHardwareAddress::getAddressModifier | ( | ) | const throw () [virtual] |
Return the address modifier for VME modules.
This function throws an Exception for PCI modules since in PCI there are no address modifiers.
Implements HAL::GeneralHardwareAddress.
Definition at line 29 of file VMEHardwareAddress.cc.
std::string HAL::VMEHardwareAddress::getAddressSpaceString | ( | ) | const [private] |
A helper for the print function;.
Definition at line 40 of file VMEHardwareAddress.cc.
bool HAL::VMEHardwareAddress::isIOSpace | ( | ) | const throw (IllegalOperationException) [virtual] |
Test on the address space.
For VME Hardware Addresses this function throws an exception since there is no IO-space in VME.
Implements HAL::GeneralHardwareAddress.
Definition at line 34 of file VMEHardwareAddress.cc.
void HAL::VMEHardwareAddress::print | ( | std::ostream & | os = std::cout | ) | const [virtual] |
The implementation depends on the technology.
Implements HAL::GeneralHardwareAddress.
Definition at line 50 of file VMEHardwareAddress.cc.
uint32_t HAL::VMEHardwareAddress::addressModifier_ [private] |
Reimplemented from HAL::GeneralHardwareAddress.
Definition at line 61 of file VMEHardwareAddress.hh.