00001 00019 #ifndef _Q_DIGITAL_CONTROLLER_V1_HH_ 00020 #define _Q_DIGITAL_CONTROLLER_V1_HH_ 00021 00022 #include "QBaseDigitalController.hh" 00023 #include "QNiDigitalController.hh" 00024 00025 #include <vector> 00026 00027 class QDigitalController_v1: public QBaseDigitalController 00028 { 00029 public: 00030 QDigitalController_v1(); 00031 virtual ~QDigitalController_v1(); 00032 00033 virtual bool Prepare(const unsigned short& pulseId, 00034 const QPulserConfig_t* cfg); 00035 00036 virtual bool Fire(); 00037 00038 virtual bool SendSynchSignal(); 00039 00040 virtual void ResetPorts(); 00041 private: 00042 00043 QNiDigitalController fNiController; 00044 00046 std::vector<unsigned char> fBytes; 00047 00049 unsigned short fSignalTimeMs; 00050 00060 bool Conf2Bits(const char& mem0, 00061 const char& mem1, 00062 const char& mem2, 00063 const char& mem3, 00064 const unsigned short& id, 00065 std::vector<unsigned char>& bytes); 00066 00067 }; 00068 #endif