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>
20 namespace fcf::devmgr::drot {
74 template<
typename TOPIC_TYPE>
83 STAT_TRACK_MODE = 104,
86 STAT_ANGLE_ON_SKY = 107
97 DrotLcsIf(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config,
99 bool initialise =
true);
147 void Listener(fcf::common::VectorVariant& params);
154 virtual std::string
GetRpcError(
const short error_code)
const;
172 void StoreAttribute(
const std::string key,
173 const fcf::common::Variant& value,
184 void PublishPosition(
const fcf::common::Variant& value,
199 #include "drotLcsIf.ipp"
201 #endif //FCF_DEVMGR_DEVICE_DROT_IF_HPP
double m_alpha
Definition: drotLcsIf.hpp:54
virtual std::string GetRpcError(const short error_code) const
bool IsTracking()
Check if drot is tracking.
short m_tracking_mode
Definition: drotLcsIf.hpp:53
ShutterLcsIf class header file.
DrotLcsIf(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config, fcf::devmgr::common::DataContext &data_ctx, bool initialise=true)
drotLcsIf constructor.
virtual std::string GetErrorText() const
virtual ~DrotLcsIf()
Default destructor.
Definition: drotLcsIf.hpp:105
void SetData(const DrotControllerData &data)
Definition: drotLcsIf.cpp:32
DrotConfig class header file.
double GetAngleOnSky() const
void SetDelta(double delta)
void StartTrack(short mode, double angle)
Start derotator tracking.
virtual ~DrotControllerData()
Definition: drotLcsIf.cpp:29
void SetAlpha(double alpha)
short GetTrackingMode() const
void ReadStatus(DrotControllerData &status)
virtual std::string GetSubstateStr() const
void SetAngleOnSky(double angle)
void SetTrackingMode(short mode)
Motor Local Control System (LCS) Interface (IF) class.
Definition: motorLcsIf.hpp:116
void StopTrack()
Stop derotator tracking.
double m_delta
Definition: drotLcsIf.hpp:55
DrotControllerData()
Definition: drotLcsIf.cpp:21
DataContext class header file.
The MotorControllerData struct.
Definition: motorLcsIf.hpp:34
Definition: dataContext.hpp:81
void Listener(fcf::common::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
void MoveAngle(double angle)
Move drot to a position angle.
The drotControllerData struct.
Definition: drotLcsIf.hpp:29
double m_angle_on_sky
Definition: drotLcsIf.hpp:56
Drot Local Control System (LCS) Interface (IF) class.
Definition: drotLcsIf.hpp:75