ICP
1
|
#include <dae2_card.h>
Public Member Functions | |
DAE2Card (int position, ISISVME *vme, DAEstatus &status) | |
int | setRegisterBits (unsigned long address, isisU32_t mask, bool preserve, DAEstatus &status, bool little_endian=false) |
int | clearRegisterBits (unsigned long address, isisU32_t mask, DAEstatus &status, bool little_endian=false) |
int | setAndClearRegisterBits (unsigned long address, isisU32_t mask, bool preserve, DAEstatus &status, bool little_endian=false) |
int | changeRegisterBits (unsigned long address, isisU32_t mask, bool set, bool check, DAEstatus &status, bool little_endian=false) |
bool | registerBitsSet (unsigned long address, isisU32_t mask, DAEstatus &status, bool little_endian=false) |
bool | registerBitsClear (unsigned long address, isisU32_t mask, DAEstatus &status, bool little_endian=false) |
int | setAndClearRegisterBits (const unused_t &address, isisU32_t mask, bool preserve, DAEstatus &status, bool little_endian=false) |
int | readRegister (unsigned long address, isisU32_t *value, DAEstatus &status, bool little_endian=false, bool retry=true) |
int | writeRegister (unsigned long address, isisU32_t value, DAEstatus &status, bool little_endian=false) |
int | readRegister (unsigned long address, isisU16_t *value, DAEstatus &status, bool little_endian=false, bool retry=true) |
int | writeRegister16 (unsigned long address, isisU16_t value, DAEstatus &status, bool little_endian=false) |
int | readRegister16As32 (unsigned long address0, unsigned long address1, isisU32_t *value, DAEstatus &status, bool little_endian=false) |
int | writeRegister32As16 (unsigned long address0, unsigned long address1, isisU32_t value, DAEstatus &status, bool little_endian=false) |
int | readRegister (const unused_t &address, isisU32_t *value, DAEstatus &status, bool little_endian=false, bool retry=true) |
int | writeRegister (const unused_t &address, isisU32_t value, DAEstatus &status, bool little_endian=false) |
int | writeRegister16 (const unused_t &address, isisU16_t value, DAEstatus &status, bool little_endian=false) |
int | position () const |
std::string | daeDevice () const |
virtual void | printStatus (std::ostream &os, DAEstatus &dstatus) |
std::string | getFirmwareVersionAsString (DAEstatus &status) |
virtual | ~DAE2Card () |
void | printRegister (const char *name, unsigned long address, std::ostream &os, bool print_bits_set=false) |
virtual int | resetCardState (DAEstatus &status)=0 |
template<typename T > | |
int | readMemory (unsigned long address, typename T *buffer, int len, ISISVME::TransferProps props, DAEstatus &status) |
template<typename T > | |
int | readMemoryChunked (unsigned long address, T *buffer, int len, int chunk_len, ISISVME::TransferProps props, DAEstatus &status) |
template<typename T > | |
int | writeMemory (unsigned long address, T *buffer, int len, uint64_t read_check_mask, ISISVME::TransferProps props, DAEstatus &status) |
template<typename T > | |
int | zeroMemory (unsigned long start, int len, uint64_t read_check_mask, ISISVME::TransferProps props, DAEstatus &status) |
Public Member Functions inherited from DAE2CardIntf | |
DAE2CardIntf () | |
virtual | ~DAE2CardIntf () |
Static Public Member Functions | |
static bool | isCardPresent (int position, ISISVME *vme, DAEstatus &status) |
static CardType | getCardType (int position, ISISVME *vme, DAEstatus &dstatus) |
static unsigned long | makeAddress (int position, unsigned long address) |
Protected Member Functions | |
void | reverseEndian (isisU32_t *value) |
void | reverseEndian (isisU16_t *value) |
std::string | loggingPrefix () const |
virtual unsigned long | makeAddress (unsigned long address) |
Protected Member Functions inherited from ISIS::Base | |
Base (const std::string &logger_name="UNKNOWN") | |
void | setLoggerName (const std::string &logger_name) |
virtual | ~Base () |
void | setThisLoggerLevel (int level) |
Static Protected Member Functions | |
static int | getFirmwareVersion (int position, ISISVME *vme, firmware_version *fw, DAEstatus &status) |
static const char * | yesNoStr (bool b) |
Static Protected Member Functions inherited from ISIS::Base | |
static void | setAllLoggerLevel (int level) |
Protected Attributes | |
int | m_position |
ISISVME * | m_vme |
Protected Attributes inherited from ISIS::Base | |
Poco::Logger * | m_logger |
Poco::LogStream * | m_logstr |
Poco::Mutex | m_logger_lock |
Additional Inherited Members | |
Public Types inherited from DAE2CardIntf | |
enum | CardType { EmptySlot = 0, UnknownCard = 1, EnvCard = 2, EnvPeriodCard = 3, NeutronDetectorCard = 4, MuonDetectorCard = 5, MuonPeriodCard = 6 } |
Definition at line 43 of file dae2_card.h.
DAE2Card< DAECardPolicy >::DAE2Card | ( | int | position, |
ISISVME * | vme, | ||
DAEstatus & | status | ||
) |
Definition at line 7 of file dae2_card.cpp.
References ISIS::Base::setLoggerName().
Definition at line 78 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::changeRegisterBits | ( | unsigned long | address, |
isisU32_t | mask, | ||
bool | set, | ||
bool | check, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 216 of file dae2_card.cpp.
References DAEstatus::addWarningVa(), and FAC_DAE.
Referenced by DAE2Register< DAE2DetCardPolicy >::enable().
int DAE2Card< DAECardPolicy >::clearRegisterBits | ( | unsigned long | address, |
isisU32_t | mask, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 201 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by DAE2Register< DAE2DetCardPolicy >::clearBits(), PeriodCard::clearPeriodControlBits(), and PeriodCard::stopDataCollection().
|
virtual |
Implements DAE2CardIntf.
Reimplemented in DetectorCard< DAE2DetCardPolicy >.
Definition at line 13 of file dae2_card.cpp.
Referenced by EnvironmentCard< EnvPeriodPolicy >::daeDevice(), DetectorCard< DAE2DetCardPolicy >::daeDevice(), EnvPeriodCard< EnvPeriodPolicy >::daeDevice(), and DAE2Card< EnvPeriodPolicy >::loggingPrefix().
|
static |
Definition at line 361 of file dae2_card.cpp.
References DAEstatus::clear(), DAE2CardIntf::EnvCard, DAE2CardIntf::EnvPeriodCard, firmware_version::hard_type, firmware_version::main_func, DAE2CardIntf::MuonDetectorCard, DAE2CardIntf::MuonPeriodCard, DAE2CardIntf::NeutronDetectorCard, ISISVME::readU16noRetry(), ISISVME::readU32noRetry(), SEV_ERROR, SEV_GE, ISISVME::Success, ISISVME::TransferMemorySpace, and DAE2CardIntf::UnknownCard.
|
staticprotected |
Definition at line 537 of file dae2_card.cpp.
References DAEstatus::clear(), ISISVME::readU32noRetry(), SEV_ERROR, SEV_GE, ISISVME::Success, and ISISVME::TransferIORegisterSpace.
std::string DAE2Card< DAECardPolicy >::getFirmwareVersionAsString | ( | DAEstatus & | status | ) |
Definition at line 460 of file dae2_card.cpp.
References firmware_version::hard_type, firmware_version::hard_ver, firmware_version::main_func, firmware_version::minor_ver, and firmware_version::sub_ver.
|
static |
Definition at line 317 of file dae2_card.cpp.
References DAEstatus::clear(), ISISVME::readU16noRetry(), ISISVME::readU32noRetry(), SEV_ERROR, SEV_GE, ISISVME::Success, ISISVME::TransferIORegisterSpace, and ISISVME::TransferMemorySpace.
|
inlineprotectedvirtual |
Reimplemented from ISIS::Base.
Definition at line 98 of file dae2_card.h.
|
inlinestatic |
Definition at line 83 of file dae2_card.h.
Referenced by DAE2Card< EnvPeriodPolicy >::makeAddress(), DAE2Card< EnvPeriodPolicy >::readMemory(), ISISDAE::VMEReadArray(), ISISDAE::VMEReadValue(), ISISDAE::VMEWriteArray(), ISISDAE::VMEWriteValue(), and DAE2Card< EnvPeriodPolicy >::writeMemory().
|
inlineprotectedvirtual |
Definition at line 99 of file dae2_card.h.
|
inlinevirtual |
Implements DAE2CardIntf.
Reimplemented in DetectorCard< DAE2DetCardPolicy >.
Definition at line 72 of file dae2_card.h.
Referenced by EnvironmentCard< EnvPeriodPolicy >::position(), DetectorCard< DAE2DetCardPolicy >::position(), and EnvPeriodCard< EnvPeriodPolicy >::position().
void DAE2Card< DAECardPolicy >::printRegister | ( | const char * | name, |
unsigned long | address, | ||
std::ostream & | os, | ||
bool | print_bits_set = false |
||
) |
Definition at line 53 of file dae2_card.cpp.
|
virtual |
Reimplemented in DetectorCard< DetCardPolicy >, DetectorCard< DAE2DetCardPolicy >, EnvPeriodCard< EnvPeriodPolicy >, EnvironmentCard< EnvPeriodPolicy >, PeriodCard, and MuonDetectorCard.
Definition at line 453 of file dae2_card.cpp.
Referenced by PeriodCard::printStatus(), EnvironmentCard< EnvPeriodPolicy >::printStatus(), EnvPeriodCard< EnvPeriodPolicy >::printStatus(), and DetectorCard< DetCardPolicy >::printStatus().
|
inline |
Definition at line 106 of file dae2_card.h.
Referenced by PeriodCard::getGoodFrames(), PeriodCard::getRawFrames(), PeriodCard::getRequestedFrames(), DAE2Card< EnvPeriodPolicy >::readMemoryChunked(), PeriodCard::readOUTLUT(), and PeriodCard::readPERLUT().
|
inline |
Definition at line 112 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::readRegister | ( | unsigned long | address, |
isisU32_t * | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false , |
||
bool | retry = true |
||
) |
Definition at line 23 of file dae2_card.cpp.
References ISISVME::Success, ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by PeriodCard::getCurrentPeriodNumber(), PeriodCard::getCurrentPeriodSequence(), PeriodCard::getExtractTriggerVetoCountHigh(), PeriodCard::getExtractTriggerVetoCountLow(), PeriodCard::getNumberOfPeriods(), MuonDetectorCard::getTimeChannels32(), PeriodCard::inDwellPeriod(), PeriodCard::isRunEndedAndSequenceComplete(), MuonDetectorCard::MuonDetectorCard(), PeriodCard::printStatus(), and DAE2Register< DAE2DetCardPolicy >::read().
int DAE2Card< DAECardPolicy >::readRegister | ( | unsigned long | address, |
isisU16_t * | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false , |
||
bool | retry = true |
||
) |
Definition at line 80 of file dae2_card.cpp.
References ISISVME::Success, ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
|
inline |
Definition at line 62 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::readRegister16As32 | ( | unsigned long | address0, |
unsigned long | address1, | ||
isisU32_t * | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 114 of file dae2_card.cpp.
Referenced by PeriodCard::getExtractTriggerVetoCount().
bool DAE2Card< DAECardPolicy >::registerBitsClear | ( | unsigned long | address, |
isisU32_t | mask, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 290 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
bool DAE2Card< DAECardPolicy >::registerBitsSet | ( | unsigned long | address, |
isisU32_t | mask, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 269 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
|
inlineprotected |
Definition at line 200 of file dae2_card.h.
|
inlineprotected |
Definition at line 209 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::setAndClearRegisterBits | ( | unsigned long | address, |
isisU32_t | mask, | ||
bool | preserve, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 243 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by PeriodCard::setAndClearPeriodControlBits().
|
inline |
Definition at line 54 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::setRegisterBits | ( | unsigned long | address, |
isisU32_t | mask, | ||
bool | preserve, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 183 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by MuonDetectorCard::MuonDetectorCard(), DAE2Register< DAE2DetCardPolicy >::setBits(), PeriodCard::setPeriodControlBits(), and PeriodCard::startDataCollection().
|
inline |
Definition at line 128 of file dae2_card.h.
Referenced by PeriodCard::programOUTLUT(), PeriodCard::programPERLUT(), and DAE2Card< EnvPeriodPolicy >::zeroMemory().
int DAE2Card< DAECardPolicy >::writeRegister | ( | unsigned long | address, |
isisU32_t | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 155 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by PeriodCard::resetCard(), and MuonDetectorCard::setTimeChannels32().
|
inline |
Definition at line 63 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::writeRegister16 | ( | unsigned long | address, |
isisU16_t | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 169 of file dae2_card.cpp.
References ISISVME::TransferIORegisterSpace, and ISISVME::TransferLittleEndian.
Referenced by PeriodCard::lookupAccessOUTLUT(), PeriodCard::lookupAccessPERLUT(), PeriodCard::lookupFinished(), and PeriodCard::setNumberOfPeriods().
|
inline |
Definition at line 64 of file dae2_card.h.
int DAE2Card< DAECardPolicy >::writeRegister32As16 | ( | unsigned long | address0, |
unsigned long | address1, | ||
isisU32_t | value, | ||
DAEstatus & | status, | ||
bool | little_endian = false |
||
) |
Definition at line 135 of file dae2_card.cpp.
|
inlinestaticprotected |
Definition at line 97 of file dae2_card.h.
Referenced by DAE2Card< EnvPeriodPolicy >::writeMemory().
|
inline |
Definition at line 179 of file dae2_card.h.
Referenced by PeriodCard::programOUTLUT(), PeriodCard::programPERLUT(), and PeriodCard::zeroPeriodFrameCounters().
|
protected |
Definition at line 89 of file dae2_card.h.
Referenced by MuonDetectorCard::calculateModuleAndPosition(), MuonDetectorCard::calculateSpectrum(), DAE2Card< EnvPeriodPolicy >::loggingPrefix(), DAE2Card< EnvPeriodPolicy >::makeAddress(), DAE2Card< EnvPeriodPolicy >::position(), and MuonDetectorCard::programDAE1POSLUT().
Definition at line 91 of file dae2_card.h.
Referenced by DAE2Card< EnvPeriodPolicy >::readMemory(), and DAE2Card< EnvPeriodPolicy >::writeMemory().