123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- #include "IODeviceWithSCF.tlh"
- #include "IODeviceWithSCF.tli"
- #include "DIOS.Dev.Collimator.Mould.hpp"
- namespace DIOS::Dev::Detail::SYNBOX
- {
- namespace nsCol = DIOS::Dev::Detail::Collimator;
- class CollimatorDevice : public nsCol::ColliamtorMould
- {
- public:
- using super = ColliamtorMould;
- CollimatorDevice(std::shared_ptr <IOEventCenter> center, nsSCF::SCF SCF);
- ~CollimatorDevice();
- public:
- void Register(Dispatch* Dispatch);
- void OnCallback();
- ResDataObject ResDYNConfig;
-
- int DealReceiveData(string sCmdID, const char* pData, int Datalen);
- protected:
- virtual RET_STATUS SetCollimatorMode(int pParams) override;
- virtual RET_STATUS SetCollimatorSize(float xproportion, float yproportion) override;
- virtual RET_STATUS SetCollimatorSID(int sid) override;
- virtual RET_STATUS SetCollimatorFilter(int pParams) override;
- virtual RET_STATUS SetCollimatorAngle(float pParams) override;
- virtual RET_STATUS SetCollimatorLight(int pParams) override;
- private:
- nsSCF::SCF m_SCF;
- std::shared_ptr <IOEventCenter> EventCenter;
- void FireNotify(std::string key, std::string context);
- bool SendCANBySCF(int cmdID, unsigned char* cmd, int cmdlen);
- };
- }
|