QSlowControlServer Class Reference

List of all members.


Detailed Description

singleton that does the real work through the command visitors

Author:
Andrea Giachero (Andrea.Giachero@lngs.infn.it)

Public Member Functions

virtual ~QSlowControlServer ()
 dtor
QFrontEnd & GetFrontEnd ()
 Get Front-end interface.
QBessel & GetBessel ()
 Get Bessel interface.
QPulser & GetPulser ()
 Get Pulse interface.
QPowerSupplyGetPowerSupply ()
 Get Power Supply interface.
const QSlowTypes::QSlowMode_t GetServerMode () const
 Get Slow Server Mode.
double GetLiveTime ()
 Get server livetime.
int GetBasket ()
 Get settings basket.
const QSlowTypes::QSlowNumFormat_t GetNumFormat () const
 Get numerical format.
const
QSlowTypes::QSlowWriteStatus_t 
GetWriteStatus () const
 Get Slow Server Mode.
QApolloErrorGetApolloError () const
 Get Apollo Error interface.
unsigned long GetPPortAddress () const
 Get pport address.
void SendMessage (const std::string &text, MsgLevel severity)
 Send message to the message logger.
const QErrorSetServerMode (QSlowTypes::QSlowMode_t mode, unsigned int basket)
 Set Server Mode.
const QErrorSetBaseMode ()
 Set Server in BASE Mode.
void SetWriteStatus (QSlowTypes::QSlowWriteStatus_t Status)
 Set write status.
void LockWriting ()
 Lock the writing mode, read-only mode is set.
void UnlockWriting ()
 unlock the writing mode, reading and writing are allowed
void SetNumFormat (QSlowTypes::QSlowNumFormat_t Format)
 Set answer numerical format.
void SetHexFormat ()
 Set hexadecimal numerical format.
void SetDecFormat ()
 Set decimal numerical format.
void SetBinFormat ()
bool IsValidInterface (QSlowTypes::QSlowDevice_t dev)
 Check if the specified devide has a valid interface.
const QErrorLoadElectronicsDevice (QSlowTypes::QSlowDevice_t dev, QSlowTypes::QSlowEleInterface_t iFace)
 Load electronics devices.
const QErrorLoadInstrumentDevice (QSlowTypes::QSlowDevice_t instru, QSlowTypes::QSlowEleInterface_t iFace)
 Load power supply instrument.

Static Public Member Functions

static QSlowControlServerGetInstance ()
 singleton getter

Private Member Functions

 QSlowControlServer ()
const QErrorUpdateServerMode (QSlowTypes::QSlowMode_t mode, int basket)
 get channels map
void GetDBConfiguration (QSlowTypes::QSlowMode_t mode, int basket)
 get electronics configuration from the database
void SetInterfaceStatus (QSlowTypes::QSlowDevice_t dev, bool status)
 Set interface status (valid=true, invalid=false) on the specified devices.

Private Attributes

QSlowTypes::QSlowMode_t fMode
time_t fStart
int fBasket
unsigned long fPPortAddress
QSlowTypes::QSlowWriteStatus_t fStatus
QSlowTypes::QSlowNumFormat_t fFormat
QFrontEnd * fFrontEnd
QBessel * fBessel
QPulser * fPulser
QPowerSupplyfPower
QApolloErrorfErr
QEleBaseInterfacefPpFace
 Used Communication Interfaces.
QEleBaseInterfacefNwFace
GPIBBaseInterfacefgpib
std::map
< QSlowTypes::QSlowDevice_t,
bool > 
fIsValid
std::map< unsigned int,
QDaqChannel
fChannels

Constructor & Destructor Documentation

QSlowControlServer::QSlowControlServer (  )  [private]


Member Function Documentation

void QSlowControlServer::SendMessage ( const std::string &  text,
MsgLevel  severity 
)

Send message to the message logger.

Parameters:
text text to send

References QApolloMessenger::GetInstance(), and QApolloMessenger::Send().

Referenced by LoadElectronicsDevice(), LoadInstrumentDevice(), and UpdateServerMode().

const QError& QSlowControlServer::SetServerMode ( QSlowTypes::QSlowMode_t  mode,
unsigned int  basket 
) [inline]

Set Server Mode.

Parameters:
mode server mode
basket specified settings basket

References UpdateServerMode().

void QSlowControlServer::SetWriteStatus ( QSlowTypes::QSlowWriteStatus_t  Status  )  [inline]

Set write status.

Parameters:
Status writing status, if QSLOW_WRITE_LOCKED server is read-only else if QSLOW_WRITE_UNLOCKED server can applies the settings

References fStatus.

Referenced by LockWriting(), and UnlockWriting().

void QSlowControlServer::SetNumFormat ( QSlowTypes::QSlowNumFormat_t  Format  )  [inline]

Set answer numerical format.

Parameters:
format,numerical format (dec, hex, bin)

References fFormat.

Referenced by SetDecFormat(), and SetHexFormat().

bool QSlowControlServer::IsValidInterface ( QSlowTypes::QSlowDevice_t  dev  ) 

Check if the specified devide has a valid interface.

Parameters:
dev,specified device (QSLOW_FRONTEND, QSLOW_BESSEL, QSLOW_PULSER)

References fIsValid.

Referenced by LoadElectronicsDevice(), and LoadInstrumentDevice().

const QError & QSlowControlServer::LoadElectronicsDevice ( QSlowTypes::QSlowDevice_t  dev,
QSlowTypes::QSlowEleInterface_t  iFace 
)

Load electronics devices.

Parameters:
dev,electronics device to load (QSLOW_FRONTEND, QSLOW_BESSEL, QSLOW_PULSER)
iface,specified communication interface (QSLOW_PPORT, QSLOW_NETWORK)

References fBessel, fChannels, fFrontEnd, fNwFace, fPpFace, fPulser, GetApolloError(), QEleBaseInterface::GetErrorString(), GetPPortAddress(), QApolloError::GetQError(), QEleBaseInterface::GetQErrorCode(), GetServerMode(), QStringHandler::IntToHexString(), QEleBaseInterface::IsError(), IsValidInterface(), QApolloError::Reset(), SendMessage(), QApolloError::Set(), and SetInterfaceStatus().

Referenced by UpdateServerMode().

const QError & QSlowControlServer::LoadInstrumentDevice ( QSlowTypes::QSlowDevice_t  instru,
QSlowTypes::QSlowEleInterface_t  iFace 
)

Load power supply instrument.

Parameters:
instru instrument to load (QSLOW_POWER_SUPPLY,QSLOW_DIGITAL_MM, QSLOW_OSCILLOSCOPE, QSLOW_FUN_GENERATOR) the interface is the gpib interface

References fgpib, fPower, GetApolloError(), GPIBBaseInterface::GetErrorMsg(), QApolloError::GetQError(), GPIBBaseInterface::GetStatusMsg(), GPIBBaseInterface::IsError(), IsValidInterface(), QApolloError::Reset(), SendMessage(), QApolloError::Set(), and SetInterfaceStatus().

const QError & QSlowControlServer::UpdateServerMode ( QSlowTypes::QSlowMode_t  mode,
int  basket 
) [private]

get channels map

Update Server Mode

Parameters:
mode selected server mode (QSLOW_BASE_MODE, QSLOW_TUNING_MODE, QSLOW_RUN_MODE)
basket specified settings basket

References QDbDetector::DN_HALLC, QDbDetector::DN_HALLC_CUORE, GetApolloError(), GetBasket(), GetDBConfiguration(), QApolloError::GetQError(), GetServerMode(), LoadElectronicsDevice(), QApolloError::Reset(), SendMessage(), and THIS_DETECTOR.

Referenced by SetBaseMode(), and SetServerMode().

void QSlowControlServer::GetDBConfiguration ( QSlowTypes::QSlowMode_t  mode,
int  basket 
) [private]

get electronics configuration from the database

Parameters:
mode selected server mode (QSLOW_BASE_MODE, QSLOW_TUNING_MODE, QSLOW_RUN_MODE)
basket specified settings basket

References QDaqChannel::Ele_s, fBasket, fChannels, fMode, QApolloDb::GetActiveChannels(), GetApolloError(), QApolloDb::GetCurrentRunNumber(), QApolloError::Reset(), and QDbDetector::SettingsBasket().

Referenced by UpdateServerMode().

void QSlowControlServer::SetInterfaceStatus ( QSlowTypes::QSlowDevice_t  dev,
bool  status 
) [private]

Set interface status (valid=true, invalid=false) on the specified devices.

Parameters:
dev,specified device (QSLOW_FRONTEND, QSLOW_BESSEL, QSLOW_PULSER)
status,interface status

References fIsValid.

Referenced by LoadElectronicsDevice(), and LoadInstrumentDevice().


Member Data Documentation

QSlowTypes::QSlowMode_t QSlowControlServer::fMode [private]

Server Mode

Referenced by GetDBConfiguration(), and GetServerMode().

time_t QSlowControlServer::fStart [private]

Starting Time

Referenced by GetLiveTime(), and QSlowControlServer().

db settings basket

Referenced by GetBasket(), GetDBConfiguration(), and QSlowControlServer().

unsigned long QSlowControlServer::fPPortAddress [private]

parallel port address

Referenced by GetPPortAddress(), and QSlowControlServer().

QSlowTypes::QSlowWriteStatus_t QSlowControlServer::fStatus [private]

Writing Enable

Referenced by GetWriteStatus(), and SetWriteStatus().

QSlowTypes::QSlowNumFormat_t QSlowControlServer::fFormat [private]

Numerical Format

Referenced by GetNumFormat(), and SetNumFormat().

QFrontEnd* QSlowControlServer::fFrontEnd [private]

Interface to performe Front-End Commands

Referenced by GetFrontEnd(), LoadElectronicsDevice(), and ~QSlowControlServer().

QBessel* QSlowControlServer::fBessel [private]

Interface to performe bessel Commands

Referenced by GetBessel(), LoadElectronicsDevice(), and ~QSlowControlServer().

QPulser* QSlowControlServer::fPulser [private]

Interface to performe pulser Commands

Referenced by GetPulser(), LoadElectronicsDevice(), and ~QSlowControlServer().

Interface to performe power supply Commands

Referenced by GetPowerSupply(), LoadInstrumentDevice(), and ~QSlowControlServer().

Apollo Error interface

Referenced by GetApolloError().

Used Communication Interfaces.

Parallel Port Interface

Referenced by LoadElectronicsDevice(), and ~QSlowControlServer().

Network Interface

Referenced by LoadElectronicsDevice(), and ~QSlowControlServer().

Instrument Interface

Referenced by LoadInstrumentDevice(), and ~QSlowControlServer().

std::map<QSlowTypes::QSlowDevice_t,bool> QSlowControlServer::fIsValid [private]

true if the devece has a valid interface

Referenced by IsValidInterface(), QSlowControlServer(), and SetInterfaceStatus().

std::map<unsigned int, QDaqChannel> QSlowControlServer::fChannels [private]

Address mapping

Referenced by GetDBConfiguration(), and LoadElectronicsDevice().


The documentation for this class was generated from the following files:

Generated on Tue Nov 16 10:50:08 2010 for CUORE Software by  doxygen 1.5.6