ifw-fcf 8.0.2
 
Loading...
Searching...
No Matches
modulatorLcsIf.hpp
Go to the documentation of this file.
1
7
8#ifndef FCF_DEVMGR_DEVICE_MODULATOR_IF_HPP
9#define FCF_DEVMGR_DEVICE_MODULATOR_IF_HPP
10
11#include <unordered_map>
12
13#include <yaml-cpp/yaml.h>
14
15#include <ifw/fcf/devmgr/common/events.rad.hpp>
16
20
21#include <Fcfif.hpp>
22#include <rad/mal/publisher.hpp>
23
24
26
35 public:
38
39 inline double GetActiveFrequency() const;
40 inline double GetXFreq() const;
41 inline double GetYFreq() const;
42 inline double GetXAmp() const;
43 inline double GetYAmp() const;
44 inline double GetXPhi() const;
45 inline double GetYPhi() const;
46
47 inline void SetActiveFrequency(double freq);
48 inline void SetXFreq(double xfreq);
49 inline void SetYFreq(double yfreq);
50 inline void SetXAmp(double xamp);
51 inline void SetYAmp(double yamp);
52 inline void SetXPhi(double xphi);
53 inline void SetYPhi(double yphi);
54
55 inline std::string GetErrorText() const;
56 inline virtual std::string GetSubstateStr() const;
57
59
60 protected:
61 double m_active_freq{0};
62 double m_xfreq{0};
63 double m_yfreq{0};
64 double m_xamp{0};
65 double m_yamp{0};
66 double m_xphi{0};
67 double m_yphi{0};
68 };
69
84 {
85 // enumerations for the lamp status
86 enum {
87 STAT_ACTIVE_FREQ = 10,
88 STAT_XFREQ = 11,
89 STAT_YFREQ = 12,
90 STAT_XAMP = 13,
91 STAT_YAMP = 14,
92 STAT_XPHI = 15,
93 STAT_YPHI = 16
94 };
95
96 public:
98
107 ModulatorLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
109
110
114 virtual ~ModulatorLcsIf() = default;
115
124 virtual void InitObject();
125
126 std::pair<std::string, std::string> GetObjectInfo(const std::string& map_value) const;
127
132 virtual bool IsReady() const;
133
138 virtual bool IsOperational() const;
139
140
141 void StartCtrl() ;
142 void StopCtrl() ;
143 void SetFrequency(double freq) ;
144 void SetScale(double xscale, double yscale) ;
145 void SetTrajectory(double xfreq,
146 double yfreq,
147 double xamp,
148 double yamp,
149 double axis1_phase,
150 double axis2_phase) ;
151
160 virtual void ReadStatus(ModulatorControllerData& status);
161
173 virtual void Listener(const ifw::fnd::defs::Notification& note);
174
180 virtual std::string GetRpcError(const short error) const;
181
182
183 private:
184 ModulatorControllerData m_status_data;
185
186 log4cplus::Logger m_logger;
187
188 };
189}
190
191#include "modulatorLcsIf.ipp"
192
193#endif //FCF_DEVMGR_DEVICE_MODULATOR_IF_HPP
Definition dataContext.hpp:86
Definition deviceLcsIf.hpp:91
virtual void ReadStatus(DeviceControllerData &status)
ReadStatus.
Definition deviceLcsIf.cpp:651
virtual bool IsOperational() const
Check if controller is in Operational.
Definition modulatorLcsIf.cpp:90
virtual void ReadStatus(ModulatorControllerData &status)
Read status from the controller.
Definition modulatorLcsIf.cpp:215
void StopCtrl()
Definition modulatorLcsIf.cpp:123
virtual ~ModulatorLcsIf()=default
Default destructor.
void SetTrajectory(double xfreq, double yfreq, double xamp, double yamp, double axis1_phase, double axis2_phase)
Definition modulatorLcsIf.cpp:184
std::pair< std::string, std::string > GetObjectInfo(const std::string &map_value) const
Definition modulatorLcsIf.cpp:62
virtual std::string GetRpcError(const short error) const
Definition modulatorLcsIf.cpp:304
ModulatorLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
ModulatorLcsIf constructor.
Definition modulatorLcsIf.cpp:21
void SetFrequency(double freq)
Definition modulatorLcsIf.cpp:144
void SetScale(double xscale, double yscale)
Definition modulatorLcsIf.cpp:164
virtual void InitObject()
Initialize object.
Definition modulatorLcsIf.cpp:31
void StartCtrl()
Definition modulatorLcsIf.cpp:102
virtual void Listener(const ifw::fnd::defs::Notification &note)
Callback to manageUpdateStatus(); changes on the monitored items.
Definition modulatorLcsIf.cpp:231
virtual bool IsReady() const
Check if controller is in Standby/Ready state.
Definition modulatorLcsIf.cpp:75
Modulator class source file.
Definition modulator.hpp:17
The DeviceControllerData struct.
Definition deviceLcsIf.hpp:49
The ModulatorControllerData struct.
Definition modulatorLcsIf.hpp:34
double m_active_freq
Definition modulatorLcsIf.hpp:61
double m_yfreq
Definition modulatorLcsIf.hpp:63
ModulatorControllerData()
Definition modulatorLcsIf.cpp:14
double m_yphi
Definition modulatorLcsIf.hpp:67
virtual ~ModulatorControllerData()
Definition modulatorLcsIf.cpp:18
double m_xfreq
Definition modulatorLcsIf.hpp:62
double m_xamp
Definition modulatorLcsIf.hpp:64
double m_xphi
Definition modulatorLcsIf.hpp:66
double m_yamp
Definition modulatorLcsIf.hpp:65
void SetData(const ModulatorControllerData &data)