ifw-fcf 7.1.4
Loading...
Searching...
No Matches
lampLcsIf.hpp
Go to the documentation of this file.
1
8#ifndef FCF_DEVMGR_DEVICE_LAMP_IF_HPP
9#define FCF_DEVMGR_DEVICE_LAMP_IF_HPP
10
11#include <unordered_map>
12
13#include <yaml-cpp/yaml.h>
14
18
19#include <Fcfif.hpp>
20#include <rad/mal/publisher.hpp>
21
22
23namespace ifw::fcf::devmgr::lamp {
24
33 public:
35 virtual ~LampControllerData();
36
37 inline double GetIntensity() const;
38 inline unsigned int GetTimeLeft() const;
39 inline int GetAnalogFeedback() const;
40 inline bool GetOnAnalog() const;
41 inline bool GetOnDigital() const;
42 inline void SetIntensity(double intensity);
43 inline void SetTimeLeft(unsigned int time_left);
44 inline void SetAnalogFeedback(int feedback);
45 inline void SetOnAnalog(bool on_analog);
46 inline void SetOnDigital(bool on_digital);
47
48 inline std::string GetErrorText() const;
49 inline virtual std::string GetSubstateStr() const;
50
51 void SetData(const LampControllerData& data);
52
53 private:
54 double m_intensity;
55 unsigned int m_time_left;
56 int m_analog_feedback;
57 bool m_on_analog;
58 bool m_on_digital;
59 };
60
75 {
76
77 // enumerations for the lamp status
78 enum {
79 STAT_LOCAL = 1,
80 STAT_ERROR = 2,
81 STAT_HW_STATUS = 3,
82 STAT_STATE = 4,
83 STAT_SUBSTATE = 5,
84 STAT_INTENSITY = 6,
85 STAT_STATUS = 7,
86 STAT_TIME_LEFT = 8,
87 STAT_ANALOG_FEEDBACK = 9,
88 STAT_ON_ANALOG = 10,
89 STAT_ON_DIGITAL = 11,
90 };
91
92 public:
101 LampLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
103
104
108 virtual ~LampLcsIf() {};
109
110
119 virtual void InitObject();
120
125 virtual bool IsNotReady() const noexcept;
126
133 void SwitchOn(double intensity, unsigned int time);
134
135
140 bool IsTurningOn() const noexcept;
141
146 bool IsTurningOff() const noexcept;
147
156 virtual void ReadStatus(LampControllerData& status);
157
169 virtual void Listener(ifw::core::protocol::base::VectorVariant& params);
170
176 virtual std::string GetRpcError(const short error_code) const;
177
178
179 private:
180
184 double m_intensity {};
185 int m_time_left{0};
186 int m_analog_feedback{0};
187 bool m_on_analog{false};
188 bool m_on_digital{false};
189
190
191 private:
192 log4cplus::Logger m_logger;
193
194 };
195
196}
197
198#include "lampLcsIf.ipp"
199
200#endif //FCF_DEVMGR_DEVICE_LAMP_IF_HPP
actuator Local Control System (LCS) Interface (IF) class
Definition actuatorLcsIf.hpp:60
void SwitchOn()
Executes the SwitchOn RPC.
Definition actuatorLcsIf.cpp:57
Definition dataContext.hpp:86
Lamp Local Control System (LCS) Interface (IF) class.
Definition lampLcsIf.hpp:75
bool IsTurningOff() const noexcept
Check if controller is switching the lamp off.
Definition lampLcsIf.cpp:137
LampLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
LampLcsIf constructor.
Definition lampLcsIf.cpp:27
virtual void Listener(ifw::core::protocol::base::VectorVariant &params)
Callback to manageUpdateStatus(); changes on the monitored items.
Definition lampLcsIf.cpp:165
virtual bool IsNotReady() const noexcept
Check if controller is in Standby/NotReady state.
Definition lampLcsIf.cpp:61
virtual void InitObject()
Initialize object.
Definition lampLcsIf.cpp:35
bool IsTurningOn() const noexcept
Check if controller is switching the lamp on.
Definition lampLcsIf.cpp:121
virtual void ReadStatus(LampControllerData &status)
Read status from the controller.
Definition lampLcsIf.cpp:154
virtual std::string GetRpcError(const short error_code) const
Definition lampLcsIf.cpp:240
virtual ~LampLcsIf()
Default destructor.
Definition lampLcsIf.hpp:108
Lamp class header file.
Definition lamp.hpp:18
Definition actionMgr.cpp:28
The actuatorControllerData struct.
Definition actuatorLcsIf.hpp:31
The LampControllerData struct.
Definition lampLcsIf.hpp:32
void SetTimeLeft(unsigned int time_left)
void SetData(const LampControllerData &data)
Definition lampLcsIf.cpp:22
virtual ~LampControllerData()
Definition lampLcsIf.cpp:19
LampControllerData()
Definition lampLcsIf.cpp:14
virtual std::string GetSubstateStr() const
std::string const
Definition test{{cookiecutter.device_name|capitalize()}}.cpp:161