10 #ifndef FCF_DEVMGR_DEVICE_IODEV_LCSIF_HPP
11 #define FCF_DEVMGR_DEVICE_IODEV_LCSIF_HPP
14 #include <unordered_map>
17 #include <yaml-cpp/yaml.h>
24 #include <rad/mal/publisher.hpp>
85 std::unordered_map<std::string, IODevData> m_values;
124 IODevLcsIf(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config,
152 void GetStates(
int& state,
int& substate)
override;
170 void Stop()
override;
192 void WriteOutputs(
const protocol::base::VectorVariant& channel_list);
193 void SetOutputs(
const protocol::base::VectorVariant& channel_list);
239 void Listener(protocol::base::VectorVariant& params);
246 virtual std::string
GetRpcError(
const short error_code)
const;
257 void PublishState(
const protocol::base::Variant& value);
266 void PublishSubstate(
const protocol::base::Variant& value);
268 void PublishError(
const protocol::base::Variant& value);
270 void PublishChannel(
const std::string channel,
271 const protocol::base::Variant& value);
276 std::unordered_map<std::string, std::string> m_channels_map;
277 std::unordered_map<std::string, IODevData> m_channel_values;
278 log4cplus::Logger m_logger;
283 #include "iodevLcsIf.ipp"
Definition: dataContext.hpp:90
Definition: deviceLcsIf.hpp:77
Sensor Local Control System (LCS) Interface (IF) class.
Definition: iodevLcsIf.hpp:103
void StartMonitoring()
Start monitoring of controller attributes.
Definition: iodevLcsIf.cpp:274
void Stop() override
Executes the Stop RPC.
Definition: iodevLcsIf.cpp:144
virtual bool IsOperational() const
Check if controller is in Operational.
Definition: iodevLcsIf.cpp:181
void Listener(protocol::base::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
Definition: iodevLcsIf.cpp:329
virtual bool IsNotReady() const
Check if controller is in Standby/NotReady state.
Definition: iodevLcsIf.cpp:169
void GetStates(int &state, int &substate) override
Get states (state and substate) of the controller.
Definition: iodevLcsIf.cpp:120
void Enable() override
Executes the Enable RPC.
Definition: iodevLcsIf.cpp:134
bool IsHwFailure() const
Check if Sensor is in hardware error.
Definition: iodevLcsIf.cpp:202
virtual ~IODevLcsIf()
Default destructor.
Definition: iodevLcsIf.hpp:130
virtual std::string GetRpcError(const short error_code) const
Definition: iodevLcsIf.cpp:396
virtual void ReadStatus(IODevControllerData &status)
Read status from the controller.
Definition: iodevLcsIf.cpp:318
void StopMonitoring()
Stop monitoring of controller attributes.
Definition: iodevLcsIf.cpp:296
virtual bool IsReady() const
Check if controller is in Standby/Ready state.
Definition: iodevLcsIf.cpp:150
void SetOutputs(const protocol::base::VectorVariant &channel_list)
Definition: iodevLcsIf.cpp:250
virtual void InitObject()
Initialize object.
Definition: iodevLcsIf.cpp:51
void WriteOutputs(const protocol::base::VectorVariant &channel_list)
Definition: iodevLcsIf.cpp:217
IODevLcsIf(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config, fcf::devmgr::common::DataContext &data_ctx)
IODevLcsIf constructor.
Definition: iodevLcsIf.cpp:41
@ STAT_STATE
Definition: iodevLcsIf.hpp:109
@ STAT_ERROR
Definition: iodevLcsIf.hpp:108
@ STAT_SUBSTATE
Definition: iodevLcsIf.hpp:110
@ STAT_CHANNEL
Definition: iodevLcsIf.hpp:111
@ STAT_LOCAL
Definition: iodevLcsIf.hpp:107
DataContext class header file.
deviceLcsIf class header file.
IODevConfig class header file.
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:36
The IODevControllerData struct.
Definition: iodevLcsIf.hpp:65
std::string GetErrorText() const
virtual ~IODevControllerData()
Definition: iodevLcsIf.cpp:33
virtual std::string GetSubstateStr() const
void SetData(const IODevControllerData &data)
Definition: iodevLcsIf.cpp:36
void ClearChannelValues()
void GetChannelValue(const std::string &channel, IODevData &data) const
IODevControllerData()
Definition: iodevLcsIf.cpp:29
void SetChannelValue(const std::string &channel, const IODevData &value)
The ChannelData struct.
Definition: iodevLcsIf.hpp:33
protocol::base::Variant GetRawValue() const
IODevData()
Definition: iodevLcsIf.cpp:18
virtual ~IODevData()
Definition: iodevLcsIf.cpp:21
friend std::ostream & operator<<(std::ostream &dest, const IODevData &obj)
Definition: iodevLcsIf.cpp:24
void SetValue(const int &value)
void GetValue(int &value) const
void GetValue(bool &value) const
void SetRawValue(const protocol::base::Variant &value)
std::string GetNamedValue() const
void SetValue(const double &value)
void GetValue(double &value) const
void SetNamedValue(const std::string &value)
protocol::base::Variant m_value
Definition: iodevLcsIf.hpp:52
std::string m_named_value
Definition: iodevLcsIf.hpp:53
void SetValue(const bool &value)