00001 00002 #ifndef _Q_DIGITAL_CONTROLLER_V1_HH_ 00003 #define _Q_DIGITAL_CONTROLLER_V1_HH_ 00004 00005 #include "QBaseDigitalController.hh" 00006 #include "QNiDigitalController.hh" 00007 00008 #include <vector> 00009 00026 class QDigitalController_v1: public QBaseDigitalController 00027 { 00028 public: 00029 QDigitalController_v1(); 00030 virtual ~QDigitalController_v1(); 00031 00032 virtual bool Prepare(const unsigned int& pulseId, 00033 const QPulserConfig* cfg); 00034 00035 virtual bool Fire(); 00036 00037 virtual bool SendSynchSignal(); 00038 00039 virtual void ResetPorts(); 00040 private: 00041 00042 QNiDigitalController fNiController; 00043 00045 std::vector<unsigned char> fBytes; 00046 00048 unsigned int fSignalTimeMs; 00049 00059 bool Conf2Bits(const char& mem0, 00060 const char& mem1, 00061 const char& mem2, 00062 const char& mem3, 00063 const unsigned int& id, 00064 std::vector<unsigned char>& bytes); 00065 00066 }; 00067 #endif