8#ifndef FCF_DEVMGR_DEVICE_MOTOR_BASE_CONFIG_HPP
9#define FCF_DEVMGR_DEVICE_MOTOR_BASE_CONFIG_HPP
12#include <unordered_map>
14#include <yaml-cpp/yaml.h>
16#include <ifw/core/utils/bat/logger.hpp>
108 inline std::optional<std::string>
GetId() {
149 const std::string name);
179 virtual void GetConfigList(ifw::core::utils::bat::DbVector& cfg_list,
180 std::string prefix)
const override;
228 double& position)
const;
237 std::string& name)
const;
249 std::unordered_map<std::string, double> m_named_positions;
250 int m_num_named_pos{0};
m_logger(log4cplus::Logger::getInstance(LOGGER_NAME))
Definition {{cookiecutter.device_name}}.cpp:32
Device Configuration class.
Definition deviceConfig.hpp:124
Motor Base Configuration class.
Definition motorBaseConfig.hpp:138
virtual ~MotorBaseConfig()=default
MotorConfig destructor.
virtual double GetScaleFactor() const
Definition motorBaseConfig.cpp:64
std::string GetNamedPosition(const int index) const
GetNamedPosition.
Definition motorBaseConfig.cpp:77
double GetVelocity() const
Definition motorBaseConfig.cpp:52
double GetNamedPositionValue(const int index) const
GetNamedPositionValue.
Definition motorBaseConfig.cpp:91
MotorBaseConfig(const std::string filename, const std::string name)
MotorConfig constructor.
Definition motorBaseConfig.cpp:22
double GetNpTolerance() const
Get named position tolerance.
Definition motorBaseConfig.cpp:182
void Init()
Read the configuration.
Definition motorBaseConfig.cpp:35
virtual void GetConfigList(ifw::core::utils::bat::DbVector &cfg_list, std::string prefix) const override
Get configuration list.
Definition motorBaseConfig.cpp:161
NamedPosConfig GetNamedPositionConfig(const std::string &named_pos) const
GetNamedPositionType.
Definition motorBaseConfig.cpp:104
friend class Sensor
Definition motorBaseConfig.hpp:139
int GetNumberOfNamedPositions() const noexcept
Definition motorBaseConfig.hpp:186
bool FindNamedPositionValue(const std::string named_pos, double &position) const
Find value associated to a named position.
Definition motorBaseConfig.cpp:127
constexpr int SUBSTATE_ERROR
Definition deviceConfig.hpp:97
constexpr auto SUBSTATE_INITIALISING_STR
Definition deviceConfig.hpp:100
constexpr int SUBSTATE_READY
Definition deviceConfig.hpp:95
constexpr auto SUBSTATE_ERROR_STR
Definition deviceConfig.hpp:102
constexpr int SUBSTATE_INITIALISING
Definition deviceConfig.hpp:96
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
Motor class source file.
Definition motor.hpp:17
constexpr auto SUBSTATE_OP_STANDSTILL_STR
Definition motorBaseConfig.hpp:58
constexpr auto CI_DEF_VEL
Definition motorBaseConfig.hpp:25
constexpr auto CI_STAT_ACTUAL_POSNAME
Definition motorBaseConfig.hpp:80
constexpr auto CI_STAT_USER_UNIT
Definition motorBaseConfig.hpp:87
constexpr auto CI_SCALE_FACTOR
Definition motorBaseConfig.hpp:44
constexpr auto FITS_PARAM_POSID
Definition motorBaseConfig.hpp:93
constexpr auto SUBSTATE_ABORTING_STR
Definition motorBaseConfig.hpp:57
constexpr auto CI_TIMEOUT_MOVE
Definition motorBaseConfig.hpp:31
constexpr auto CI_TIMEOUT_SWITCH
Definition motorBaseConfig.hpp:32
constexpr int SUBSTATE_OP_STOPPING
Definition motorBaseConfig.hpp:54
constexpr auto CI_STAT_INITIALISED
Definition motorBaseConfig.hpp:86
constexpr auto CI_STAT_TARGET_POS
Definition motorBaseConfig.hpp:81
constexpr auto SUBSTATE_OP_MOVING_STR
Definition motorBaseConfig.hpp:59
constexpr auto CI_POS_ID
Definition motorBaseConfig.hpp:40
constexpr auto CI_MIN_POS
Definition motorBaseConfig.hpp:27
constexpr auto CI_MAX_POS
Definition motorBaseConfig.hpp:26
constexpr auto CI_STAT_POS_ERROR
Definition motorBaseConfig.hpp:83
constexpr auto SUBSTATE_OP_SETTING_POS_STR
Definition motorBaseConfig.hpp:60
constexpr auto SUBSTATE_OP_STOPPING_STR
Definition motorBaseConfig.hpp:61
constexpr auto FITS_PARAM_POSTYPE
Definition motorBaseConfig.hpp:91
constexpr auto CI_STAT_TARGET_POSNAME
Definition motorBaseConfig.hpp:79
constexpr auto FITS_PARAM_POS
Definition motorBaseConfig.hpp:90
constexpr auto CI_POS_VALUE
Definition motorBaseConfig.hpp:39
constexpr auto CI_POSITIONS
Definition motorBaseConfig.hpp:37
constexpr auto CI_POS_TYPE
Definition motorBaseConfig.hpp:41
constexpr auto CI_STAT_TARGET_ENC
Definition motorBaseConfig.hpp:78
constexpr auto CI_TIMEOUT_INIT
Definition motorBaseConfig.hpp:30
constexpr auto CI_STAT_ACTUAL_POS
Definition motorBaseConfig.hpp:82
constexpr auto RPC_MOVE_ABS
Definition motorBaseConfig.hpp:46
constexpr auto FITS_PARAM_POSNO
Definition motorBaseConfig.hpp:92
constexpr int SUBSTATE_OP_STANDSTILL
Definition motorBaseConfig.hpp:51
const std::unordered_map< short, std::string > SUBSTATE_MAP
Definition motorBaseConfig.hpp:63
constexpr auto CI_NAME_POS_TOLERANCE
Definition motorBaseConfig.hpp:43
constexpr auto FITS_PARAM_POSNAME
Definition motorBaseConfig.hpp:89
constexpr auto RPC_MOVE_REL
Definition motorBaseConfig.hpp:47
constexpr auto CI_STAT_ENC_POS
Definition motorBaseConfig.hpp:77
constexpr int SUBSTATE_ABORTING
Definition motorBaseConfig.hpp:50
constexpr auto SUBSTATE_READY_STR
Definition motorBaseConfig.hpp:56
constexpr int SUBSTATE_OP_SETTING_POS
Definition motorBaseConfig.hpp:53
constexpr auto RPC_MOVE_VEL
Definition motorBaseConfig.hpp:48
constexpr int SUBSTATE_OP_MOVING
Definition motorBaseConfig.hpp:52
constexpr auto CI_STAT_TARGET_VEL
Definition motorBaseConfig.hpp:85
constexpr auto CI_STAT_ACTUAL_VEL
Definition motorBaseConfig.hpp:84
constexpr auto CI_POS_NAME
Definition motorBaseConfig.hpp:38
constexpr auto UNDEFINED_NAMED_POS
Definition motorBaseConfig.hpp:96
constexpr auto CI_POS_NO
Definition motorBaseConfig.hpp:42
The NamedPositionConfig struct.
Definition motorBaseConfig.hpp:107
std::optional< std::string > m_pos_id
Definition motorBaseConfig.hpp:120
std::optional< std::string > GetType()
Definition motorBaseConfig.hpp:112
std::optional< int > GetSlot()
Definition motorBaseConfig.hpp:116
std::optional< std::string > GetId()
Definition motorBaseConfig.hpp:108
std::optional< int > m_slot
Definition motorBaseConfig.hpp:122
std::optional< std::string > m_pos_type
Definition motorBaseConfig.hpp:121
std::string const
Definition test{{cookiecutter.device_name|capitalize()}}.cpp:161