Generic hardware access library
HAL::VME64xHardwareAddress Class Reference

Specifies address and access mode for VME64x items. More...

#include <VME64xHardwareAddress.hh>

Inheritance diagram for HAL::VME64xHardwareAddress:
HAL::GeneralHardwareAddress

List of all members.

Public Member Functions

 VME64xHardwareAddress (uint32_t address, enum AddressSpace addressSpace, uint32_t mappedWindowId, uint32_t width) 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.
void setWindowConfiguration (uint32_t AM, uint32_t dataWdith) throw ( IllegalValueException )
 Set the address modifier and the data access width.
virtual GeneralHardwareAddressclone () 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_

Detailed Description

Specifies address and access mode for VME64x items.

A VME64x access to an item of a VME64x-module is specified by the the offset to the baseaddress, and the mapped WindowId. Note that the baseaddress itself is not contained in this class since it is a property of the VME64x-function and NOT a property of the item to be accessed. (Similarly in the PCIHardwareAddress the BAR-Id is contained but NOT the value of the Bar itself.

See also:
GeneralHardwareAddress, PCIHardwareAddress
Author:
Christoph Schwick
Revision:
1.1
Date:
2007/03/05 18:02:10

Definition at line 34 of file VME64xHardwareAddress.hh.


Constructor & Destructor Documentation

HAL::VME64xHardwareAddress::VME64xHardwareAddress ( uint32_t  address,
enum AddressSpace  addressSpace,
uint32_t  mappedWindowId,
uint32_t  width 
) throw ( IllegalValueException )
Parameters:
mappedWindowIdhas a default value of 0 since in case the addressSpace is the configuration space, the value of this parameter is irrelevant.
widthis only used for configuration space items. It has no meaning for memory space items.

Definition at line 5 of file VME64xHardwareAddress.cc.


Member Function Documentation

This method is needed to make deep copies of AddressTables.

Implements HAL::GeneralHardwareAddress.

Definition at line 91 of file VME64xHardwareAddress.cc.

uint32_t HAL::VME64xHardwareAddress::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 57 of file VME64xHardwareAddress.cc.

std::string HAL::VME64xHardwareAddress::getAddressSpaceString ( ) const [private]

A helper for the print function;.

Definition at line 68 of file VME64xHardwareAddress.cc.

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 62 of file VME64xHardwareAddress.cc.

void HAL::VME64xHardwareAddress::print ( std::ostream &  os = std::cout) const [virtual]

The implementation depends on the technology.

Implements HAL::GeneralHardwareAddress.

Definition at line 78 of file VME64xHardwareAddress.cc.

void HAL::VME64xHardwareAddress::setWindowConfiguration ( uint32_t  AM,
uint32_t  dataWdith 
) throw ( IllegalValueException )

Set the address modifier and the data access width.

This function is specific to VME64x, since these paramenters are set during configuration of the VMECrate. For standard VME modules the parameters are contained in the addressTable.

Definition at line 33 of file VME64xHardwareAddress.cc.


Member Data Documentation

Reimplemented from HAL::GeneralHardwareAddress.

Definition at line 73 of file VME64xHardwareAddress.hh.


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