10 #ifndef FCF_DEVMGR_DEVICE_MOTOR_HPP
11 #define FCF_DEVMGR_DEVICE_MOTOR_HPP
13 #include <fcf/common/dispatcher.hpp>
20 namespace fcf::devmgr::motor {
76 Motor(
const std::string filename,
77 const std::string name,
97 void CreateObjects(std::shared_ptr<devmgr::common::IDeviceConfig> config =
nullptr);
114 void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
115 fcf::common::Dispatcher<>& failure,
116 fcf::common::Dispatcher<>& normal);
125 virtual void Setup(
const std::any& payload);
141 virtual void Status(
const std::any& payload, std::string& buffer);
153 virtual void Status(
bool end_acq,
154 const dit::did::Did& dictionary,
155 std::shared_ptr<CCfits::FITS>& fits_handle);
172 virtual std::shared_ptr<devmgr::common::DeviceLcsIf>
GetLcsIf()
const;
179 virtual std::shared_ptr<devmgr::common::IDeviceConfig>
GetConfig()
const;
192 std::shared_ptr<MotorLcsIf<fcfif::MotorTopicUnion>>
m_lcs_if;
198 #endif //FCF_DEVMGR_DEVICE_MOTOR_HPP
ShutterLcsIf class header file.
Device class header file.
void CreateObjects(std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)
Create object instances.
Definition: motor.cpp:37
virtual void Status(const std::any &payload, std::string &buffer)
Obtain the status of the device.
Definition: motor.cpp:360
MotorControllerData m_controller_status
< object containing the status of the controller
Definition: motor.hpp:186
void SetTargetNamedPosition(const std::string named_position)
Definition: motor.cpp:252
virtual void Setup(const std::any &payload)
Executes a setup of the motor device.
Definition: motor.cpp:122
virtual void UpdateStatus()
Update the status of the motor device in the OLDB.
Definition: motor.cpp:265
virtual std::shared_ptr< devmgr::common::IDeviceConfig > GetConfig() const
Get a pointer of device configuration.
Definition: motor.cpp:116
Definition: device.hpp:30
const std::string GetTargetNamedPosition()
Definition: motor.cpp:259
void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Register a communication interface object.
Definition: motor.cpp:100
DataContext class header file.
The MotorControllerData struct.
Definition: motorLcsIf.hpp:34
virtual ~Motor()
Default destructor.
Definition: motor.hpp:84
Definition: dataContext.hpp:81
std::shared_ptr< MotorLcsIf< fcfif::MotorTopicUnion > > m_lcs_if
Definition: motor.hpp:192
std::shared_ptr< MotorConfig > m_config
Local Control System Interface.
Definition: motor.hpp:190
std::string m_target_named_pos
pointer to device config object
Definition: motor.hpp:187
virtual std::shared_ptr< devmgr::common::DeviceLcsIf > GetLcsIf() const
Get a pointer of device LCS interface.
Definition: motor.cpp:111
The Motor class.
Definition: motor.hpp:39
MotorConfig class header file.
virtual bool IsSetupActive(const std::any &payload) const
Check if last setup message is still active.
Definition: motor.cpp:200
Motor(const std::string filename, const std::string name, devmgr::common::DataContext &data_ctx)
Motor constructor.
Definition: motor.cpp:28