• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

plugin/roc/Commands.h (r4864/r4113)

Go to the documentation of this file.
00001 /********************************************************************
00002  * The Data Acquisition Backbone Core (DABC)
00003  ********************************************************************
00004  * Copyright (C) 2009-
00005  * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
00006  * Planckstr. 1
00007  * 64291 Darmstadt
00008  * Germany
00009  * Contact:  http://dabc.gsi.de
00010  ********************************************************************
00011  * This software can be used under the GPL license agreements as stated
00012  * in LICENSE.txt file which is part of the distribution.
00013  ********************************************************************/
00014 
00015 #ifndef ROC_COMMANDS_H
00016 #define ROC_COMMANDS_H
00017 
00018 
00019 #ifndef DABC_Command
00020 #include "dabc/Command.h"
00021 #endif
00022 
00023 #ifndef DABC_Exception
00024 #include "dabc/Exception.h"
00025 #endif
00026 
00027 #include <stdint.h>
00028 
00029 namespace base {
00030    class OperList;
00031 }
00032 
00033 namespace roc {
00034 
00035    extern const char* AddrPar;
00036    extern const char* ValuePar;
00037    extern const char* ErrNoPar;
00038    extern const char* TmoutPar;
00039    extern const char* RawDataPar;
00040    extern const char* OperListPar;
00041 
00042    extern const char* xmlRawReadout;
00043 
00044    extern const char* xmlNumRocs;
00045    extern const char* xmlRocIp;
00046    extern const char* xmlRocFebs;
00047    extern const char* xmlRawFile;
00048    extern const char* xmlReadoutAppClass;
00049 
00050    extern const char* xmlNumMbs;
00051    extern const char* xmlMbsAddr;
00052    extern const char* xmlSyncSubeventId;
00053 
00054    extern const char* xmlNumSusibo;
00055    extern const char* xmlSusiboAddr;
00056 
00057    extern const char* xmlNumSlaves;
00058    extern const char* xmlSlaveAddr;
00059 
00060    extern const char* xmlNumTRBs;
00061    extern const char* xmlTRBAddr;
00062 
00063    extern const char* xmlUseDLM;
00064    extern const char* xmlMeasureADC;
00065 
00066    extern const char* xmlEpicsStreamNode;
00067    extern const char* xmlEpicsTransportNode;
00068 
00069 
00070    class CmdPut : public dabc::Command {
00071 
00072       DABC_COMMAND(CmdPut, "CmdPut")
00073 
00074       CmdPut(uint32_t address, uint32_t value, double tmout = 5.) :
00075           dabc::Command(CmdName())
00076       {
00077          SetUInt(AddrPar, address);
00078          SetUInt(ValuePar, value);
00079          SetDouble(TmoutPar, tmout);
00080       }
00081    };
00082 
00083   class CmdGet : public dabc::Command {
00084 
00085      DABC_COMMAND(CmdGet, "CmdGet")
00086 
00087      CmdGet(uint32_t address, double tmout = 5.) :
00088          dabc::Command(CmdName())
00089      {
00090         SetUInt(AddrPar, address);
00091         SetDouble(TmoutPar, tmout);
00092      }
00093    };
00094 
00095   class CmdNOper : public dabc::Command {
00096 
00097      DABC_COMMAND(CmdNOper, "CmdNOper")
00098 
00099      CmdNOper(base::OperList* lst, double tmout = 5.) :
00100          dabc::Command(CmdName())
00101      {
00102         SetPtr(OperListPar, lst);
00103         SetDouble(TmoutPar, tmout);
00104      }
00105   };
00106 
00107 
00108   class CmdDLM : public dabc::Command {
00109      DABC_COMMAND(CmdDLM,"CmdDLM")
00110 
00111      CmdDLM(unsigned num, double tmout = 5.) :
00112          dabc::Command(CmdName())
00113      {
00114         SetUInt(AddrPar, num);
00115         SetDouble(TmoutPar, tmout);
00116      }
00117   };
00118 
00119   class CmdCalibration : public dabc::Command {
00120 
00121      DABC_COMMAND(CmdCalibration, "RocCalibration")
00122 
00123      static const char* FlagName() { return "CalibrFlag"; }
00124 
00125      CmdCalibration(bool on) :
00126         dabc::Command(CmdName())
00127      {
00128         SetBool(FlagName(), on);
00129      }
00130   };
00131 
00132   class CmdGlobalCalibration : public dabc::Command {
00133 
00134      DABC_COMMAND(CmdGlobalCalibration, "RocGlobalCalibration")
00135 
00136      static const char* FlagName() { return "CalibrFlag"; }
00137 
00138      CmdGlobalCalibration(bool on) :
00139         dabc::Command(CmdName())
00140      {
00141         SetBool(FlagName(), on);
00142      }
00143    };
00144 
00145   class CmdGetBoardPtr : public dabc::Command {
00146 
00147      DABC_COMMAND(CmdGetBoardPtr, "GetBoardPtr")
00148 
00149      static const char* Board() { return "Board"; }
00150    };
00151 
00152   class CmdReturnBoardPtr : public dabc::Command {
00153 
00154      DABC_COMMAND(CmdReturnBoardPtr, "ReturnBoardPtr")
00155 
00156      static const char* Board() { return "Board"; }
00157    };
00158 
00159   class CmdMessagesVector : public dabc::Command {
00160 
00161      DABC_COMMAND(CmdMessagesVector, "MessagesVector")
00162 
00163      static const char* Vector() { return "Vecotr"; }
00164 
00165      CmdMessagesVector(void* vect) :
00166         dabc::Command(CmdName())
00167      {
00168         SetPtr(Vector(), vect);
00169      }
00170    };
00171 
00172   class CmdAddSlave : public dabc::Command {
00173 
00174      DABC_COMMAND(CmdAddSlave, "AddSlave")
00175 
00176      static const char* Master() { return "Master"; }
00177      static const char* RocId() { return "RocId"; }
00178 
00179      CmdAddSlave(unsigned master, unsigned rocid) :
00180         dabc::Command(CmdName())
00181      {
00182         SetUInt(Master(), master);
00183         SetUInt(RocId(), rocid);
00184      }
00185   };
00186 
00187 }
00188 
00189 #endif
00190 

Generated on Tue Dec 10 2013 04:52:23 for ROCsoft by  doxygen 1.7.1