Public Types | |
enum | QSlowCmdType_t { QSLOW_GENERIC = 0xaa, QSLOW_SET, QSLOW_GET, QSLOW_START } |
Command Types Definition. | |
enum | QSlowKeyWords_t { QSLOW_KLG, QSLOW_KBASKET, QSLOW_KID, QSLOW_KCH, QSLOW_KDEV, QSLOW_KFE_CRATE, QSLOW_KFE_BOARD, QSLOW_KFE_CHANNEL, QSLOW_KBS_CRATE, QSLOW_KBS_BOARD, QSLOW_KBS_CHANNEL, QSLOW_KPS_CRATE, QSLOW_KPS_BOARD, QSLOW_KPS_CHANNEL } |
Key Words for the commands. | |
enum | QSlowTarget_t { QSLOW_GE_TARGET, QSLOW_FE_TARGET, QSLOW_BS_TARGET, QSLOW_PS_TARGET, QSLOW_PO_TARGET } |
Command targets. More... | |
enum | QSlowEleCommand_t { QSLOW_GE_MODE, QSLOW_GE_WRITE, QSLOW_GE_NUM, QSLOW_GE_LIVETIME, QSLOW_GE_BASKET, QSLOW_GE_IFACE, QSLOW_FE_NAME, QSLOW_FE_ID, QSLOW_FE_LABEL, QSLOW_FE_CRATE, QSLOW_FE_SLOT, QSLOW_FE_BOARD, QSLOW_FE_CHANNEL, QSLOW_FE_MEMA, QSLOW_FE_MEMB, QSLOW_FE_MEMC, QSLOW_FE_MEMD, QSLOW_FE_DACH, QSLOW_FE_DACL, QSLOW_FE_GAIN, QSLOW_FE_BIAS, QSLOW_FE_BIAS_POL, QSLOW_FE_ACYCLE, QSLOW_FE_ATIME, QSLOW_FE_RLOAD, QSLOW_FE_INPUT, QSLOW_FE_AUX, QSLOW_FE_THERM, QSLOW_FE_ODAC, QSLOW_FE_OMSB, QSLOW_FE_OSBIT, QSLOW_FE_OPOL, QSLOW_FE_TEST_POS, QSLOW_FE_TEST_NEG, QSLOW_BS_NAME, QSLOW_BS_ID, QSLOW_BS_LABEL, QSLOW_BS_CRATE, QSLOW_BS_SLOT, QSLOW_BS_BOARD, QSLOW_BS_CHANNEL, QSLOW_BS_MEM, QSLOW_BS_TRGAIN, QSLOW_BS_DELETION, QSLOW_BS_ENABLE, QSLOW_BS_CUTFREQ, QSLOW_PS_NAME, QSLOW_PS_ID, QSLOW_PS_LABEL, QSLOW_PS_CRATE, QSLOW_PS_SLOT, QSLOW_PS_BOARD, QSLOW_PS_CHANNEL, QSLOW_PS_GROUP, QSLOW_PS_WIDTH, QSLOW_PS_AMPLI, QSLOW_PS_ATTEN, QSLOW_PS_FIRE, QSLOW_PS_MEM0, QSLOW_PS_MEM1, QSLOW_PS_MEM2, QSLOW_PS_MEM3, QSLOW_PO_IDN, QSLOW_PO_VENDOR, QSLOW_PO_NAME, QSLOW_PO_TYPE, QSLOW_PO_VSET, QSLOW_PO_ISET, QSLOW_PO_VOUT, QSLOW_PO_IOUT, QSLOW_PO_VOUT_EN } |
Commands Parameters. | |
Public Member Functions | |
QSlowBaseCommand (QSlowCmdType_t Type) | |
virtual void | Execute ()=0 |
execute command | |
virtual void | CheckParams ()=0 |
chech whether all parameters are present and meaningful | |
Protected Types | |
enum | QSlowBoolType_t { QSLOW_NO_BOOL = 1000, QSLOW_ONOFF, QSLOW_POSNEG, QSLOW_TESTBOLO, QSLOW_RMAXRMIN } |
Boolean Type Definition. More... | |
Protected Member Functions | |
bool | IsLg () |
bool | IsPhysical () |
bool | IsId () |
const QSlowCmdType_t | GetCmdType () const |
const std::string | fuits (size_t IntVal) |
std::string | Binary (size_t Value) |
bool | CheckForNotValidParams (QError &ErrorRet) |
void | NotDefined (QError &ErrorRet, QSlowTarget_t Target, QSlowEleCommand_t CmdCode) |
bool | IsLocked () |
bool | IsUnlockCommand (QSlowEleCommand_t CmdCode) |
bool | OnlyOne (const std::string &cmd) |
const QSlowTypes::QSlowDevice_t | GetDeviceType (QSlowTarget_t target) const |
Protected Attributes | |
int | fLg |
int | fId |
int | fCrate |
int | fBoard |
int | fChannel |
std::string | fStringVal |
QSlowEleCommand_t | fCmdCode |
QSlowTarget_t | fTarget |
QSlowCmdType_t | fCmdType |
Static Protected Attributes | |
static std::map < QSlowEleCommand_t, std::string > | gGECommands |
static std::map < QSlowEleCommand_t, std::string > | gBSCommands |
static std::map < QSlowEleCommand_t, std::string > | gFECommands |
static std::map < QSlowEleCommand_t, std::string > | gPSCommands |
static std::map < QSlowEleCommand_t, std::string > | gPOCommands |
static std::map< QSlowTarget_t, QSlowTypes::QSlowDevice_t > | gToDevice |
static std::map < QSlowKeyWords_t, std::string > | gKeyWords |
Private Attributes | |
bool | fIsLg |
bool | fIsPhysical |
bool | fIsId |
enum QSlowBaseCommand::QSlowBoolType_t [protected] |
virtual void QSlowBaseCommand::Execute | ( | ) | [pure virtual] |
execute command
This method should be called after CheckParams(), and only if after calling CheckParams() the command is still valid and has no errors.
This method is expected to execute the command by calling the appropriate method of the main server object based on the modifier and the parameters obtained in CheckParams().
Implements QCommand.
virtual void QSlowBaseCommand::CheckParams | ( | ) | [pure virtual] |
chech whether all parameters are present and meaningful
The aim of this method is to separate checks on command correctness from command execution (performed in Execute()).
This method should check whether all the parameters needed for the requested command/modifier pair are present and make sense.
In case of failure an error must be set by calling SetError()
Implements QCommand.
int QSlowBaseCommand::fLg [protected] |
Logical Channel
int QSlowBaseCommand::fId [protected] |
Channel Id
int QSlowBaseCommand::fCrate [protected] |
Electronics Crate Address
int QSlowBaseCommand::fBoard [protected] |
Electronics Board Address
int QSlowBaseCommand::fChannel [protected] |
Electronics Channel Address
QSlowEleCommand_t QSlowBaseCommand::fCmdCode [protected] |
Command code
QSlowTarget_t QSlowBaseCommand::fTarget [protected] |
Command target
QSlowCmdType_t QSlowBaseCommand::fCmdType [protected] |
Command type
std::map< QSlowBaseCommand::QSlowEleCommand_t, std::string > QSlowBaseCommand::gGECommands [static, protected] |
Generic server commands map
std::map< QSlowBaseCommand::QSlowEleCommand_t, std::string > QSlowBaseCommand::gBSCommands [static, protected] |
Bessel commands map
std::map< QSlowBaseCommand::QSlowEleCommand_t, std::string > QSlowBaseCommand::gFECommands [static, protected] |
Front-End commands map
std::map< QSlowBaseCommand::QSlowEleCommand_t, std::string > QSlowBaseCommand::gPSCommands [static, protected] |
Pulser commands map
std::map< QSlowBaseCommand::QSlowEleCommand_t, std::string > QSlowBaseCommand::gPOCommands [static, protected] |
Power Supply command map
std::map< QSlowBaseCommand::QSlowTarget_t, QSlowTypes::QSlowDevice_t > QSlowBaseCommand::gToDevice [static, protected] |
convert QSlowTarget_t in QSlowDevice_t
std::map< QSlowBaseCommand::QSlowKeyWords_t, std::string > QSlowBaseCommand::gKeyWords [static, protected] |
Command keywords map
bool QSlowBaseCommand::fIsLg [private] |
true if the addressing is done by logical cha nnel
bool QSlowBaseCommand::fIsPhysical [private] |
true if the addressing is done by physical channel
bool QSlowBaseCommand::fIsId [private] |
true if the addressing is done by channel id