ifw-fcf  3.0.0
actuator.hpp
Go to the documentation of this file.
1 
10 #ifndef FCF_DEVMGR_DEVICE_ACTUATOR_HPP
11 #define FCF_DEVMGR_DEVICE_ACTUATOR_HPP
12 
13 #include "fcf/common/dispatcher.hpp"
14 
19 
20 
21 namespace fcf {
22 namespace devmgr {
23  namespace actuator {
24 
44 
45  public:
52  Actuator(const std::string& filename,
53  const std::string& name,
55 
59  virtual ~Actuator() {};
71  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr);
72 
88  void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
89  fcf::common::Dispatcher<>& failure,
90  fcf::common::Dispatcher<>& normal);
91 
99  virtual void Setup(const std::any& payload);
100 
113  virtual bool IsSetupActive(const std::any& payload) const;
114 
115 
121  virtual void Status(const std::any& payload, std::string& buffer);
122 
133  virtual void Status(bool end_acq,
134  const dit::did::Did& dictionary,
135  std::shared_ptr<CCfits::FITS>& fits_handle);
136 
143  virtual void UpdateStatus();
144 
149  virtual std::shared_ptr<fcf::devmgr::common::DeviceLcsIf> GetLcsIf() const;
150 
156  virtual std::shared_ptr<fcf::devmgr::common::IDeviceConfig> GetConfig() const;
157 
158  protected:
161  std::shared_ptr<ActuatorConfig> m_config;
162 
163  // Local Control System Interface
164  std::shared_ptr<ActuatorLcsIf<fcfif::ActuatorTopicUnion>> m_lcs_if;
165  };
166  }
167 }
168 }
169 
170 
171 #endif //FCF_DEVMGR_DEVICE_ACTUATOR_HPP
fcf::devmgr::actuator::Actuator::IsSetupActive
virtual bool IsSetupActive(const std::any &payload) const
Check if last setup message is still active.
Definition: actuator.cpp:161
dataContext.hpp
DataContext class header file.
device.hpp
Device class header file.
fcf::devmgr::actuator::ActuatorControllerData
The actuatorControllerData struct.
Definition: actuatorLcsIf.hpp:33
fcf::devmgr::actuator::Actuator::UpdateStatus
virtual void UpdateStatus()
Update the status of the actuator device in the OLDB.
Definition: actuator.cpp:237
fcf::devmgr::actuator::Actuator::m_controller_status
ActuatorControllerData m_controller_status
< object containing the status of the controller
Definition: actuator.hpp:160
fcf::devmgr::actuator::Actuator::GetLcsIf
virtual std::shared_ptr< fcf::devmgr::common::DeviceLcsIf > GetLcsIf() const
Definition: actuator.cpp:103
actuatorConfig.hpp
actuatorConfig class header file.
fcf::devmgr::actuator::Actuator::~Actuator
virtual ~Actuator()
Default destructor.
Definition: actuator.hpp:59
fcf::devmgr::common::DataContext
Definition: dataContext.hpp:92
fcf
Definition: actionMgr.cpp:29
fcf::devmgr::actuator::Actuator::GetConfig
virtual std::shared_ptr< fcf::devmgr::common::IDeviceConfig > GetConfig() const
Get a pointer of device configuration.
Definition: actuator.cpp:110
fcf::devmgr::actuator::Actuator::m_lcs_if
std::shared_ptr< ActuatorLcsIf< fcfif::ActuatorTopicUnion > > m_lcs_if
pointer to device lcs interface object
Definition: actuator.hpp:164
fcf::devmgr::actuator::Actuator::CreateObjects
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr)
Create object instances.
Definition: actuator.cpp:39
actuatorLcsIf.hpp
actuatorLcsIf class header file.
fcf::devmgr::common::Device
Definition: device.hpp:30
fcf::devmgr::actuator::Actuator::m_config
std::shared_ptr< ActuatorConfig > m_config
pointer to device config object
Definition: actuator.hpp:161
fcf::devmgr::actuator::Actuator::Status
virtual void Status(const std::any &payload, std::string &buffer)
Obtain the status of the device.
Definition: actuator.cpp:282
fcf::devmgr::actuator::Actuator::Actuator
Actuator(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
actuator constructor
Definition: actuator.cpp:31
fcf::devmgr::actuator::Actuator::Setup
virtual void Setup(const std::any &payload)
Executes a setup of the actuator device.
Definition: actuator.cpp:116
fcf::devmgr::actuator::Actuator
The actuator class.
Definition: actuator.hpp:43
fcf::devmgr::actuator::Actuator::RegisterComm
void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Register a communication interface object.
Definition: actuator.cpp:92