Go to the documentation of this file.
9 #ifndef FCF_DEVMGR_DEVICE_ADC_IF_HPP
10 #define FCF_DEVMGR_DEVICE_ADC_IF_HPP
12 #include <unordered_map>
14 #include <yaml-cpp/yaml.h>
62 std::map<std::string, fcf::devmgr::motor::MotorControllerData>
m_motors;
88 STAT_TRACK_MODE = 104,
102 AdcLcsIf(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config,
134 void MoveAbs(
int axis_id,
double position,
double velocity);
142 void MoveRel(
int axis_id,
double position,
double velocity);
144 void MoveEncAbs(
int axis_id,
long int encoders);
146 void MoveEncRel(
int axis_id,
long int encoders);
156 void MoveVel(
int axis_id,
double velocity);
240 void Listener(fcf::common::VectorVariant& params);
247 virtual std::string
GetRpcError(
const short error_code)
const;
267 void StoreMotorPosition(
const std::string nodeid_prefix,
268 const fcf::common::Variant& value,
271 void StoreMotorAttribute(
const std::string nodeid_prefix,
272 const fcf::common::Variant& value,
275 void MovePos(
int axis_id,
double position,
double velocity,
296 log4cplus::Logger m_logger;
301 #include "adcLcsIf.ipp"
303 #endif //FCF_DEVMGR_DEVICE_ADC_IF_HPP
void SetData(const AdcControllerData &data)
Definition: adcLcsIf.cpp:35
DataContext class header file.
virtual void Init()
Executes the Init RPC.
Definition: adcLcsIf.cpp:163
virtual void ReadStatus(AdcControllerData &status)
Read status from the controller.
Definition: adcLcsIf.cpp:516
AdcLcsIf(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config, fcf::devmgr::common::DataContext &data_ctx)
adcLcsIf constructor.
Definition: adcLcsIf.cpp:43
void MoveAbs(int axis_id, double position, double velocity)
Executes the MoveAbs RPC.
Definition: adcLcsIf.cpp:261
void AddMotor(const std::string motor, const fcf::devmgr::motor::MotorControllerData motor_data)
void StopTrackMonitoring()
Definition: adcLcsIf.cpp:554
short m_track_mode
Definition: adcLcsIf.hpp:291
bool IsStandstill() const
IsStandstill.
Definition: adcLcsIf.cpp:625
std::string GetMotorMapValue(std::string motor, std::string category, std::string key)
Definition: adcLcsIf.cpp:392
void MoveEncRel(int axis_id, long int encoders)
Definition: adcLcsIf.cpp:293
void StartTrack(const double &angle)
Start ADC tracking.
Definition: adcLcsIf.cpp:413
double m_alpha
Definition: adcLcsIf.hpp:289
AdcConfig class header file.
double m_delta
Definition: adcLcsIf.hpp:290
void StartTrackMonitoring()
Definition: adcLcsIf.cpp:544
short m_tracking_mode
Definition: adcLcsIf.hpp:58
std::map< std::string, fcf::devmgr::motor::MotorControllerData > m_motors
Definition: adcLcsIf.hpp:62
The adcControllerData struct.
Definition: adcLcsIf.hpp:28
void LoadConfig()
Load the YAML configuration.
Adc Local Control System (LCS) Interface (IF) class.
Definition: adcLcsIf.hpp:80
void SetDelta(double delta)
void SetTrackingMode(short mode)
virtual void InitObject()
Initialize object.
Definition: adcLcsIf.cpp:52
std::unique_ptr< elt::configng::CiiConfigDocument > m_motor_map_doc
Config document for mapping file.
Definition: adcLcsIf.hpp:285
std::vector< std::string > m_monitor_track_vector
Special monitor vector of attributes to be monitored only in tracking mode.
Definition: adcLcsIf.hpp:280
virtual std::string GetRpcError(const short error_code) const
Definition: adcLcsIf.cpp:634
virtual std::string GetSubstateStr() const
void UpdateTargetPosition(int axis_id, double position, std::string move_type)
Definition: adcLcsIf.cpp:232
Definition: dataContext.hpp:90
virtual std::string GetErrorText() const
AdcControllerData()
Definition: adcLcsIf.cpp:23
double m_mot_actual_pos
Definition: adcLcsIf.hpp:287
Definition: deviceLcsIf.hpp:77
double m_delta
Definition: adcLcsIf.hpp:60
void StopTrack()
StopTrack.
Definition: adcLcsIf.cpp:447
void SetAlpha(double alpha)
Definition: __init__.py:1
void MoveRel(int axis_id, double position, double velocity)
Executes the MoveRel RPC.
Definition: adcLcsIf.cpp:271
constexpr auto RPC_MOVE_ABS
Definition: motorBaseConfig.hpp:53
double m_alpha
Definition: adcLcsIf.hpp:59
fcf::devmgr::motor::MotorControllerData GetMotor(std::string motor) const
virtual ~AdcLcsIf()
Default destructor.
Definition: adcLcsIf.hpp:108
bool IsTracking() const
IsTracking.
Definition: adcLcsIf.cpp:566
double m_mot_actual_pos_axis[2]
Definition: adcLcsIf.hpp:288
void MoveEncAbs(int axis_id, long int encoders)
Definition: adcLcsIf.cpp:281
bool IsInPosition(const int axis=-1) const
IsInPosition.
Definition: adcLcsIf.cpp:595
void GetMotorNames(std::vector< std::string > &motor_vector)
short GetTrackingMode() const
drotLcsIf class header file.
void ReadConfig()
Read the configuration.
bool IsMoving() const
IsMoving.
Definition: adcLcsIf.cpp:580
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:36
void MoveVel(int axis_id, double velocity)
Executes the MoveVel RPC.
Definition: adcLcsIf.cpp:305
void MoveAngle(const double &angle)
MoveAngle.
Definition: adcLcsIf.cpp:474
virtual ~AdcControllerData()
Definition: adcLcsIf.cpp:32
void Listener(fcf::common::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
Definition: adcLcsIf.cpp:664
std::string GetTrackingModeStr() const
std::map< std::string, fcf::devmgr::motor::MotorControllerData > m_motors_status
Definition: adcLcsIf.hpp:293
The MotorControllerData struct.
Definition: motorLcsIf.hpp:34