10 #ifndef FCF_DEVMGR_DEVICE_DROT_IF_HPP
11 #define FCF_DEVMGR_DEVICE_DROT_IF_HPP
13 #include <unordered_map>
15 #include <yaml-cpp/yaml.h>
87 STAT_TRACK_MODE = 104,
90 STAT_ANGLE_ON_SKY = 107,
91 STAT_TRACK_OFFSET = 110
103 DrotLcsIf(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config,
169 void Listener(protocol::base::VectorVariant& params);
176 virtual std::string
GetRpcError(
const short error_code)
const;
192 void PublishPosition(
const protocol::base::Variant& value,
204 log4cplus::Logger m_logger;
211 #include "drotLcsIf.ipp"
Definition: dataContext.hpp:90
Drot Local Control System (LCS) Interface (IF) class.
Definition: drotLcsIf.hpp:79
void StartTrack(short mode, double angle)
Start derotator tracking.
Definition: drotLcsIf.cpp:123
DrotLcsIf(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config, fcf::devmgr::common::DataContext &data_ctx)
drotLcsIf constructor.
Definition: drotLcsIf.cpp:39
double m_angle_on_sky
Definition: drotLcsIf.hpp:199
double m_pupil
Definition: drotLcsIf.hpp:197
virtual void InitObject()
Initialize object.
Definition: drotLcsIf.cpp:49
void Listener(protocol::base::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
Definition: drotLcsIf.cpp:272
double m_rotation
Definition: drotLcsIf.hpp:196
void ReadStatus(DrotControllerData &status)
Definition: drotLcsIf.cpp:228
void TrackOffset(double offset)
Offset position during tracking.
Definition: drotLcsIf.cpp:163
virtual std::string GetRpcError(const short error_code) const
Definition: drotLcsIf.cpp:242
void MoveAngle(double angle)
Move drot to a position angle.
Definition: drotLcsIf.cpp:84
void StopTrack()
Stop derotator tracking.
Definition: drotLcsIf.cpp:200
short m_track_mode
Definition: drotLcsIf.hpp:198
bool IsTracking()
Check if drot is tracking.
Definition: drotLcsIf.cpp:70
double m_track_offset
Definition: drotLcsIf.hpp:200
virtual ~DrotLcsIf()=default
Default destructor.
Motor Local Control System (LCS) Interface (IF) class.
Definition: motorLcsIf.hpp:100
DataContext class header file.
DrotConfig class header file.
ShutterLcsIf class header file.
The drotControllerData struct.
Definition: drotLcsIf.hpp:29
short m_tracking_mode
Definition: drotLcsIf.hpp:57
void SetTrackOffset(double offset)
void SetTrackingMode(short mode)
void SetPupilAngle(double delta)
double GetRotationAngle() const
virtual ~DrotControllerData()
Definition: drotLcsIf.cpp:25
double m_pupil
Definition: drotLcsIf.hpp:59
double m_track_offset
Definition: drotLcsIf.hpp:61
short GetTrackingMode() const
virtual std::string GetSubstateStr() const
void SetAngleOnSky(double offset)
void SetRotationAngle(double alpha)
double GetPupilAngle() const
double GetAngleOnSky() const
double GetTrackOffset() const
std::string GetTrackingModeStr() const
double m_angle_on_sky
Definition: drotLcsIf.hpp:60
void SetData(const DrotControllerData &data)
Definition: drotLcsIf.cpp:28
double m_rotation
Definition: drotLcsIf.hpp:58
virtual std::string GetErrorText() const
DrotControllerData()
Definition: drotLcsIf.cpp:16
The MotorControllerData struct.
Definition: motorLcsIf.hpp:34