ifw-fcf  5.0.0-pre2
drot.hpp
Go to the documentation of this file.
1 
10 #ifndef FCF_DEVMGR_DEVICE_DROT_HPP
11 #define FCF_DEVMGR_DEVICE_DROT_HPP
12 
13 
19 
20 namespace fcf::devmgr::drot {
21 
40 
41  public:
48  Drot(const std::string& filename,
49  const std::string& name,
51 
55  virtual ~Drot() = default;
56 
68  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
69 
77  virtual void Setup(const std::any& payload) override;
78 
91  virtual bool IsSetupActive(const std::any& payload) const override;
92 
93 
99  virtual void Status(const std::any& payload, std::string& buffer) override;
100 
111  virtual void Status(bool end_acq,
112  const core::dit::did::Did& dictionary,
113  std::shared_ptr<CCfits::FITS>& fits_handle) override;
114 
121  virtual void UpdateStatus() override;
122 
123 
124  protected:
136  void GetStatusBuffer(const std::string& stat_prefix,
137  const DrotControllerData* const data,
138  std::string& buffer);
139 
147  void GetStatusHeader(const std::string& prefix,
148  const DrotControllerData* const data,
149  bool end_acq,
150  const core::dit::did::Did& dictionary,
151  std::shared_ptr<CCfits::FITS>& fits_handle);
152 
153  protected:
156  std::string m_target_named_pos;
157 
158  private:
159  log4cplus::Logger m_logger;
160  };
161 
162 } //devmgr
163 
164 
165 #endif //FCF_DEVMGR_DEVICE_DROT_HPP
Definition: dataContext.hpp:90
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: drot.cpp:267
DrotControllerData m_controller_status
< object containing the status of the controller
Definition: drot.hpp:155
void GetStatusBuffer(const std::string &stat_prefix, const DrotControllerData *const data, std::string &buffer)
Get status buffer.
Definition: drot.cpp:227
std::string m_target_named_pos
Definition: drot.hpp:156
void GetStatusHeader(const std::string &prefix, const DrotControllerData *const data, bool end_acq, const core::dit::did::Did &dictionary, std::shared_ptr< CCfits::FITS > &fits_handle)
Get device status for the data acquisition.
Definition: drot.cpp:303
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: drot.cpp:119
virtual void Setup(const std::any &payload) override
Executes a setup of the drot device.
Definition: drot.cpp:52
Drot(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
Drot constructor.
Definition: drot.cpp:27
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: drot.cpp:36
virtual ~Drot()=default
Default destructor.
virtual void UpdateStatus() override
Update the status of the Drot device in the OLDB.
Definition: drot.cpp:199
The Motor class.
Definition: motor.hpp:38
DataContext class header file.
DrotConfig class header file.
drotLcsIf class header file.
IDeviceConfig class header file.
Motor class source file.
Definition: Drot.py:1
Definition: drot.cpp:23
The drotControllerData struct.
Definition: drotLcsIf.hpp:29