ICP
1
|
#include <QxtrmInterface.h>
Public Member Functions | |
QxtrmInterface (DAEstatus &dstatus, uint32_t *dau_memory=NULL, uint32_t nwords_memory=0, uint32_t *dau_registers=NULL, uint32_t nwords_registers=0) | |
virtual | ~QxtrmInterface () |
int | open (const char *device, DAEstatus &dstatus) |
int | openBackplane (const char *device_bp, DAEstatus &dstatus) |
int | lockDevice (int timeout, DAEstatus &dstatus) |
int | unlockDevice (DAEstatus &dstatus) |
void | lockInterface (int timeout, DAEstatus &dstatus) |
void | unlockInterface (DAEstatus &dstatus) |
int | readU16noRetry (unsigned long address, isisU16_t *data16, TransferProps props, DAEstatus &dstatus) |
int | readU32noRetry (unsigned long address, isisU32_t *data32, TransferProps props, DAEstatus &dstatus) |
int | readU16 (unsigned long address, isisU16_t *data16, TransferProps props, DAEstatus &dstatus) |
int | readU32 (unsigned long address, isisU32_t *data32, TransferProps props, DAEstatus &dstatus) |
int | readBlockU16 (unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &dstatus) |
int | readBlockU32 (unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &dstatus) |
int | readBlockU64 (unsigned long address, uint64_t *data64, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeU16 (unsigned long address, isisU16_t data16, TransferProps props, DAEstatus &dstatus) |
int | writeU32 (unsigned long address, isisU32_t data32, TransferProps props, DAEstatus &dstatus) |
int | writeBlockU16 (unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeBlockU32 (unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeBlockU64 (unsigned long address, uint64_t *data64, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeBlock (unsigned long address, isisU32_t *data, long nitems, TransferProps props, DAEstatus &status) |
int | writeBlock (unsigned long address, uint64_t *data, long nitems, TransferProps props, DAEstatus &status) |
int | readBlock (unsigned long address, isisU32_t *data, long nitems, TransferProps props, DAEstatus &status) |
int | readBlock (unsigned long address, uint64_t *data, long nitems, TransferProps props, DAEstatus &status) |
int | close (DAEstatus &dstatus) |
int | scanBus (DAEstatus &status) |
bool | resetBus (DAEstatus &status) |
bool | initOK () |
const char * | device () |
const char * | deviceBackplane () |
void | setTriggerFunc (trigger_func_t *func, void *arg) |
Public Member Functions inherited from ISISVME | |
virtual | ~ISISVME () |
Protected Member Functions | |
int | reinit (DAEstatus &dstatus) |
template<typename F , typename T > | |
int | retrySingle (F pFunc, unsigned long address, T data, TransferProps props, DAEstatus &dstatus) |
template<typename F , typename T > | |
int | retryBlock (F pFunc, unsigned long address, T data, long nitems, TransferProps props, DAEstatus &dstatus) |
template<typename T > | |
int | readUimpl (unsigned long address, T *data, int nitems, TransferProps props, DAEstatus &dstatus) |
template<typename T > | |
int | writeUimpl (unsigned long address, T *data, int nitems, TransferProps props, DAEstatus &dstatus) |
int | readU16impl (unsigned long address, isisU16_t *data16, TransferProps props, DAEstatus &dstatus) |
int | readU32impl (unsigned long address, isisU32_t *data32, TransferProps props, DAEstatus &dstatus) |
int | readBlockU16impl (unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &dstatus) |
int | readBlockU32impl (unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &dstatus) |
int | readBlockU64impl (unsigned long address, uint64_t *data64, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeU16impl (unsigned long address, isisU16_t data16, TransferProps props, DAEstatus &dstatus) |
int | writeU32impl (unsigned long address, isisU32_t data32, TransferProps propsn, DAEstatus &dstatus) |
int | writeBlockU16impl (unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeBlockU32impl (unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &dstatus) |
int | writeBlockU64impl (unsigned long address, uint64_t *data64, long nitems, TransferProps props, DAEstatus &dstatus) |
Protected Member Functions inherited from ISIS::Base | |
Base (const std::string &logger_name="UNKNOWN") | |
void | setLoggerName (const std::string &logger_name) |
virtual | ~Base () |
virtual std::string | loggingPrefix () const |
void | setThisLoggerLevel (int level) |
Protected Attributes | |
bool | m_init_done |
std::string | m_device |
CRITICAL_SECTION | m_visa_critical |
trigger_func_t * | m_trigger_func |
void * | m_trigger_func_arg |
Qxtrm_driver * | m_qxtrm |
Poco::SharedPtr< Qxtrm_channel > | m_rdma_mem |
Poco::SharedPtr< Qxtrm_channel > | m_rdma_reg |
uint32_t * | m_dau_memory |
uint32_t | m_nwords_memory |
uint32_t * | m_dau_registers |
uint32_t | m_nwords_registers |
Protected Attributes inherited from ISIS::Base | |
Poco::Logger * | m_logger |
Poco::LogStream * | m_logstr |
Poco::Mutex | m_logger_lock |
Static Protected Attributes | |
static const int | m_tries = 5 |
number of times to try a read/write More... | |
static const int | m_retry_time = 1000 |
milliseconds between retries More... | |
Additional Inherited Members | |
Public Types inherited from ISISVME | |
enum | { Error = 0, Success = 1 } |
enum | TransferProp { TransferNoOptions = 0x0, TransferBlock = 0x1, TransferLittleEndian = 0x2, TransferMemorySpace = 0x4, TransferIORegisterSpace = 0x8, TransferLUTSpace = 0x10, TransferRunMemorySpace = 0x20 } |
typedef uint32_t | TransferProps |
combination of TransferProp values More... | |
Static Protected Member Functions inherited from ISIS::Base | |
static void | setAllLoggerLevel (int level) |
Definition at line 7 of file QxtrmInterface.h.
QxtrmInterface::QxtrmInterface | ( | DAEstatus & | dstatus, |
uint32_t * | dau_memory = NULL , |
||
uint32_t | nwords_memory = 0 , |
||
uint32_t * | dau_registers = NULL , |
||
uint32_t | nwords_registers = 0 |
||
) |
Definition at line 5 of file QxtrmInterface.cpp.
References m_visa_critical, reinit(), and ISIS::Base::setLoggerName().
|
virtual |
Definition at line 357 of file QxtrmInterface.cpp.
References close(), and m_visa_critical.
|
virtual |
Implements ISISVME.
Definition at line 340 of file QxtrmInterface.cpp.
References m_init_done, m_qxtrm, m_rdma_mem, m_rdma_reg, m_visa_critical, ISISVME::Success, and unlockDevice().
Referenced by reinit(), and ~QxtrmInterface().
|
inlinevirtual |
Implements ISISVME.
Definition at line 78 of file QxtrmInterface.h.
References m_device.
Referenced by open().
|
inline |
Definition at line 79 of file QxtrmInterface.h.
|
virtual |
|
virtual |
|
inlinevirtual |
Implements ISISVME.
Definition at line 56 of file QxtrmInterface.h.
|
virtual |
Implements ISISVME.
Definition at line 75 of file QxtrmInterface.cpp.
References device(), m_device, m_visa_critical, and ISISVME::Success.
Referenced by reinit().
|
inlinevirtual |
|
virtual |
|
virtual |
|
virtual |
Implements ISISVME.
Definition at line 203 of file QxtrmInterface.cpp.
References readBlockU16impl(), and retryBlock().
|
protected |
Definition at line 211 of file QxtrmInterface.cpp.
References readUimpl().
Referenced by readBlockU16().
|
virtual |
Implements ISISVME.
Definition at line 217 of file QxtrmInterface.cpp.
References readBlockU32impl(), and retryBlock().
Referenced by readBlock().
|
protected |
Definition at line 224 of file QxtrmInterface.cpp.
References readUimpl().
Referenced by readBlockU32(), and readBlockU64impl().
int QxtrmInterface::readBlockU64 | ( | unsigned long | address, |
uint64_t * | data64, | ||
long | nitems, | ||
TransferProps | props, | ||
DAEstatus & | dstatus | ||
) |
Definition at line 309 of file QxtrmInterface.cpp.
References readBlockU64impl(), and retryBlock().
Referenced by readBlock().
|
protected |
Definition at line 315 of file QxtrmInterface.cpp.
References readBlockU32impl().
Referenced by readBlockU64().
|
virtual |
Implements ISISVME.
Definition at line 149 of file QxtrmInterface.cpp.
References readU16impl(), and retrySingle().
|
protected |
Definition at line 183 of file QxtrmInterface.cpp.
References readUimpl().
Referenced by readU16(), and readU16noRetry().
|
virtual |
|
virtual |
Implements ISISVME.
Definition at line 188 of file QxtrmInterface.cpp.
References readU32impl(), and retrySingle().
|
protected |
Definition at line 198 of file QxtrmInterface.cpp.
References readUimpl().
Referenced by readU32(), and readU32noRetry().
|
virtual |
|
protected |
Definition at line 160 of file QxtrmInterface.cpp.
References DAEstatus::add(), ISISVME::Error, ERRTYPE_OUTOFMEM, FAC_DAE, m_rdma_mem, m_rdma_reg, m_visa_critical, SEV_ERROR, ISISVME::Success, and ISISVME::TransferIORegisterSpace.
Referenced by readBlockU16impl(), readBlockU32impl(), readU16impl(), and readU32impl().
|
protected |
Definition at line 20 of file QxtrmInterface.cpp.
References Qxtrm_driver::channelStatus(), Qxtrm_driver::channelTransferStats(), close(), Qxtrm_driver::createChannel(), LOGSTR_INFORMATION, m_dau_memory, m_dau_registers, m_device, m_init_done, m_nwords_memory, m_nwords_registers, m_qxtrm, m_rdma_mem, m_rdma_reg, m_visa_critical, open(), and ISISVME::Success.
Referenced by QxtrmInterface(), retryBlock(), and retrySingle().
|
inlinevirtual |
|
protected |
Definition at line 122 of file QxtrmInterface.cpp.
References ISISVME::Error, LOGSTR_WARNING, m_retry_time, m_tries, reinit(), DAEstatus::resetSeverityToAtLeast(), DAEstatus::resetSeverityToAtMost(), SEV_WARNING, DAEstatus::severity(), and ISISVME::Success.
Referenced by readBlockU16(), readBlockU32(), readBlockU64(), writeBlockU16(), writeBlockU32(), and writeBlockU64().
|
protected |
Definition at line 94 of file QxtrmInterface.cpp.
References ISISVME::Error, LOGSTR_WARNING, m_retry_time, m_tries, reinit(), DAEstatus::resetSeverityToAtLeast(), DAEstatus::resetSeverityToAtMost(), SEV_WARNING, DAEstatus::severity(), and ISISVME::Success.
Referenced by readU16(), readU32(), writeU16(), and writeU32().
|
inlinevirtual |
|
inlinevirtual |
Implements ISISVME.
Definition at line 80 of file QxtrmInterface.h.
References m_trigger_func, and m_trigger_func_arg.
|
virtual |
Implements ISISVME.
Definition at line 88 of file QxtrmInterface.cpp.
References ISISVME::Success.
Referenced by close().
|
inlinevirtual |
Implements ISISVME.
Definition at line 57 of file QxtrmInterface.h.
|
virtual |
|
virtual |
|
virtual |
Implements ISISVME.
Definition at line 274 of file QxtrmInterface.cpp.
References retryBlock(), and writeBlockU16impl().
|
protected |
Definition at line 282 of file QxtrmInterface.cpp.
References writeUimpl().
Referenced by writeBlockU16().
|
virtual |
Implements ISISVME.
Definition at line 288 of file QxtrmInterface.cpp.
References retryBlock(), and writeBlockU32impl().
Referenced by writeBlock().
|
protected |
Definition at line 294 of file QxtrmInterface.cpp.
References writeUimpl().
Referenced by writeBlockU32(), and writeBlockU64impl().
int QxtrmInterface::writeBlockU64 | ( | unsigned long | address, |
uint64_t * | data64, | ||
long | nitems, | ||
TransferProps | props, | ||
DAEstatus & | dstatus | ||
) |
Definition at line 299 of file QxtrmInterface.cpp.
References retryBlock(), and writeBlockU64impl().
Referenced by writeBlock().
|
protected |
Definition at line 304 of file QxtrmInterface.cpp.
References writeBlockU32impl().
Referenced by writeBlockU64().
|
virtual |
Implements ISISVME.
Definition at line 229 of file QxtrmInterface.cpp.
References retrySingle(), and writeU16impl().
|
protected |
Definition at line 258 of file QxtrmInterface.cpp.
References writeUimpl().
Referenced by writeU16().
|
virtual |
Implements ISISVME.
Definition at line 263 of file QxtrmInterface.cpp.
References retrySingle(), and writeU32impl().
|
protected |
Definition at line 268 of file QxtrmInterface.cpp.
References writeUimpl().
Referenced by writeU32().
|
protected |
Definition at line 235 of file QxtrmInterface.cpp.
References DAEstatus::add(), ISISVME::Error, ERRTYPE_OUTOFMEM, FAC_DAE, m_rdma_mem, m_rdma_reg, m_visa_critical, SEV_ERROR, ISISVME::Success, and ISISVME::TransferIORegisterSpace.
Referenced by writeBlockU16impl(), writeBlockU32impl(), writeU16impl(), and writeU32impl().
|
protected |
Definition at line 23 of file QxtrmInterface.h.
Referenced by reinit().
|
protected |
Definition at line 25 of file QxtrmInterface.h.
Referenced by reinit().
|
protected |
Definition at line 11 of file QxtrmInterface.h.
|
protected |
Definition at line 10 of file QxtrmInterface.h.
|
protected |
Definition at line 24 of file QxtrmInterface.h.
Referenced by reinit().
|
protected |
Definition at line 26 of file QxtrmInterface.h.
Referenced by reinit().
|
protected |
Definition at line 19 of file QxtrmInterface.h.
|
protected |
Definition at line 20 of file QxtrmInterface.h.
Referenced by close(), readUimpl(), reinit(), and writeUimpl().
|
protected |
Definition at line 21 of file QxtrmInterface.h.
Referenced by close(), readUimpl(), reinit(), and writeUimpl().
|
staticprotected |
milliseconds between retries
Definition at line 16 of file QxtrmInterface.h.
Referenced by retryBlock(), and retrySingle().
|
staticprotected |
number of times to try a read/write
Definition at line 15 of file QxtrmInterface.h.
Referenced by retryBlock(), and retrySingle().
|
protected |
Definition at line 13 of file QxtrmInterface.h.
Referenced by setTriggerFunc().
|
protected |
Definition at line 14 of file QxtrmInterface.h.
Referenced by setTriggerFunc().
|
protected |
Definition at line 12 of file QxtrmInterface.h.
Referenced by close(), open(), QxtrmInterface(), readUimpl(), reinit(), writeUimpl(), and ~QxtrmInterface().