21 template <
typename T> T*
var() {
return static_cast<T*
>(
m_var); }
31 bool writable_,
isisU32_t* access_reg_,
unsigned access_bit_,
bool wrap_,
32 bool sixteen_bit_access_,
FaultMode fault_mode_) :
39 template <
class DAECardPolicy>
54 virtual void simulate(
int delay) = 0;
61 bool writable,
isisU32_t* access_reg,
unsigned access_bit,
bool wrap,
62 bool sixteen_bit_access,
FaultMode fault_mode);
64 bool writable,
isisU32_t* access_reg,
unsigned access_bit,
bool wrap,
65 bool sixteen_bit_access,
FaultMode fault_mode);
67 bool writable,
isisU32_t* access_reg,
unsigned access_bit,
bool wrap,
68 bool sixteen_bit_access,
FaultMode fault_mode) {
return 0; }
70 bool writable,
isisU32_t* access_reg,
unsigned access_bit,
bool wrap,
71 bool sixteen_bit_access,
FaultMode fault_mode) {
return 0; }
uint32_t TransferProps
combination of TransferProp values
static void increment2(int value, isisU32_t &low, isisU32_t &high)
int read32(ISISVME::TransferProps props, unsigned long address, isisU32_t *data32, long nitems, DAEstatus &status)
int write32(ISISVME::TransferProps props, unsigned long address, isisU32_t *data32, long nitems, DAEstatus &status)
int read16(ISISVME::TransferProps props, unsigned long address, isisU16_t *data16, long nitems, DAEstatus &status)
virtual void printStatus(std::ostream &os)=0
virtual void updateCardAfterWrite(DAEstatus &status)=0
static void increment32(int value, isisU32_t &low, isisU32_t &high)
static void increment3(int value, isisU32_t &low, isisU32_t &middle, isisU32_t &high)
int addMapping(ISISVME::TransferProps props, isisU32_t address, int n, isisU32_t *var, const char *name, bool readable, bool writable, isisU32_t *access_reg, unsigned access_bit, bool wrap, bool sixteen_bit_access, FaultMode fault_mode)
int addMapping(ISISVME::TransferProps props, const unused_t &address, int n, isisU32_t *var, const char *name, bool readable, bool writable, isisU32_t *access_reg, unsigned access_bit, bool wrap, bool sixteen_bit_access, FaultMode fault_mode)
static void increment(int value, isisU32_t &low)
SIMDAE2Card(int position, VMESimulationIface *vme, isisU32_t firmware, bool fw32, FaultMode fault_mode, DAEstatus &status)
int addMapping(ISISVME::TransferProps props, const unused_t &address, int n, uint64_t *var, const char *name, bool readable, bool writable, isisU32_t *access_reg, unsigned access_bit, bool wrap, bool sixteen_bit_access, FaultMode fault_mode)
VMESimulationIface * m_vme
ISISVME::TransferProps props
std::string loggingPrefix() const
std::vector< sim_mapping > & mapping()
virtual void simulate(int delay)=0
int write16(ISISVME::TransferProps props, unsigned long address, isisU16_t *data16, long nitems, DAEstatus &status)
virtual void updateCardAfterRead(DAEstatus &status)=0
std::vector< sim_mapping > m_mapping
sim_mapping(ISISVME::TransferProps props_, isisU32_t address_, int n_, int ws_, void *var_, const char *name_, bool readable_, bool writable_, isisU32_t *access_reg_, unsigned access_bit_, bool wrap_, bool sixteen_bit_access_, FaultMode fault_mode_)