ifw-fcf 7.1.4
Loading...
Searching...
No Matches
motor.hpp
Go to the documentation of this file.
1
8#ifndef FCF_DEVMGR_DEVICE_MOTOR_HPP
9#define FCF_DEVMGR_DEVICE_MOTOR_HPP
10
15
16
18
36 {
37
38 enum {
39 POS_TARGET = 0,
40 POS_ACTUAL,
41 SCALE_FACTOR,
42 AXIS_STATUS,
43 BCKLASHSTEP,
44 LAST_CMD,
45 ERROR_CODE,
46 INIT_STEP,
47 REF_SWITCH,
48 AT_MAX_POS,
49 AT_MAX_POS_VAL,
50 AT_MIN_POS,
51 AT_MIN_POS_VAL,
52 INFO_DATA1,
53 INFO_DATA2,
54 SWITCH_LHW,
55 BRAKE_ACTIVE,
56 LOCAL,
57 SWITCH_INDEX,
58 SWITCH_REF,
59 VEL_TARGET,
60 VEL_ACTUAL,
61 SWITCH_LSTOP,
62 SWITCH_USTOP
63 };
64
65 public:
72 Motor(const std::string filename,
73 const std::string name,
75
76
80 virtual ~Motor() = default;
81
93 void CreateObjects(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config = nullptr) override ;
94
102 virtual void Setup(const std::any& payload) override ;
103
111 virtual bool IsSetupActive(const std::any& payload) const override;
112
113
114
120 virtual void Status(const std::any& payload, std::string& buffer) override;
121
132 virtual void Status(bool end_acq,
133 const ifw::core::dit::did::Did& dictionary,
134 std::shared_ptr<CCfits::FITS>& fits_handle) override;
135
136
145 void GetStatusList(ifw::core::utils::bat::DbVector& cfg_status,
146 const MotorControllerData& status_data);
159 virtual void UpdateStatus() override;
160
161 void SetTargetNamedPosition(const std::string named_position);
162 const std::string GetTargetNamedPosition();
163
164 protected:
176 void GetStatusBuffer(const std::string& stat_prefix,
177 const MotorControllerData* const data,
178 std::string& buffer);
179
187 void GetStatusHeader(const std::string& prefix,
188 const MotorControllerData* const data,
189 bool end_acq,
190 const ifw::core::dit::did::Did& dictionary,
191 std::shared_ptr<CCfits::FITS>& fits_handle);
192
193 protected:
194 void HandleAction(const std::shared_ptr<fcfif::MotorDevice>& motor);
195
196
197 private:
199 MotorControllerData m_controller_status;
200 std::string m_target_named_pos;
201
202 log4cplus::Logger m_logger;
203 };
204
205}
206
207
208#endif //FCF_DEVMGR_DEVICE_MOTOR_HPP
Definition dataContext.hpp:86
Definition device.hpp:32
The Motor class.
Definition motor.hpp:36
void SetTargetNamedPosition(const std::string named_position)
Definition motor.cpp:188
const std::string GetTargetNamedPosition()
Definition motor.cpp:195
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition motor.cpp:427
void HandleAction(const std::shared_ptr< fcfif::MotorDevice > &motor)
Definition motor.cpp:49
void GetStatusList(ifw::core::utils::bat::DbVector &cfg_status, const MotorControllerData &status_data)
Get a vector with device status data.
Definition motor.cpp:201
virtual void UpdateStatus() override
Update the status of the motor device in the OLDB.
Definition motor.cpp:290
void GetStatusBuffer(const std::string &stat_prefix, const MotorControllerData *const data, std::string &buffer)
Get status buffer.
Definition motor.cpp:321
Motor(const std::string filename, const std::string name, ifw::fcf::devmgr::common::DataContext &data_ctx)
Motor constructor.
Definition motor.cpp:24
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition motor.cpp:113
virtual void Setup(const std::any &payload) override
Executes a setup of the motor device.
Definition motor.cpp:80
virtual ~Motor()=default
Default destructor.
void CreateObjects(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition motor.cpp:33
void GetStatusHeader(const std::string &prefix, const MotorControllerData *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 motor.cpp:459
Motor class source file.
Definition motor.hpp:17
The MotorControllerData struct.
Definition motorLcsIf.hpp:31