Generic hardware access library
|
00001 #ifndef __VMEConfigurationSpaceDevice 00002 #define __VMEConfigurationSpaceDevice 00003 00004 #include "hal/VMEDevice.hh" 00005 #include "hal/VMEAddressTable.hh" 00006 00007 namespace HAL { 00008 00036 class VMEConfigurationSpaceDevice : public VMEDevice { 00037 public: 00045 VMEConfigurationSpaceDevice( VMEAddressTable & vmeAddressTable, 00046 VMEBusAdapterInterface & vmeBusAdapter ); 00047 00048 virtual ~VMEConfigurationSpaceDevice(); 00049 00063 void hardwareRead( const GeneralHardwareAddress& vmeAddress, 00064 uint32_t* result, 00065 uint32_t offset = 0 ) const 00066 throw (BusAdapterException); 00067 00068 00080 void hardwareWrite( const GeneralHardwareAddress& vmeAddress, 00081 uint32_t data, 00082 uint32_t offset = 0 ) const 00083 throw (BusAdapterException); 00084 00085 00090 void hardwareReadBlock( const GeneralHardwareAddress& vmeAddress, 00091 uint32_t length, 00092 char *buffer, 00093 HalAddressIncrement addressBehaviour = HAL_DO_INCREMENT, 00094 uint32_t offset = 0 ) const 00095 throw (UnsupportedException); 00096 00101 void hardwareWriteBlock( const GeneralHardwareAddress& vmeAddress, 00102 uint32_t length, 00103 char *buffer, 00104 HalAddressIncrement addressBehaviour = HAL_DO_INCREMENT, 00105 uint32_t offset = 0 ) const 00106 throw (UnsupportedException); 00107 }; 00108 00109 } /* namespace HAL */ 00110 00111 #endif /* __VMEConfigurationSpaceDevice */