00001
00002
00003 #ifndef SCTPIXELROD_VMEMODULE_H
00004 #define SCTPIXELROD_VMEMODULE_H
00005
00007
00015 #include "../VmeInterface/VmeInterface.h"
00016 #include "processor.h"
00017
00018 namespace SctPixelRod {
00019
00020 class VmeModule {
00021 public:
00022
00023 VmeModule( UINT32 baseAddress, UINT32 mapSize, VmeInterface & ourInterface) :
00024 m_ourInterface(ourInterface) {
00025 m_baseAddress=baseAddress;
00026 m_mapSize=mapSize;
00027 }
00028
00029
00030 virtual ~VmeModule() {};
00031
00032
00033 VmeModule( const VmeModule & rhs);
00034
00035
00036 VmeModule & operator=(const VmeModule &);
00037
00039 void setBaseAddress( UINT32 baseAddress) {
00040 m_baseAddress = baseAddress;
00041 };
00042
00044 UINT32 getBaseAddress() const { return m_baseAddress; };
00045
00047 void setVmeInterface(VmeInterface & ourInterface) { m_ourInterface = ourInterface; };
00048
00050 VmeInterface & getVmeInterface() const { return m_ourInterface; };
00051
00053 void setMapSize(UINT32 mapSize) { m_mapSize = mapSize;};
00054
00056 UINT32 getMapSize() const {return m_mapSize;};
00057
00059 virtual void initialize() = 0;
00060
00062 virtual void reset() = 0;
00063
00065 virtual void status() = 0;
00066
00067 protected:
00068
00070 UINT32 m_baseAddress;
00071
00073 UINT32 m_mapSize;
00074
00076 VmeInterface & m_ourInterface;
00077
00078 };
00079
00080 };
00081 #endif // SCTPIXELROD_VMEMODULE_H