8#ifndef FCF_DEVMGR_DEVICE_IODEV_CONFIG_HPP
9#define FCF_DEVMGR_DEVICE_IODEV_CONFIG_HPP
15#include <yaml-cpp/yaml.h>
17#include <ifw/core/utils/bat/logger.hpp>
152 const std::string name);
182 virtual void GetConfig(ifw::core::protocol::base::VectorVariant& params)
const override;
193 virtual void GetConfigList(ifw::core::utils::bat::DbVector& cfg_list,
194 std::string prefix)
const override;
203 virtual void GetInputList(std::vector<std::string>& channel_list)
const ;
212 virtual void GetOutputList(std::vector<std::pair<std::string, std::string>>& channel_list)
const ;
237 const std::string& value)
const;
239 std::optional<IODevChannel>
GetChannelConfig(
const std::string& channel)
const;
242 std::map<std::string, IODevChannel> m_channel_map;
248#include "iodevConfig.ipp"
m_logger(log4cplus::Logger::getInstance(LOGGER_NAME))
Definition {{cookiecutter.device_name}}.cpp:32
Device Configuration class.
Definition deviceConfig.hpp:124
sensor Configuration class
Definition iodevConfig.hpp:139
virtual void GetOutputList(std::vector< std::pair< std::string, std::string > > &channel_list) const
Get output channel list.
Definition iodevConfig.cpp:230
std::string GetChannelDescription(const std::string &channel) const
Definition iodevConfig.cpp:271
virtual void GetInputList(std::vector< std::string > &channel_list) const
Get input channel list.
Definition iodevConfig.cpp:217
bool IsSensor() const
Get Sensor flag.
Definition iodevConfig.cpp:250
bool IsNoRpc() const
Get NO RPC flag.
Definition iodevConfig.cpp:243
virtual void GetConfigList(ifw::core::utils::bat::DbVector &cfg_list, std::string prefix) const override
Get configuration list.
Definition iodevConfig.cpp:145
IODevConfig(const std::string filename, const std::string name)
IODevConfig constructor.
Definition iodevConfig.cpp:31
std::string GetChannelNamedValue(const std::string &channel, const std::string &value) const
Definition iodevConfig.cpp:284
virtual ~IODevConfig()=default
DeviceConfig destructor.
std::string GetChannelType(const std::string &channel) const
Definition iodevConfig.cpp:258
virtual void GetConfig(ifw::core::protocol::base::VectorVariant ¶ms) const override
Obtain the list of configuration parameters.
Definition iodevConfig.cpp:137
void Init()
Read the configuration.
Definition iodevConfig.cpp:48
std::optional< IODevChannel > GetChannelConfig(const std::string &channel) const
Definition iodevConfig.cpp:298
Sensor Local Control System (LCS) Interface (IF) class.
Definition iodevLcsIf.hpp:99
The IODev class.
Definition iodev.hpp:37
constexpr int SUBSTATE_ERROR
Definition deviceConfig.hpp:97
constexpr int SUBSTATE_READY
Definition deviceConfig.hpp:95
constexpr auto SUBSTATE_ERROR_STR
Definition deviceConfig.hpp:102
constexpr auto SUBSTATE_NOTREADY_STR
Definition deviceConfig.hpp:99
constexpr auto SUBSTATE_READY_STR
Definition deviceConfig.hpp:101
constexpr int SUBSTATE_OP_ERROR
Definition deviceConfig.hpp:105
constexpr int SUBSTATE_NOTREADY
Definition deviceConfig.hpp:94
constexpr auto SUBSTATE_OP_ERROR_STR
Definition deviceConfig.hpp:108
IODev class header file.
Definition iodev.hpp:17
constexpr auto CI_HEADER
Definition iodevConfig.hpp:36
constexpr auto CI_MAP
Definition iodevConfig.hpp:39
constexpr auto CI_NO_RPC
Definition iodevConfig.hpp:27
constexpr auto DI_CAT_STR
Definition iodevConfig.hpp:66
constexpr auto SO_TYPE_STR
Definition iodevConfig.hpp:64
constexpr auto AI_CAT_STR
Definition iodevConfig.hpp:67
constexpr auto IO_CAT_STR
Definition iodevConfig.hpp:73
constexpr auto SUBSTATE_OP_MONITORING_STR
Definition iodevConfig.hpp:46
constexpr auto CI_SENSOR
Definition iodevConfig.hpp:28
const std::unordered_map< short, std::string > SUBSTATE_MAP
Definition iodevConfig.hpp:48
constexpr auto CI_LOG
Definition iodevConfig.hpp:37
constexpr auto CI_CHANNELS
Definition iodevConfig.hpp:31
constexpr auto CI_UNIT
Definition iodevConfig.hpp:38
constexpr int SUBSTATE_OP_MONITORING
Definition iodevConfig.hpp:45
constexpr auto AI_TYPE_STR
Definition iodevConfig.hpp:57
constexpr auto RPC_SET_OUTPUTS
Definition iodevConfig.hpp:77
constexpr auto AO_CAT_STR
Definition iodevConfig.hpp:72
constexpr auto DO_TYPE_STR
Definition iodevConfig.hpp:61
constexpr auto LOGGER_NAME
Definition iodevConfig.hpp:26
constexpr auto II_TYPE_STR
Definition iodevConfig.hpp:58
constexpr auto II_CAT_STR
Definition iodevConfig.hpp:68
constexpr auto SO_CAT_STR
Definition iodevConfig.hpp:74
constexpr auto SI_TYPE_STR
Definition iodevConfig.hpp:59
constexpr auto CI_NAME
Definition iodevConfig.hpp:32
constexpr auto CI_ALIAS
Definition iodevConfig.hpp:34
constexpr auto CI_DESCRIPTION
Definition iodevConfig.hpp:33
constexpr auto DI_TYPE_STR
Definition iodevConfig.hpp:56
constexpr auto AO_TYPE_STR
Definition iodevConfig.hpp:62
constexpr auto CI_TYPE
Definition iodevConfig.hpp:35
const std::unordered_map< std::string, std::string > IO_DEV_TYPE_MAP
Definition iodevConfig.hpp:80
constexpr auto CI_NAMED_MAPPING
Definition iodevConfig.hpp:41
constexpr auto CI_VALUE
Definition iodevConfig.hpp:40
constexpr auto IO_TYPE_STR
Definition iodevConfig.hpp:63
constexpr auto SI_CAT_STR
Definition iodevConfig.hpp:69
constexpr auto DO_CAT_STR
Definition iodevConfig.hpp:71
Definition iodevConfig.hpp:92
bool GetHeaderFlag() const
std::string m_alias
Definition iodevConfig.hpp:121
std::string GetMap() const
void SetUnit(std::string unit)
std::string m_description
Definition iodevConfig.hpp:120
bool m_log
Definition iodevConfig.hpp:124
std::string GetCat() const
std::string GetNamedValue(std::string value) const
std::string m_type
Definition iodevConfig.hpp:122
std::string m_prefix
Definition iodevConfig.hpp:127
void SetFitsPrefix(std::string prefix)
virtual ~IODevChannel()=default
bool m_header
Definition iodevConfig.hpp:123
void AddNamedValue(std::string value, std::string name)
void SetAlias(std::string alias)
std::string GetDescription() const
void SetMap(std::string map)
IODevChannel()
Definition iodevConfig.cpp:21
std::string GetFitsPrefix() const
std::unordered_map< std::string, string > m_named_values_map
Definition iodevConfig.hpp:128
std::string m_map
Definition iodevConfig.hpp:126
void SetLogFlag(bool flag)
std::string GetType() const
std::string GetUnit() const
std::string m_unit
Definition iodevConfig.hpp:125
std::string GetAlias() const
void SetType(std::string type)
void SetHeaderFlag(bool flag)
void SetDescription(std::string description)