ifw-fcf  5.0.0-pre2
actuatorLcsIf.hpp
Go to the documentation of this file.
1 
10 #ifndef DEVMGR_DEVICE_ACTUATOR_IF_HPP
11 #define DEVMGR_DEVICE_ACTUATOR_IF_HPP
12 
13 #include <unordered_map>
14 
15 #include <yaml-cpp/yaml.h>
19 
20 #include <Fcfif.hpp>
21 #include <rad/mal/publisher.hpp>
22 
23 namespace fcf::devmgr {
24  namespace actuator {
25 
34  public:
36  virtual ~ActuatorControllerData();
37 
38  inline std::string GetErrorText() const;
39  void SetData(const ActuatorControllerData& data);
40 
41  inline virtual std::string GetSubstateStr() const;
42 
43  protected:
44 
45  };
46 
47 
62  {
63 
64  // enumerations for actuator status
65  enum {
66  STAT_LOCAL = 1,
67  STAT_ERROR = 2,
68  STAT_HW_STATUS = 3,
69  STAT_STATE = 4,
70  STAT_SUBSTATE = 5,
71  };
72 
73  public:
82  ActuatorLcsIf(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config,
84 
88  virtual ~ActuatorLcsIf() = default;
89 
98  virtual void InitObject();
99 
104  virtual bool IsNotReady() const noexcept;
105 
110  virtual bool IsReady() const noexcept;
111 
116  virtual bool IsOperational() const noexcept;
117 
124  void SwitchOn();
125 
132  void SwitchOff();
133 
138  bool IsSwitchingOn() const noexcept;
139 
144  bool IsSwitchingOff() const noexcept;
145 
146 
151  bool IsOn() const noexcept;
152 
157  bool IsOff() const noexcept;
158 
167  virtual void ReadStatus(ActuatorControllerData& status);
168 
169 
181  void Listener(protocol::base::VectorVariant& params);
182 
188  virtual std::string GetRpcError(const short error_code) const;
189 
190 
191  private:
192  log4cplus::Logger m_logger;
193 
194 
195  };
196  }
197 }
198 
199 #include "actuatorLcsIf.ipp"
200 
201 #endif //DEVMGR_DEVICE_ACTUATOR_IF_HPP
actuatorConfig class header file.
actuator Local Control System (LCS) Interface (IF) class
Definition: actuatorLcsIf.hpp:62
virtual void ReadStatus(ActuatorControllerData &status)
Read status from the controller.
Definition: actuatorLcsIf.cpp:221
virtual bool IsNotReady() const noexcept
Check if controller is in Standby/NotReady state.
Definition: actuatorLcsIf.cpp:108
void Listener(protocol::base::VectorVariant &params)
Callback to manage changes on the monitored items.
Definition: actuatorLcsIf.cpp:230
bool IsOff() const noexcept
Check if switch is off.
Definition: actuatorLcsIf.cpp:207
virtual void InitObject()
Initialize object.
Definition: actuatorLcsIf.cpp:47
void SwitchOn()
Executes the SwitchOn RPC.
Definition: actuatorLcsIf.cpp:57
virtual std::string GetRpcError(const short error_code) const
Definition: actuatorLcsIf.cpp:240
bool IsSwitchingOff() const noexcept
Check if controller is switching the switch off.
Definition: actuatorLcsIf.cpp:178
virtual bool IsOperational() const noexcept
Check if controller is in Operational.
Definition: actuatorLcsIf.cpp:145
void SwitchOff()
Executes the SwitchOff RPC.
Definition: actuatorLcsIf.cpp:83
bool IsOn() const noexcept
Check if switch is on.
Definition: actuatorLcsIf.cpp:194
virtual bool IsReady() const noexcept
Check if controller is in Standby/Ready state.
Definition: actuatorLcsIf.cpp:127
virtual ~ActuatorLcsIf()=default
Default destructor.
bool IsSwitchingOn() const noexcept
Check if controller is switching the switch on.
Definition: actuatorLcsIf.cpp:163
ActuatorLcsIf(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config, fcf::devmgr::common::DataContext &data_ctx)
actuatorLcsIf constructor.
Definition: actuatorLcsIf.cpp:40
Definition: dataContext.hpp:90
Definition: deviceLcsIf.hpp:77
DataContext class header file.
deviceLcsIf class header file.
Definition: __init__.py:1
Definition: actionMgr.cpp:29
The actuatorControllerData struct.
Definition: actuatorLcsIf.hpp:33
void SetData(const ActuatorControllerData &data)
Definition: actuatorLcsIf.cpp:36
ActuatorControllerData()
Definition: actuatorLcsIf.cpp:29
virtual ~ActuatorControllerData()
Definition: actuatorLcsIf.cpp:33
virtual std::string GetSubstateStr() const
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:36
std::string const
Definition: test{{cookiecutter.device_name|capitalize()}}.cpp:161