10 #ifndef DEVMGR_DEVICE_PIEZO_IF_HPP
11 #define DEVMGR_DEVICE_PIEZO_IF_HPP
13 #include <unordered_map>
15 #include <yaml-cpp/yaml.h>
21 #include <rad/mal/publisher.hpp>
23 namespace fcf::devmgr {
68 template<
typename TOPIC_TYPE = fcfif::PiezoTopicUnion>
101 PiezoLcsIf(std::shared_ptr<devmgr::common::IDeviceConfig> config,
168 void MoveBits(
short bit1,
short bit2,
short bit3);
179 void MoveUser(
double pos1,
double pos2,
double pos3);
203 void Listener(fcf::common::VectorVariant& params);
210 virtual std::string
GetRpcError(
const short error_code)
const;
226 void StoreAttribute(
const std::string key,
227 const fcf::common::Variant& value,
242 #include "piezoLcsIf.ipp"
244 #endif //DEVMGR_DEVICE_PIEZO_IF_HPP
void SetPosUser(short axis, double value)
void MoveBits(short bit1, short bit2, short bit3)
Executes the MoveBits RPC.
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:31
The piezoControllerData struct.
Definition: piezoLcsIf.hpp:33
PiezoLcsIf(std::shared_ptr< devmgr::common::IDeviceConfig > config, devmgr::common::DataContext &data_ctx, bool initialise=true)
piezoLcsIf constructor.
std::vector< double > m_pos_user
Definition: piezoLcsIf.hpp:48
virtual bool IsReady()
Check if controller is in Standby/Ready state.
virtual std::string GetSubstateStr() const
bool IsInAuto()
Executes the Auto RPC.
int GetPosBit(short axis) const
std::unique_ptr< rad::cii::Publisher< TOPIC_TYPE > > m_publisher
Definition: piezoLcsIf.hpp:233
virtual ~PiezoControllerData()
Definition: piezoLcsIf.cpp:37
void SetPosBit(short axis, int value)
void MoveUser(double pos1, double pos2, double pos3)
Executes the MoveUser RPC.
virtual ~PiezoLcsIf()
Default destructor.
Definition: piezoLcsIf.hpp:108
Piezo Local Control System (LCS) Interface (IF) class.
Definition: piezoLcsIf.hpp:69
PiezoConfig class header file.
virtual std::string GetRpcError(const short error_code) const
std::vector< int > m_pos_bit
Definition: piezoLcsIf.hpp:47
DataContext class header file.
bool IsInPos()
Check if piezo is in POS state.
Definition: dataContext.hpp:81
virtual void ReadStatus(PiezoControllerData &status)
Read status from the controller.
virtual bool IsOperational()
Check if controller is in Operational.
deviceLcsIf class header file.
void Home()
Executes the Home RPC.
double GetPosUser(short axis) const
PiezoControllerData()
Definition: piezoLcsIf.cpp:31
void Pos()
Executes the Pos RPC.
Definition: deviceLcsIf.hpp:72
void SetData(const PiezoControllerData &data)
Definition: piezoLcsIf.cpp:40
void Listener(fcf::common::VectorVariant ¶ms)
Callback to manage changes on the monitored items.
std::string GetErrorText() const