#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include "protocol/zfpga_commander/zfpga_commander.hpp" #include "zfpga_basic_protocol/zaf_protocol.h" #include "zfpga_basic_protocol/zaf_regs.hpp" // #include #include #include #include #include #include #include #include #include // #define REGADDOFF__FPGA_APP 0x1020 namespace iflytop { namespace syncbox16chsdk { using namespace std; typedef enum { kWorkMode_extCpyMode, kWorkMode_extTriMode, kWorkMode_manualTriMode, } WorkMode_t; typedef enum { kreg_app = REGADDOFF__FPGA_APP, kreg_workmode = REGADDOFF__FPGA_APP + 1, kreg_pluse_gen_num = REGADDOFF__FPGA_APP + 2, kreg_pluse_pluse_width = REGADDOFF__FPGA_APP + 3, } reg_t; const char* WorkModeToStr(uint32_t mode); WorkMode_t WorkModeValueOf(const char* str); WorkMode_t WorkModeValueOf(QString str); list WorkModeStrList(); class SyncBox16ChSDK { unique_ptr m_thread; public: static SyncBox16ChSDK* ins() { static SyncBox16ChSDK cmder; return &cmder; } public: void initialize(); void setPluseWidth(uint32_t widthus); void setPluseFreq(uint32_t freq); void setPluseGeneratorMode(); ZFPGACommander* getCmder() { return ZFPGACommander::ins(); } public: }; } // namespace syncbox16chsdk } // namespace iflytop