1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #pragma once
- #include "IMachineryManager.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class ICircularController;
- class ISwingController;
- class IExposureController;
- class ICollimatorController;
- class ISensorEncoderController;
- class ILandmarkController;
- class IOutputController;
- class CArmMachineryManager : public IMachineryManager
- {
- public:
- CArmMachineryManager();
- ~CArmMachineryManager();
- public:
- static CArmMachineryManager *Instance();
- public:
- virtual void Initialize(IMechnicalComponentFactory *factory) override;
- virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) override;
- virtual void *Resove(const std::string &name) override;
- private:
- void CreateComponents();
- void DistributeServoDrive();
- void LoadSwingCommunicateInterfaceIDs();
- void LoadCircularCommunicateInterfaceIDs();
- void LoadSwingEncoderCommunicateInterfaceIDs();
- void LoadCircularEncoderCommunicateInterfaceIDs();
- void LoadExposureCommunicateInterfaceIDs();
- void LoadLandmarkCommunicateInterfaceIDs();
- void LoadOutputSignalInterfaceIDs();
- void SetFilterTimeOnComponents();
- void SetupAutouploadOnComponents();
- void SetupPFSTrigger();
- private:
- static CArmMachineryManager *m_instance;
- ICommunicateEntity *m_communicate;
- IMechnicalComponentFactory *m_mechnicalFactory;
- ICircularController *m_cirular;
- ISwingController *m_swing;
- IExposureController *m_exposure;
- ICollimatorController *m_collimator;
- ISensorEncoderController *m_encoderCircular;
- ISensorEncoderController *m_encoderSwing;
- ILandmarkController *m_landmark;
- IOutputController* m_fluoroSwitch;
- };
- }
|