QEleNetworkInterface.hh

Go to the documentation of this file.
00001 
00007 #ifndef QELE_NETWORK_INTERFACE_HH
00008 #define QELE_NETWORK_INTERFACE_HH
00009 
00010 
00011 // C/C++ includes
00012 #include <string>
00013 
00014 // Apollo Includes
00015 #include "QCuore.hh"
00016 #include "QError.hh"
00017 #include "QEleBaseInterface.hh"
00018 #include "QSlowBridgeClient.hh"
00019 
00020 class QEleNetworkInterface: public QEleBaseInterface
00021 {
00022 public:
00023 
00024 
00026   QEleNetworkInterface();
00027   
00029   virtual ~QEleNetworkInterface();
00030 
00031 
00032   // Open connection with electronic
00033   virtual void Open();
00034 
00035   // Close connection with electronic
00036   virtual void Close();
00037 
00038   // Check if connection is opened
00039   const bool IsOpen() const {return fIsOpen;}
00040 
00041 
00042   // Front-End Write/Read
00043   virtual void WriteFrontEnd(const QEleLib::QEleAddress &Add, size_t Reg, char  Data);
00044   virtual void ReadFrontEnd (const QEleLib::QEleAddress &Add, size_t Reg, char& Data);
00045   
00046   // Bessel Write/Read
00047   virtual void WriteBessel(const QEleLib::QEleAddress &Add, char  Data);
00048   virtual void ReadBessel (const QEleLib::QEleAddress &Add, char& Data);
00049 
00050   /*
00051   // Rele Write/Read
00052   virtual void WriteRele(int Controller, char Data);
00053   virtual void ReadRele (int Controller, char Data);
00054   */
00055 
00056 
00057   // Pulser Write/Read
00058   virtual void WritePulserAttenuation(const QEleLib::QEleAddress &Add, char  Attenuation);
00059   virtual void ReadPulserAttenuation (const QEleLib::QEleAddress &Add, char& Attenuation);
00060   virtual void WritePulserStatus(const QEleLib::QEleAddress &Add, char  Time, char  LowDAC, char  Status);
00061   virtual void ReadPulserStatus (const QEleLib::QEleAddress &Add, char& Time, char& LowDAC, char& Status);
00062   
00063   
00064   // Error Handling
00065   virtual const bool IsError()               const {return fIsError;}
00066   virtual const std::string& GetErrorString()const {return fErrorString;}
00067   virtual const QError_ GetQErrorCode()      const {return fQErrorCode;}
00068   
00069 protected:
00070 
00071 private:
00072 
00073   //
00074   bool fIsOpen;
00075   
00076   // Variables for error handling
00077   bool        fIsError;
00078   std::string fErrorString;
00079   QError_     fQErrorCode;
00080 
00081   QSlowBridgeClient fClient;
00082 
00083   // Reset Error Handling Variables
00084   void ErrorReset();
00085 
00086   // Decode Error
00087   bool DecodeError(int Code);
00088 
00089 };
00090 
00091 #endif

Generated on Tue Nov 16 10:49:54 2010 for CUORE Software by  doxygen 1.5.6