8#ifndef FCF_DEVMGR_DEVICE_ADC_IF_HPP
9#define FCF_DEVMGR_DEVICE_ADC_IF_HPP
11#include <unordered_map>
13#include <yaml-cpp/yaml.h>
58 short m_tracking_mode {};
62 std::map<std::string, fcf::devmgr::motor::MotorControllerData> m_motors;
88 STAT_TRACK_MODE = 104,
103 AdcLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
136 void MoveAbs(
int axis_id,
double position,
double velocity, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
144 void MoveRel(
int axis_id,
double position,
double velocity, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
146 void MoveEncAbs(
int axis_id,
long int encoders);
148 void MoveEncRel(
int axis_id,
long int encoders);
158 void MoveVel(
int axis_id,
double velocity);
178 void MoveAngle(
const double& angle, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
242 void Listener(
const ifw::fnd::defs::Notification& note);
249 virtual std::string
GetRpcError(
const short error_code)
const;
269 void StoreMotorPosition(
const std::string nodeid_prefix,
270 const ifw::fnd::defs::Value& value,
273 void StoreMotorAttribute(
const std::string nodeid_prefix,
274 const ifw::fnd::defs::Value& value,
277 void MovePos(
int axis_id,
double position,
double velocity,
282 std::vector<std::string> m_monitor_track_vector;
287 std::unique_ptr<elt::configng::CiiConfigDocument> m_motor_map_doc;
289 double m_mot_actual_pos {0.0};
290 double m_mot_actual_pos_axis[2] {0.0,0.0};
293 short m_track_mode {};
295 std::map<std::string, fcf::devmgr::motor::MotorControllerData> m_motors_status;
303#include "adcLcsIf.ipp"
m_logger(log4cplus::Logger::getInstance(LOGGER_NAME))
Definition {{cookiecutter.device_name}}.cpp:29
void Listener(const ifw::fnd::defs::Notification ¬e)
Callback to manage changes on the monitored items.
Definition adcLcsIf.cpp:698
virtual void ReadStatus(AdcControllerData &status)
Read status from the controller.
Definition adcLcsIf.cpp:551
bool IsMoving() const
IsMoving.
Definition adcLcsIf.cpp:614
virtual ~AdcLcsIf()
Default destructor.
Definition adcLcsIf.hpp:109
void MoveAbs(int axis_id, double position, double velocity, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
Executes the MoveAbs RPC.
Definition adcLcsIf.cpp:317
virtual void InitObject()
Initialize object.
Definition adcLcsIf.cpp:86
void StartTrack(const double &angle)
Start ADC tracking.
Definition adcLcsIf.cpp:454
void StartTrackMonitoring()
Definition adcLcsIf.cpp:579
void MoveEncAbs(int axis_id, long int encoders)
Definition adcLcsIf.cpp:362
void MoveAngle(const double &angle, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
MoveAngle.
Definition adcLcsIf.cpp:505
virtual void Init()
Executes the Init RPC.
Definition adcLcsIf.cpp:196
void UpdateTargetPosition(int axis_id, double position, std::string move_type)
Definition adcLcsIf.cpp:288
void MoveVel(int axis_id, double velocity)
Executes the MoveVel RPC.
Definition adcLcsIf.cpp:386
void MoveRel(int axis_id, double position, double velocity, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
Executes the MoveRel RPC.
Definition adcLcsIf.cpp:340
void ReadConfig()
Read the configuration.
std::optional< double > GetTargetInUserUnits(int axis_id, double value)
Definition adcLcsIf.cpp:251
AdcLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
adcLcsIf constructor.
Definition adcLcsIf.cpp:77
std::string GetMotorMapValue(std::string motor, std::string category, std::string key)
Definition adcLcsIf.cpp:433
bool IsInPosition(const int axis=-1) const
IsInPosition.
Definition adcLcsIf.cpp:629
void StopTrackMonitoring()
Definition adcLcsIf.cpp:592
bool IsTracking() const
IsTracking.
Definition adcLcsIf.cpp:600
void MoveEncRel(int axis_id, long int encoders)
Definition adcLcsIf.cpp:374
void StopTrack()
StopTrack.
Definition adcLcsIf.cpp:479
virtual std::string GetRpcError(const short error_code) const
Definition adcLcsIf.cpp:668
bool IsStandstill() const
IsStandstill.
Definition adcLcsIf.cpp:659
void LoadConfig()
Load the YAML configuration.
Definition dataContext.hpp:86
Definition deviceLcsIf.hpp:91
virtual void ReadStatus(DeviceControllerData &status)
ReadStatus.
Definition deviceLcsIf.cpp:651
Adc class source file.
Definition adc.cpp:19
constexpr auto RPC_MOVE_ABS
Definition motorBaseConfig.hpp:45
The adcControllerData struct.
Definition adcLcsIf.hpp:28
AdcControllerData()
Definition adcLcsIf.cpp:57
virtual ~AdcControllerData()
Definition adcLcsIf.cpp:66
void SetAlpha(double alpha)
void SetTrackingMode(short mode)
void GetMotorNames(std::vector< std::string > &motor_vector)
virtual std::string GetSubstateStr() const
fcf::devmgr::motor::MotorControllerData GetMotor(std::string motor) const
short GetTrackingMode() const
std::string GetTrackingModeStr() const
void AddMotor(const std::string motor, const fcf::devmgr::motor::MotorControllerData motor_data)
void SetData(const AdcControllerData &data)
Definition adcLcsIf.cpp:69
virtual std::string GetErrorText() const
void SetDelta(double delta)
The DeviceControllerData struct.
Definition deviceLcsIf.hpp:49
The MotorControllerData struct.
Definition motorLcsIf.hpp:32