ifw-fcf 6.0.0
Loading...
Searching...
No Matches
maxis.hpp
Go to the documentation of this file.
1
9#ifndef FCF_DEVMGR_DEVICE_MAXIS_HPP
10#define FCF_DEVMGR_DEVICE_MAXIS_HPP
11
17
38
39 public:
46 MAxis(const std::string& filename,
47 const std::string& name,
49
53 virtual ~MAxis() = default;
54
66 void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
67
75 virtual void Setup(const std::any& payload) override;
76
89 virtual bool IsSetupActive(const std::any& payload) const override;
90
91
92 void SetTargetNamedPosition(const std::string named_position);
93 const std::string GetTargetNamedPosition();
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 void GetStatusList(utils::bat::DbVector& cfg_status,
125 const MAxisControllerData& status_data);
126
127 void HandleAction(const std::shared_ptr<fcfif::MAxisDevice>& maxis);
128 void HandleMotAction(const std::shared_ptr<fcfif::MAxisDevice>& maxis);
129 void HandleTrackAction(const std::shared_ptr<fcfif::MAxisDevice>& maxis);
130 virtual void HandleCustomAction(const std::shared_ptr<fcfif::MAxisDevice>& maxis);
131 virtual void GetCustomStatusBuffer(const std::string& stat_prefix, std::string& device_status);
132 virtual void GetCustomStatusHeader(const std::string& prefix,
133 bool end_acq,
134 const core::dit::did::Did& dictionary,
135 std::shared_ptr<CCfits::FITS>& fits_handle);
136 private:
148 void GetStatusBuffer(const std::string& stat_prefix,
149 const MAxisControllerData* const data,
150 std::string& buffer);
151
159 void GetStatusHeader(const std::string& prefix,
160 const MAxisControllerData* const data,
161 bool end_acq,
162 const core::dit::did::Did& dictionary,
163 std::shared_ptr<CCfits::FITS>& fits_handle);
164
165 protected:
169
170 private:
171 log4cplus::Logger m_logger;
172 };
173
174} //namespace
175
176
177#endif //FCF_DEVMGR_DEVICE_MAXIS_HPP
Definition: dataContext.hpp:90
Definition: device.hpp:33
The MAxis class.
Definition: maxis.hpp:37
virtual void GetCustomStatusBuffer(const std::string &stat_prefix, std::string &device_status)
Definition: maxis.cpp:468
virtual void HandleCustomAction(const std::shared_ptr< fcfif::MAxisDevice > &maxis)
Definition: maxis.cpp:149
virtual void Setup(const std::any &payload) override
Executes a setup of the adc device.
Definition: maxis.cpp:167
virtual void GetCustomStatusHeader(const std::string &prefix, bool end_acq, const core::dit::did::Did &dictionary, std::shared_ptr< CCfits::FITS > &fits_handle)
Definition: maxis.cpp:521
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: maxis.cpp:200
void HandleMotAction(const std::shared_ptr< fcfif::MAxisDevice > &maxis)
Definition: maxis.cpp:99
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: maxis.cpp:474
void HandleAction(const std::shared_ptr< fcfif::MAxisDevice > &maxis)
Definition: maxis.cpp:51
void GetStatusList(utils::bat::DbVector &cfg_status, const MAxisControllerData &status_data)
Definition: maxis.cpp:295
MAxisControllerData m_controller_status
< object containing the status of the controller
Definition: maxis.hpp:167
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: maxis.cpp:33
void HandleTrackAction(const std::shared_ptr< fcfif::MAxisDevice > &maxis)
Definition: maxis.cpp:75
void SetTargetNamedPosition(const std::string named_position)
Definition: maxis.cpp:282
virtual ~MAxis()=default
Default destructor.
virtual void UpdateStatus() override
Update the status of the MAxis device in the OLDB.
Definition: maxis.cpp:371
std::string m_target_named_pos
Definition: maxis.hpp:168
const std::string GetTargetNamedPosition()
Definition: maxis.cpp:289
DataContext class header file.
Device class header file.
IDeviceConfig class header file.
MAxisConfig class header file.
adcLcsIf class header file.
Definition: maxis.hpp:18
The adcControllerData struct.
Definition: maxisLcsIf.hpp:29