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>
61 std::map<std::string, fcf::devmgr::motor::MotorControllerData>
m_motors;
79 template<
typename TOPIC_TYPE = fcfif::AdcTopicUnion>
88 STAT_TRACK_MODE = 104,
120 void MoveAbs(
int axis_id,
double position,
double velocity);
128 void MoveRel(
int axis_id,
double position,
double velocity);
196 bool force_read =
true);
252 void StoreAttribute(
const std::string key,
253 const fcf::common::Variant& value,
264 void PublishPosition(
const std::string nodeid_prefix,
265 const fcf::common::Variant& value,
268 void StoreMotorAttribute(
const std::string nodeid_prefix,
269 const fcf::common::Variant& value,
272 void MovePos(
int axis_id,
double position,
double velocity,
285 std::unordered_map<std::string,
293 std::shared_ptr<AdcConfig> m_own_config;
298 YAML::Node m_motor_map_node;
303 #include "adcLcsIf.ipp"
305 #endif //FCF_DEVMGR_DEVICE_ADC_IF_HPP
void SetData(const AdcControllerData &data)
Definition: adcLcsIf.cpp:30
void MoveVel(int axis_id, double velocity)
Executes the MoveVel RPC.
DataContext class header file.
void ReadConfig()
Read the configuration.
virtual ~AdcLcsIf()
Default destructor.
Definition: adcLcsIf.hpp:105
bool IsTracking()
Check if adc is tracking.
void MoveAngle(double angle)
Move adc to a position angle.
void AddMotor(const std::string motor, const fcf::devmgr::motor::MotorControllerData motor_data)
void MoveAbs(int axis_id, double position, double velocity)
Executes the MoveAbs RPC.
void MoveRel(int axis_id, double position, double velocity)
Executes the MoveRel RPC.
bool IsStandstill()
Check if motor is on.
std::string GetMotorMapValue(std::string motor, std::string category, std::string key)
ShutterLcsIf class header file.
AdcConfig class header file.
std::vector< std::string > m_monitor_track_vector
Special monitor vector of attributes to be monitored only in tracking mode.
Definition: adcLcsIf.hpp:277
void Listener(fcf::common::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
bool IsMoving()
Check if motor is moving.
short m_tracking_mode
Definition: adcLcsIf.hpp:57
std::map< std::string, fcf::devmgr::motor::MotorControllerData > m_motors
Definition: adcLcsIf.hpp:61
The adcControllerData struct.
Definition: adcLcsIf.hpp:28
void StartTrack(double angle)
Start ADC tracking.
void StopMonitoring()
Stop monitoring of controller attributes.
Adc Local Control System (LCS) Interface (IF) class.
Definition: adcLcsIf.hpp:80
double m_delta
Definition: adcLcsIf.hpp:280
std::unordered_map< std::string, std::unique_ptr< rad::cii::Publisher< fcfif::MotorPositionTopic > > > m_motor_publisher_map
Definition: adcLcsIf.hpp:286
void SetDelta(double delta)
void SetTrackingMode(short mode)
void StopTrack()
StopTrack.
virtual std::string GetSubstateStr() const
std::unique_ptr< rad::cii::Publisher< TOPIC_TYPE > > m_publisher
Definition: adcLcsIf.hpp:287
Definition: dataContext.hpp:92
virtual std::string GetErrorText() const
AdcControllerData()
Definition: adcLcsIf.cpp:18
double m_alpha
Definition: adcLcsIf.hpp:279
Definition: deviceLcsIf.hpp:75
double m_delta
Definition: adcLcsIf.hpp:59
void StopTrackMonitoring()
void SetAlpha(double alpha)
virtual void ReadStatus(AdcControllerData &status, bool force_read=true)
Read status from the controller.
fcf::devmgr::motor::MotorControllerData GetMotor(std::string motor)
constexpr auto RPC_MOVE_ABS
Definition: motorConfig.hpp:110
short m_track_mode
Definition: adcLcsIf.hpp:281
double m_alpha
Definition: adcLcsIf.hpp:58
AdcLcsIf(std::shared_ptr< AdcConfig > config, fcf::devmgr::common::DataContext &data_ctx)
adcLcsIf constructor.
void LoadConfig()
Load the YAML configuration.
void GetMotorNames(std::vector< std::string > &motor_vector)
std::map< std::string, fcf::devmgr::motor::MotorControllerData > m_motors_status
Definition: adcLcsIf.hpp:283
virtual std::string GetRpcError(const short error_code) const
virtual void Init()
Executes the Init RPC.
short GetTrackingMode() const
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:34
void StartTrackMonitoring()
virtual ~AdcControllerData()
Definition: adcLcsIf.cpp:27
The MotorControllerData struct.
Definition: motorLcsIf.hpp:34