8#ifndef FCF_DEVMGR_DEVICE_DROT_HPP
9#define FCF_DEVMGR_DEVICE_DROT_HPP
47 Drot(
const std::string& filename,
48 const std::string& name,
67 void CreateObjects(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config =
nullptr)
override;
76 virtual void Setup(
const std::any& payload)
override;
90 virtual bool IsSetupActive(
const std::any& payload)
const override;
98 virtual void Status(
const std::any& payload, std::string& buffer)
override;
110 virtual void Status(
bool end_acq,
111 const ifw::core::dit::did::Did& dictionary,
112 std::shared_ptr<CCfits::FITS>& fits_handle)
override;
137 std::string& buffer);
149 const ifw::core::dit::did::Did& dictionary,
150 std::shared_ptr<CCfits::FITS>& fits_handle);
157 std::string m_target_named_pos;
158 mutable std::chrono::steady_clock::time_point m_hw_failure_start;
159 static constexpr int HW_FAILURE_RETRIES = 5;
162 log4cplus::Logger m_logger;
Definition dataContext.hpp:86
virtual void UpdateStatus() override
Update the status of the Drot device in the OLDB.
Definition drot.cpp:237
void HandleAction(const std::shared_ptr< fcfif::DrotDevice > &drot)
Definition drot.cpp:48
Drot(const std::string &filename, const std::string &name, ifw::fcf::devmgr::common::DataContext &data_ctx)
Drot constructor.
Definition drot.cpp:23
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition drot.cpp:305
void GetStatusBuffer(const std::string &stat_prefix, const DrotControllerData *const data, std::string &buffer)
Get status buffer.
Definition drot.cpp:265
virtual ~Drot()=default
Default destructor.
virtual void Setup(const std::any &payload) override
Executes a setup of the drot device.
Definition drot.cpp:87
void CreateObjects(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition drot.cpp:32
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition drot.cpp:130
void GetStatusHeader(const std::string &prefix, const DrotControllerData *const data, bool end_acq, const ifw::core::dit::did::Did &dictionary, std::shared_ptr< CCfits::FITS > &fits_handle)
Get device status for the data acquisition.
Definition drot.cpp:341
The Motor class.
Definition motor.hpp:37
Drot class source file.
Definition drot.cpp:19
The drotControllerData struct.
Definition drotLcsIf.hpp:28