ifw-fcf 7.1.4
Loading...
Searching...
No Matches
motorLcsIf.hpp
Go to the documentation of this file.
1
7#ifndef FCF_DEVMGR_DEVICE_MOTOR_IF_HPP
8#define FCF_DEVMGR_DEVICE_MOTOR_IF_HPP
9
10#include <unordered_map>
11
12#include <yaml-cpp/yaml.h>
13
17
18#include <Fcfif.hpp>
19#include <rad/mal/publisher.hpp>
20
21
23
32 public:
34 virtual ~MotorControllerData();
35
36 inline double GetScaleFactor() const;
37 inline void SetScaleFactor(double scale);
38
39 inline bool GetBrakeFlag() const;
40 inline void SetBrakeFlag(bool flag);
41
42 inline bool GetEnableFlag() const;
43 inline void SetEnableFlag(bool flag);
44
45 inline bool GetLockFlag() const;
46 inline void SetLockFlag(bool flag);
47
48 inline int GetMode() const;
49 inline void SetMode(int mode);
50
51 inline bool GetReadyFlag() const;
52 inline void SetReadyFlag(bool flag);
53
54 inline bool GetInPositionFlag() const;
55 inline void SetInPositionFlag(bool flag);
56
57 inline short GetInfoData1() const;
58 inline void SetInfoData1(short info);
59
60 inline short GetInfoData2() const;
61 inline void SetInfoData2(short info);
62
63 inline bool GetSignalFlag(Signal signal) const;
64 inline void SetSignalFlag(Signal signal, bool flag);
65
66 inline virtual std::string GetErrorText() const;
67
68 void SetData(const MotorControllerData& data);
69
70 private:
71 double m_scale_factor {1};
72 bool m_brake {false};
73 bool m_enabled {false};
74 bool m_locked {false};
75 int m_mode {};
76 bool m_ready {false};
77 bool m_in_position {false};
78 int m_info_data1 {};
79 int m_info_data2 {};
80 std::vector<bool> m_signals;
81 };
82
97 {
98 public:
99 enum {
118 };
119
120 public:
121
130 MotorLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
132
136 virtual ~MotorLcsIf() {};
137
138
147 virtual void InitObject();
148
158 virtual void ReadStatus(MotorControllerData& status);
159
171 void Listener(ifw::core::protocol::base::VectorVariant& params);
172
178 virtual std::string GetRpcError(const short error_code) const;
179
180
181 protected:
182
191 void StorePosition(const ifw::core::protocol::base::Variant& value,
192 int attribute);
193
194
195 private:
196
197 int m_mot_init_step {};
198 int m_mot_init_action {};
199 int m_mot_mode {};
200 short m_mot_axis_info1 {};
201 short m_mot_axis_info2 {};
202 bool m_mot_axis_ready {false};
203 bool m_mot_axis_enable {false};
204 bool m_mot_axis_brake {false};
205 bool m_mot_axis_lock {false};
206 bool m_mot_axis_inpos {false};
207 bool m_mot_signal_lstop {false};
208 bool m_mot_signal_lhw {false};
209 bool m_mot_signal_ref {false};
210 bool m_mot_signal_index {false};
211 bool m_mot_signal_uhw {false};
212 bool m_mot_signal_ustop {false};
213
214 private:
215 log4cplus::Logger m_logger;
216
217
218 };
219
220}
221
222#include "motorLcsIf.ipp"
223
224#endif //FCF_DEVMGR_DEVICE_MOTOR_IF_HPP
Definition dataContext.hpp:86
Motor Local Control System (LCS) Interface (IF) class.
Definition motorBaseLcsIf.hpp:75
@ STAT_MOTOR_BASE_END
Definition motorBaseLcsIf.hpp:90
Motor Local Control System (LCS) Interface (IF) class.
Definition motorLcsIf.hpp:97
@ STAT_MODE
Definition motorLcsIf.hpp:103
@ STAT_INIT_STEP
Definition motorLcsIf.hpp:108
@ STAT_SIGNAL_UHW
Definition motorLcsIf.hpp:114
@ STAT_AXIS_BRAKE
Definition motorLcsIf.hpp:100
@ STAT_SIGNAL_LSTOP
Definition motorLcsIf.hpp:110
@ STAT_SIGNAL_USTOP
Definition motorLcsIf.hpp:115
@ STAT_AXIS_INFO2
Definition motorLcsIf.hpp:107
@ STAT_SIGNAL_LHW
Definition motorLcsIf.hpp:111
@ STAT_AXIS_LOCK
Definition motorLcsIf.hpp:102
@ STAT_INIT_ACTION
Definition motorLcsIf.hpp:109
@ STAT_AXIS_INPOS
Definition motorLcsIf.hpp:105
@ STAT_MOTOR_END
Definition motorLcsIf.hpp:117
@ STAT_SCALE_FACTOR
Definition motorLcsIf.hpp:116
@ STAT_AXIS_READY
Definition motorLcsIf.hpp:104
@ STAT_AXIS_INFO1
Definition motorLcsIf.hpp:106
@ STAT_AXIS_ENABLE
Definition motorLcsIf.hpp:101
@ STAT_SIGNAL_REF
Definition motorLcsIf.hpp:112
@ STAT_SIGNAL_INDEX
Definition motorLcsIf.hpp:113
void StorePosition(const ifw::core::protocol::base::Variant &value, int attribute)
Store Position.
Definition motorLcsIf.cpp:329
void Listener(ifw::core::protocol::base::VectorVariant &params)
Callback to manage changes on the monitored items.
Definition motorLcsIf.cpp:101
virtual std::string GetRpcError(const short error_code) const
Definition motorLcsIf.cpp:291
virtual void InitObject()
Initialize object.
Definition motorLcsIf.cpp:40
virtual void ReadStatus(MotorControllerData &status)
Read status from the controller.
Definition motorLcsIf.cpp:83
MotorLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
MotorLcsIf constructor.
Definition motorLcsIf.cpp:33
virtual ~MotorLcsIf()
Default destructor.
Definition motorLcsIf.hpp:136
Motor class source file.
Definition motor.hpp:17
Signal
Definition motorConfig.hpp:122
The MotorBaseControllerData struct.
Definition motorBaseLcsIf.hpp:31
The MotorControllerData struct.
Definition motorLcsIf.hpp:31
void SetSignalFlag(Signal signal, bool flag)
virtual ~MotorControllerData()
Definition motorLcsIf.cpp:26
virtual std::string GetErrorText() const
MotorControllerData()
Definition motorLcsIf.cpp:13
void SetData(const MotorControllerData &data)
Definition motorLcsIf.cpp:29