ifw-fcf  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
piezo.hpp
Go to the documentation of this file.
1 
10 #ifndef FCF_DEVMGR_DEVICE_PIEZO_HPP
11 #define FCF_DEVMGR_DEVICE_PIEZO_HPP
12 
13 #include "fcf/common/dispatcher.hpp"
14 
19 
20 
21 namespace fcf {
22 namespace devmgr {
23  namespace piezo {
24 
44 
45  public:
52  Piezo(const std::string& filename,
53  const std::string& name,
54  devmgr::common::DataContext& data_ctx);
55 
59  virtual ~Piezo() {};
60 
72  void CreateObjects(std::shared_ptr<devmgr::common::IDeviceConfig> config = nullptr) override;
73 
89  void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
90  fcf::common::Dispatcher<>& failure,
91  fcf::common::Dispatcher<>& normal) override;
92 
100  virtual void Setup(const std::any& payload) override;
101 
114  virtual bool IsSetupActive(const std::any& payload) const override;
115 
116 
122  virtual void Status(const std::any& payload, std::string& buffer) override;
123 
134  virtual void Status(bool end_acq,
135  const dit::did::Did& dictionary,
136  std::shared_ptr<CCfits::FITS>& fits_handle) override;
137 
144  virtual void UpdateStatus() override;
145 
150  virtual std::shared_ptr<fcf::devmgr::common::DeviceLcsIf> GetLcsIf() const override;
151 
157  virtual std::shared_ptr<fcf::devmgr::common::IDeviceConfig> GetConfig() const override;
158 
159  protected:
162  std::shared_ptr<PiezoConfig> m_config;
163 
164  // Local Control System Interface
165  std::shared_ptr<PiezoLcsIf<fcfif::PiezoTopicUnion>> m_lcs_if;
166  };
167  }
168 }
169 }
170 
171 
172 #endif //FCF_DEVMGR_DEVICE_PIEZO_HPP
std::shared_ptr< PiezoLcsIf< fcfif::PiezoTopicUnion > > m_lcs_if
pointer to device lcs interface object
Definition: piezo.hpp:165
Device class header file.
virtual std::shared_ptr< fcf::devmgr::common::IDeviceConfig > GetConfig() const override
Get a pointer of device configuration.
Definition: piezo.cpp:108
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: piezo.cpp:187
Piezo(const std::string &filename, const std::string &name, devmgr::common::DataContext &data_ctx)
Piezo constructor.
Definition: piezo.cpp:30
void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal) override
Register a communication interface object.
Definition: piezo.cpp:91
The piezoControllerData struct.
Definition: piezoLcsIf.hpp:33
PiezoControllerData m_controller_status
&lt; object containing the status of the controller
Definition: piezo.hpp:161
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: piezo.cpp:307
void CreateObjects(std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: piezo.cpp:38
std::shared_ptr< PiezoConfig > m_config
pointer to device config object
Definition: piezo.hpp:162
PiezoConfig class header file.
Definition: device.hpp:30
virtual std::shared_ptr< fcf::devmgr::common::DeviceLcsIf > GetLcsIf() const override
Definition: piezo.cpp:102
virtual void Setup(const std::any &payload) override
Executes a setup of the piezo device.
Definition: piezo.cpp:114
virtual void UpdateStatus() override
Update the status of the Piezo device in the OLDB.
Definition: piezo.cpp:250
DataContext class header file.
Definition: dataContext.hpp:81
virtual ~Piezo()
Default destructor.
Definition: piezo.hpp:59
piezoLcsIf class header file.
The Piezo class.
Definition: piezo.hpp:43