123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #pragma once
- #include "DIOS.Dev.DAP.Mould.hpp"
- #include "IODeviceWithSCF.tlh"
- #include "IODeviceWithSCF.tli"
- #include "DIOS.Dev.MSGMould.hpp"
- #ifdef DIOSDEVGENDEMO_EXPORTS
- #define _DIOSDEVGENDEMO_API __declspec(dllexport)
- #else
- #define _DIOSDEVGENDEMO_API __declspec(dllimport)
- #endif
- namespace DIOS::Dev::Detail::DAP
- {
- //-----------------------------------------------------------------------------
- // PTWDAPDevice
- //-----------------------------------------------------------------------------
- namespace nDev = DIOS::Dev;
- class _DIOSDEVGENDEMO_API VACUE130DAP : public IODeviceWithSCF <IODeviceDetail>,public DAPMould
- {
- using super = IODeviceWithSCF <IODeviceDetail>;
- using superGen = DAPMould;
-
- public:
- VACUE130DAP(std::shared_ptr <IOEventCenter> center, nsSCF::SCF SCF, string configfile);
- ~VACUE130DAP();
- virtual std::string GetGUID() const override;
- RET_STATUS ClearDAP();
- RET_STATUS QueryDAP(float& value);
- void OnCallBack(const char* strPackage, DWORD Length);
- void SubscribeSelf(dios_mqtt_connection* conn) override;
- private:
- RET_STATUS HWSend(char* strCommand, int nTimeOut =100);
- std::unique_ptr<nsDetail::MSGUnit> m_MSGUnit;
- ResDataObject m_DapConfig;
- std::string GetDynamicLibraryPath();
- std::string GetFileVersion(std::string strFilePathName);
- void GetConfData();
- string m_strCommunicateType{ "com" };
- //指令
- void ResetDap();
- void TestDAP();
- void QueryStatus();
- void SetProtocol();
- void GetMeanValue();
- //发生器数据
- float m_fPostKV{ 0.0 };
- float m_fPostMAS{ 0.0 };
- float m_fPostMA{ 0.0 };
- float m_fPostMS{ 0.0 };
- //遮光器数据
- float m_fSID{ 0.0 };
- float m_fXsize{ 0.0 };
- float m_fYsize{ 0.0 };
- virtual RET_STATUS SetGenCurrentSMState(std::string value) override;
- virtual RET_STATUS SetGenPostKV(const std::string value) override;
- virtual RET_STATUS SetGenPostMAS(const std::string value) override;
- virtual RET_STATUS SetGenPostMA(const std::string value) override;
- virtual RET_STATUS SetGenPostMS(const std::string value) override;
- virtual RET_STATUS SetCollSID(const std::string value) override;
- virtual RET_STATUS SetCollXSIZE(const std::string value) override;
- virtual RET_STATUS SetCollYSIZE(const std::string value) override;
- private:
- void Register();
- public:
- protected:
- private:
- void FireNotify (std::string key, std::string context);
- };
- }
- //-----------------------------------------------------------------------------
- // DAPDriver
- //-----------------------------------------------------------------------------
- namespace DIOS::Dev::Detail::DAP
- {
- class _DIOSDEVGENDEMO_API DAPDriver : public IODriverWithSCF <DriverMould>
- {
- using super = IODriverWithSCF <DriverMould>;
- public:
- DAPDriver();
- virtual ~DAPDriver();
- public:
- virtual void Prepare () override;
- virtual bool DATA_ACTION Connect () override;
- virtual void Disconnect() override;
- virtual bool isConnected() const override;
- virtual void Dequeue (const char * Packet, DWORD Length) override;
- virtual void FireNotify (int code, std::string key, std::string content) override;
- virtual auto CreateDevice (int index)->std::unique_ptr <IODevice> override;
- virtual std::string DriverProbe () override;
- virtual std::string GetResource () override;
- virtual std::string DeviceProbe () override;
- private:
- static PACKET_RET callbackPackageProcess (const char* RecData, DWORD nLength, DWORD& PacketLength);
- bool m_bDemoConnected; // 在 DEMO 模式下, 调用过 Connect 吗?
- VACUE130DAP* m_pDevice {nullptr};
- };
- }
|