8#ifndef FCF_DEVMGR_DEVICE_DROT_IF_HPP
9#define FCF_DEVMGR_DEVICE_DROT_IF_HPP
11#include <unordered_map>
13#include <yaml-cpp/yaml.h>
55 short m_tracking_mode {0};
56 double m_rotation {0.0};
58 double m_angle_on_sky {0.0};
59 double m_track_offset {0.0};
85 STAT_TRACK_MODE = 104,
88 STAT_ANGLE_ON_SKY = 107,
89 STAT_TRACK_OFFSET = 110
101 DrotLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
125 void MoveAngle(
double angle, ::fcfif::MotorPosUnit unit = ::fcfif::MotorPosUnit::UU);
132 void TrackOffset(
double offset, ::fcfif::MotorPosUnit unit);
167 void Listener(ifw::core::protocol::base::VectorVariant& params);
174 virtual std::string
GetRpcError(
const short error_code)
const;
190 void PublishPosition(
const ifw::core::protocol::base::Variant& value,
194 double m_rotation {0.0};
195 double m_pupil {0.0};
196 short m_track_mode {0};
197 double m_angle_on_sky {0.0};
198 double m_track_offset {0.0};
202 log4cplus::Logger m_logger;
209#include "drotLcsIf.ipp"
Definition dataContext.hpp:86
Drot Local Control System (LCS) Interface (IF) class.
Definition drotLcsIf.hpp:77
void MoveAngle(double angle, ::fcfif::MotorPosUnit unit=::fcfif::MotorPosUnit::UU)
Move drot to a position angle.
Definition drotLcsIf.cpp:84
void ReadStatus(DrotControllerData &status)
Definition drotLcsIf.cpp:255
bool IsTracking()
Check if drot is tracking.
Definition drotLcsIf.cpp:70
void StopTrack()
Stop derotator tracking.
Definition drotLcsIf.cpp:227
virtual ~DrotLcsIf()=default
Default destructor.
DrotLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
drotLcsIf constructor.
Definition drotLcsIf.cpp:39
void StartTrack(short mode, double angle)
Start derotator tracking.
Definition drotLcsIf.cpp:138
void TrackOffset(double offset, ::fcfif::MotorPosUnit unit)
Offset position during tracking.
Definition drotLcsIf.cpp:178
virtual std::string GetRpcError(const short error_code) const
Definition drotLcsIf.cpp:269
void Listener(ifw::core::protocol::base::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
Definition drotLcsIf.cpp:299
virtual void InitObject()
Initialize object.
Definition drotLcsIf.cpp:49
Motor Local Control System (LCS) Interface (IF) class.
Definition motorLcsIf.hpp:97
Drot class source file.
Definition drot.cpp:19
The drotControllerData struct.
Definition drotLcsIf.hpp:28
void SetRotationAngle(double alpha)
double GetTrackOffset() const
double GetRotationAngle() const
short GetTrackingMode() const
virtual std::string GetSubstateStr() const
DrotControllerData()
Definition drotLcsIf.cpp:16
void SetAngleOnSky(double offset)
void SetPupilAngle(double delta)
virtual std::string GetErrorText() const
std::string GetTrackingModeStr() const
double GetAngleOnSky() const
void SetData(const DrotControllerData &data)
Definition drotLcsIf.cpp:28
virtual ~DrotControllerData()
Definition drotLcsIf.cpp:25
void SetTrackOffset(double offset)
double GetPupilAngle() const
void SetTrackingMode(short mode)
The MotorControllerData struct.
Definition motorLcsIf.hpp:31