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