Generic hardware access library
|
Representation of a mapped Address space window for a VME module. More...
#include <VME64xMappedWindow.hh>
Public Member Functions | |
VME64xMappedWindow (uint32_t slotId, uint32_t functionId, uint32_t mappedWindowId, VMEConfigurationSpaceHandler *vmeConfigurationSpaceHandler) throw ( NoSuchItemException, IllegalOperationException, BusAdapterException, UnsupportedException, IllegalValueException ) | |
VME64xMappedWindow (uint32_t slotId_, uint32_t baseAddress, uint32_t addressRank) | |
The constructor for standard VME modules. | |
virtual | ~VME64xMappedWindow () |
uint32_t | getDataAccessWidth () const |
uint32_t | getAddressRank () const |
uint32_t | getAM () const |
uint32_t | getMappedWindowId () const |
uint32_t | getFunctionId () const |
uint32_t | getSlotId () const |
uint32_t | getBaseaddress () const |
const std::list< uint32_t > & | getSortedAMCAPList () const |
bool | isConfigured () const |
bool | isImplemented () const |
bool | hasAnotherWindow () const |
bool | canA32 () const |
bool | canA24 () const |
bool | canA16 () const |
void | setADER (uint32_t baseAddress, uint32_t AM) throw ( NoSuchItemException, IllegalOperationException, BusAdapterException ) |
Set the ADER register with a baseAddress and a AM. | |
Private Member Functions | |
void | configFromHardware () throw ( NoSuchItemException, IllegalOperationException, UnsupportedException, BusAdapterException ) |
Read out the contents of a configured Mapped Window from the Hardware and store the contents in the internal data. | |
void | setAddressCapability (uint32_t AM) |
Private Attributes | |
uint32_t | slotId_ |
uint32_t | functionId_ |
uint32_t | mappedWindowId_ |
VMEConfigurationSpaceHandler * | vmeConfigurationSpaceHandlerRef_ |
std::list< uint32_t > | AMCAP_ |
uint32_t | AM_ |
uint32_t | baseaddress_ |
uint32_t | ADEM_ |
uint32_t | addressRank_ |
uint32_t | DAWPR_ |
uint32_t | dataAccessWidth_ |
uint32_t | ADER_ |
bool | implemented_ |
bool | configured_ |
bool | canA16_ |
bool | canA24_ |
bool | canA32_ |
Representation of a mapped Address space window for a VME module.
The software implements in the following way the concept of the VME function and the Mapped Window: A function has one or more mapped windows. All mapped windows of a function refer to the same baseaddress and are distinguished by the AM and the access width. In the AddressTable items are specified by the Mapped window ID (0..7) or the Address Space. The AM and the baseaddress the window are defined during the configuration. Therefore the Module Designer can force a specific AM to be used by offering only that AM in the AMCAP for a given function.
Definition at line 43 of file VME64xMappedWindow.hh.
HAL::VME64xMappedWindow::VME64xMappedWindow | ( | uint32_t | slotId, |
uint32_t | functionId, | ||
uint32_t | mappedWindowId, | ||
HAL::VMEConfigurationSpaceHandler * | vmeConfigurationSpaceHandler | ||
) | throw ( NoSuchItemException, IllegalOperationException, BusAdapterException, UnsupportedException, IllegalValueException ) |
Definition at line 5 of file VME64xMappedWindow.cc.
HAL::VME64xMappedWindow::VME64xMappedWindow | ( | uint32_t | slotId_, |
uint32_t | baseAddress, | ||
uint32_t | addressRank | ||
) |
The constructor for standard VME modules.
These modules have exaclty one mapped window. The mapping is defined by some hardwired setting on the board and cannot be configured dynamically.
Definition at line 142 of file VME64xMappedWindow.cc.
HAL::VME64xMappedWindow::~VME64xMappedWindow | ( | ) | [virtual] |
Definition at line 164 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::canA16 | ( | ) | const |
Definition at line 210 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::canA24 | ( | ) | const |
Definition at line 206 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::canA32 | ( | ) | const |
Definition at line 202 of file VME64xMappedWindow.cc.
void HAL::VME64xMappedWindow::configFromHardware | ( | ) | throw ( NoSuchItemException, IllegalOperationException, UnsupportedException, BusAdapterException ) [private] |
Read out the contents of a configured Mapped Window from the Hardware and store the contents in the internal data.
Definition at line 234 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getAddressRank | ( | ) | const |
Definition at line 182 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getAM | ( | ) | const |
Definition at line 198 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getBaseaddress | ( | ) | const |
Definition at line 214 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getDataAccessWidth | ( | ) | const |
Definition at line 178 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getFunctionId | ( | ) | const |
Definition at line 190 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getMappedWindowId | ( | ) | const |
Definition at line 186 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::getSlotId | ( | ) | const |
Definition at line 194 of file VME64xMappedWindow.cc.
const std::list< uint32_t > & HAL::VME64xMappedWindow::getSortedAMCAPList | ( | ) | const |
Definition at line 230 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::hasAnotherWindow | ( | ) | const |
Definition at line 226 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::isConfigured | ( | ) | const |
Definition at line 218 of file VME64xMappedWindow.cc.
bool HAL::VME64xMappedWindow::isImplemented | ( | ) | const |
Definition at line 222 of file VME64xMappedWindow.cc.
void HAL::VME64xMappedWindow::setAddressCapability | ( | uint32_t | AM | ) | [private] |
Definition at line 167 of file VME64xMappedWindow.cc.
void HAL::VME64xMappedWindow::setADER | ( | uint32_t | baseAddress, |
uint32_t | AM | ||
) | throw ( NoSuchItemException, IllegalOperationException, BusAdapterException ) |
Set the ADER register with a baseAddress and a AM.
In case this window is for a standard VME module without configuration space, an IllegalOperationException is thrown.
Definition at line 263 of file VME64xMappedWindow.cc.
uint32_t HAL::VME64xMappedWindow::addressRank_ [private] |
Definition at line 121 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::ADEM_ [private] |
Definition at line 120 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::ADER_ [private] |
Definition at line 126 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::AM_ [private] |
Definition at line 117 of file VME64xMappedWindow.hh.
std::list<uint32_t> HAL::VME64xMappedWindow::AMCAP_ [private] |
Definition at line 116 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::baseaddress_ [private] |
Definition at line 118 of file VME64xMappedWindow.hh.
bool HAL::VME64xMappedWindow::canA16_ [private] |
Definition at line 131 of file VME64xMappedWindow.hh.
bool HAL::VME64xMappedWindow::canA24_ [private] |
Definition at line 132 of file VME64xMappedWindow.hh.
bool HAL::VME64xMappedWindow::canA32_ [private] |
Definition at line 133 of file VME64xMappedWindow.hh.
bool HAL::VME64xMappedWindow::configured_ [private] |
Definition at line 129 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::dataAccessWidth_ [private] |
Definition at line 124 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::DAWPR_ [private] |
Definition at line 123 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::functionId_ [private] |
Definition at line 112 of file VME64xMappedWindow.hh.
bool HAL::VME64xMappedWindow::implemented_ [private] |
Definition at line 128 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::mappedWindowId_ [private] |
Definition at line 113 of file VME64xMappedWindow.hh.
uint32_t HAL::VME64xMappedWindow::slotId_ [private] |
Definition at line 111 of file VME64xMappedWindow.hh.
Definition at line 114 of file VME64xMappedWindow.hh.