ifw-fcf  4.1.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 #include "fcf/common/dispatcher.hpp"
14 
20 
21 namespace fcf::devmgr::drot {
22 
41 
42  public:
49  Drot(const std::string& filename,
50  const std::string& name,
52 
56  virtual ~Drot() = default;
57 
69  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
70 
78  virtual void Setup(const std::any& payload) override;
79 
92  virtual bool IsSetupActive(const std::any& payload) const override;
93 
94 
100  virtual void Status(const std::any& payload, std::string& buffer) override;
101 
112  virtual void Status(bool end_acq,
113  const core::dit::did::Did& dictionary,
114  std::shared_ptr<CCfits::FITS>& fits_handle) override;
115 
122  virtual void UpdateStatus() override;
123 
124 
125  protected:
137  void GetStatusBuffer(const std::string& stat_prefix,
138  const DrotControllerData* const data,
139  std::string& buffer);
140 
148  void GetStatusHeader(const std::string& prefix,
149  const DrotControllerData* const data,
150  bool end_acq,
151  const core::dit::did::Did& dictionary,
152  std::shared_ptr<CCfits::FITS>& fits_handle);
153 
154  protected:
157  std::string m_target_named_pos;
158 
159  private:
160  log4cplus::Logger m_logger;
161  };
162 
163 } //devmgr
164 
165 
166 #endif //FCF_DEVMGR_DEVICE_DROT_HPP
dataContext.hpp
DataContext class header file.
fcf::devmgr::drot::Drot::~Drot
virtual ~Drot()=default
Default destructor.
fcf::devmgr::drot::Drot::Status
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: drot.cpp:260
fcf::devmgr::drot::Drot::GetStatusBuffer
void GetStatusBuffer(const std::string &stat_prefix, const DrotControllerData *const data, std::string &buffer)
Get status buffer.
Definition: drot.cpp:225
fcf::devmgr::drot::Drot::GetStatusHeader
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:296
fcf::devmgr::drot
Definition: drot.cpp:23
fcf::devmgr::drot::Drot::UpdateStatus
virtual void UpdateStatus() override
Update the status of the Drot device in the OLDB.
Definition: drot.cpp:197
drotConfig.hpp
DrotConfig class header file.
fcf::devmgr::common::DataContext
Definition: dataContext.hpp:90
fcf::devmgr::drot::Drot::m_target_named_pos
std::string m_target_named_pos
Definition: drot.hpp:157
Drot
Definition: Drot.py:1
fcf::devmgr::drot::Drot::m_controller_status
DrotControllerData m_controller_status
< object containing the status of the controller
Definition: drot.hpp:156
motor.hpp
Motor class source file.
fcf::devmgr::drot::Drot::CreateObjects
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: drot.cpp:36
fcf::devmgr::drot::Drot::Drot
Drot(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
Drot constructor.
Definition: drot.cpp:27
iDeviceConfig.hpp
IDeviceConfig class header file.
fcf::devmgr::drot::Drot::Setup
virtual void Setup(const std::any &payload) override
Executes a setup of the drot device.
Definition: drot.cpp:52
fcf::devmgr::motor::Motor
The Motor class.
Definition: motor.hpp:40
drotLcsIf.hpp
drotLcsIf class header file.
fcf::devmgr::drot::Drot::IsSetupActive
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: drot.cpp:118
fcf::devmgr::drot::DrotControllerData
The drotControllerData struct.
Definition: drotLcsIf.hpp:29