ifw-fcf 7.1.4
Loading...
Searching...
No Matches
matrkLcsIf.hpp
Go to the documentation of this file.
1
8#ifndef FCF_DEVMGR_DEVICE_MATRK_IF_HPP
9#define FCF_DEVMGR_DEVICE_MATRK_IF_HPP
10
11#include <unordered_map>
12
13#include <yaml-cpp/yaml.h>
17
18
20
21using VectorAttributes = std::vector <std::pair<std::string, unsigned int>>;
30 public:
32 virtual ~MAtrkControllerData();
33
34 void SetData(const MAtrkControllerData& data);
35
36 inline virtual std::string GetErrorText() const;
37 inline virtual std::string GetSubstateStr() const;
38 inline short GetTrackingMode() const;
39 inline void SetTrackingMode(short mode);
40 inline double GetTrackOffset() const;
41 inline void SetTrackOffset(double offset);
42
43
44 private:
45 short m_tracking_mode {};
46 double m_track_offset {0.0};
47 };
48
63
64 // enumerations for MAtrk status
65 enum {
66 STAT_LOCAL = 100,
67 STAT_ERROR = 101,
68 STAT_STATE = 102,
69 STAT_SUBSTATE = 103,
70 STAT_TRACK_MODE = 104
71 };
72
73 public:
82 MAtrkLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
84
88 virtual ~MAtrkLcsIf() = default;
89
98 virtual void InitObject();
99
104 void MoveAngle(const double& angle, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
105
110 void MoveUser(const double& pos, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
111
118 void StartTrack(short mode, double angle);
119
123 void StopTrack();
124
130 void TrackOffset(double offset, ::fcfif::MotorPosUnit unit);
131
136 bool IsTracking() const;
137
144
150 virtual void ReadStatus(MAtrkControllerData& status);
151
163 void Listener(ifw::core::protocol::base::VectorVariant& params);
164
170 virtual void AddCustomAttributes();
171
172 protected:
173
179
180
181
182 private:
184 std::vector<std::string> m_monitor_track_vector;
185
186 short m_track_mode {};
187
188
189 private:
190 log4cplus::Logger m_logger;
191 };
192
193}
194
195#include "matrkLcsIf.ipp"
196
197#endif //FCF_DEVMGR_DEVICE_MATRK_IF_HPP
Definition dataContext.hpp:86
MAtrk Local Control System (LCS) Interface (IF) class.
Definition matrkLcsIf.hpp:62
void StartTrack(short mode, double angle)
Start tracking.
Definition matrkLcsIf.cpp:185
virtual ~MAtrkLcsIf()=default
Default destructor.
void LoadConfig()
Load the YAML configuration.
virtual void InitObject()
Initialize object.
Definition matrkLcsIf.cpp:77
void Listener(ifw::core::protocol::base::VectorVariant &params)
Callback to manage changes on the monitored items.
Definition matrkLcsIf.cpp:291
void StopTrack()
Stop derotator tracking.
Definition matrkLcsIf.cpp:237
bool IsTracking() const
Check if multi-axis device is tracking.
Definition matrkLcsIf.cpp:275
MAtrkLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
adcLcsIf constructor.
Definition matrkLcsIf.cpp:69
void MoveAngle(const double &angle, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
MoveAngle.
Definition matrkLcsIf.cpp:109
void TrackOffset(double offset, ::fcfif::MotorPosUnit unit)
Offset position during tracking.
Definition matrkLcsIf.cpp:208
virtual void ReadStatus(MAtrkControllerData &status)
Read status from the controller.
Definition matrkLcsIf.cpp:261
void MoveUser(const double &pos, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
MoveUser.
Definition matrkLcsIf.cpp:165
void ReadConfig()
Read the configuration.
virtual void AddCustomAttributes()
Add custom attributes.
Definition matrkLcsIf.cpp:97
MAxis Local Control System (LCS) Interface (IF) class.
Definition maxisLcsIf.hpp:61
MAtrk class header file.
Definition matrk.hpp:18
std::vector< std::pair< std::string, unsigned int > > VectorAttributes
Definition matrkLcsIf.hpp:21
The adcControllerData struct.
Definition matrkLcsIf.hpp:29
virtual ~MAtrkControllerData()
Definition matrkLcsIf.cpp:62
MAtrkControllerData()
Definition matrkLcsIf.cpp:57
virtual std::string GetSubstateStr() const
virtual std::string GetErrorText() const
void SetData(const MAtrkControllerData &data)
Definition matrkLcsIf.cpp:65
The adcControllerData struct.
Definition maxisLcsIf.hpp:29