ifw-fcf 7.1.4
Loading...
Searching...
No Matches
piezoLcsIf.hpp
Go to the documentation of this file.
1
8#ifndef DEVMGR_DEVICE_PIEZO_IF_HPP
9#define DEVMGR_DEVICE_PIEZO_IF_HPP
10
11#include <unordered_map>
12
13#include <yaml-cpp/yaml.h>
17
18#include <Fcfif.hpp>
19#include <rad/mal/publisher.hpp>
20
21
23
32 public:
34 virtual ~PiezoControllerData();
35
36 inline std::string GetErrorText() const;
37 void SetData(const PiezoControllerData& data);
38 void SetPosBit(short axis, int value);
39 void SetPosUser(short axis, double value);
40 int GetPosBit(short axis) const;
41 double GetPosUser(short axis) const;
42 inline virtual std::string GetSubstateStr() const;
43
44 private:
45 std::vector<int> m_pos_bit;
46 std::vector<double> m_pos_user;
47
48
49 };
50
51
52
67 {
68
69 // enumerations for Piezo status
70 enum {
71 STAT_LOCAL = 1,
72 STAT_ERROR = 2,
73 STAT_HW_STATUS = 3,
74 STAT_STATE = 4,
75 STAT_SUBSTATE = 5,
76 STAT_BIT1,
77 STAT_BIT2,
78 STAT_BIT3,
79 STAT_POS1,
80 STAT_POS2,
81 STAT_POS3,
82 STAT_MON_BIT1,
83 STAT_MON_BIT2,
84 STAT_MON_BIT3,
85 STAT_MON_POS1,
86 STAT_MON_POS2,
87 STAT_MON_POS3
88 };
89
90 public:
99 PiezoLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
101
102
106 virtual ~PiezoLcsIf() = default;
107
108
117 virtual void InitObject();
118
130 bool IsInAuto() const;
131
136 bool IsInPos() const;
137
138 void Auto();
139
146 void Home();
147
154 void Pos();
155
165 void MoveBits(short bit1, short bit2, short bit3);
166
176 void MoveUser(double pos1, double pos2, double pos3);
177
186 virtual void ReadStatus(PiezoControllerData& status);
187
188
200 void Listener(ifw::core::protocol::base::VectorVariant& params);
201
207 virtual std::string GetRpcError(const short error_code) const;
208
209
210 private:
211 std::vector<int> m_pos_bit {0,0,0};
212 std::vector<double> m_pos_user {0.0, 0.0, 0.0};
213
214
215 private:
216 log4cplus::Logger m_logger;
217
218
219 };
220
221} //namespace
222
223#include "piezoLcsIf.ipp"
224
225#endif //DEVMGR_DEVICE_PIEZO_IF_HPP
Definition dataContext.hpp:86
Definition deviceLcsIf.hpp:84
Piezo Local Control System (LCS) Interface (IF) class.
Definition piezoLcsIf.hpp:67
virtual void ReadStatus(PiezoControllerData &status)
Read status from the controller.
Definition piezoLcsIf.cpp:293
virtual std::string GetRpcError(const short error_code) const
Definition piezoLcsIf.cpp:389
virtual ~PiezoLcsIf()=default
Default destructor.
virtual void InitObject()
Initialize object.
Definition piezoLcsIf.cpp:51
void MoveUser(double pos1, double pos2, double pos3)
Executes the MoveUser RPC.
Definition piezoLcsIf.cpp:243
void Pos()
Executes the Pos RPC.
Definition piezoLcsIf.cpp:166
void Auto()
Definition piezoLcsIf.cpp:113
PiezoLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
piezoLcsIf constructor.
Definition piezoLcsIf.cpp:43
void Home()
Executes the Home RPC.
Definition piezoLcsIf.cpp:140
bool IsInPos() const
Check if piezo is in POS state.
Definition piezoLcsIf.cpp:101
void Listener(ifw::core::protocol::base::VectorVariant &params)
Callback to manage changes on the monitored items.
Definition piezoLcsIf.cpp:307
bool IsInAuto() const
Executes the Auto RPC.
Definition piezoLcsIf.cpp:89
void MoveBits(short bit1, short bit2, short bit3)
Executes the MoveBits RPC.
Definition piezoLcsIf.cpp:193
Piezo class header file.
Definition piezo.hpp:17
The DeviceControllerData struct.
Definition deviceLcsIf.hpp:42
The piezoControllerData struct.
Definition piezoLcsIf.hpp:31
void SetPosBit(short axis, int value)
virtual std::string GetSubstateStr() const
void SetData(const PiezoControllerData &data)
Definition piezoLcsIf.cpp:38
PiezoControllerData()
Definition piezoLcsIf.cpp:29
virtual ~PiezoControllerData()
Definition piezoLcsIf.cpp:35
void SetPosUser(short axis, double value)