pds 2.1.0-alpha
Loading...
Searching...
No Matches
lsmLcsIf.hpp
Go to the documentation of this file.
1
10#ifndef PDS_MAICAL_DEVICES_LSM_LCSIF_HPP
11#define PDS_MAICAL_DEVICES_LSM_LCSIF_HPP
12
13// System headers
14#include <unordered_map>
15
16// Third party headers
17#include <yaml-cpp/yaml.h>
18
19
20#include <ifw/fcf/devmgr/devices/lampLcsIf.hpp>
21#include <ifw/fcf/devmgr/common/dataContext.hpp>
22
23#include <Fcfif.hpp>
24#include <rad/mal/publisher.hpp>
25
26
27namespace pds::maical::devices {
28
29 struct LsmControllerData : public ifw::fcf::devmgr::lamp::LampControllerData {
30 public:
32 virtual ~LsmControllerData() = default;
33
34 inline double GetIr1Channel() const;
35 inline double GetIr2Channel() const;
36 inline void SetIr1Channel(double intensity);
37 inline void SetIr2Channel(double intensity);
38
39
40
41 void SetData(const LsmControllerData& data);
42
43 private:
44 double m_ir1;
45 double m_ir2;
46 };
47
48
63 class LsmLcsIf : public ifw::fcf::devmgr::lamp::LampLcsIf {
64
65 // enumerations for the lamp status
66 enum {
67 STAT_IR1_INTENSITY = 26,
68 STAT_IR2_INTENSITY = 27
69 };
70
71 public:
78 LsmLcsIf(std::shared_ptr<fcs::IDeviceConfig> config,
79 ifw::fcf::devmgr::common::DataContext& data_ctx);
80
81 // Inherit constructors from Base
82 using ifw::fcf::devmgr::lamp::LampLcsIf::LampLcsIf;
83
87 virtual ~LsmLcsIf() = default;
88
89 void InitObject();
90
94 void ChannelsOn(double ch_vis, double ch_ir1, double ch_ir2, int ontime);
95
104 virtual void ReadStatus(LsmControllerData& status);
105
106 void Listener(ifw::core::protocol::base::VectorVariant& params);
107 std::pair<std::string, std::string> GetObjectInfo(const std::string& map_value) const;
108
109 private:
110 double m_ir1 {};
111 double m_ir2 {};
112
113
114 log4cplus::Logger m_logger;
115
116 };
117}
118
119#include "lsmLcsIf.ipp"
120
121#endif //PDS_MAICAL_DEVICES_LSM_LCSIF_HPP
PSU8600 Local Control System (LCS) Interface (IF) class.
Definition lsmLcsIf.hpp:63
virtual ~LsmLcsIf()=default
Psu8600LcsIf destructor.
void ChannelsOn(double ch_vis, double ch_ir1, double ch_ir2, int ontime)
Unlock PSU for enable the activation of the outputs.
Definition lsmLcsIf.cpp:62
LsmLcsIf(std::shared_ptr< fcs::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
LsmLcsIf constructor.
Definition lsmLcsIf.cpp:33
void InitObject()
Definition lsmLcsIf.cpp:41
std::pair< std::string, std::string > GetObjectInfo(const std::string &map_value) const
Definition lsmLcsIf.cpp:155
void Listener(ifw::core::protocol::base::VectorVariant &params)
Definition lsmLcsIf.cpp:104
virtual void ReadStatus(LsmControllerData &status)
Read status from the controller.
Definition lsmLcsIf.cpp:93
Definition lsm.hpp:19
Definition lsmLcsIf.hpp:29
void SetData(const LsmControllerData &data)
Definition lsmLcsIf.cpp:27
LsmControllerData()
Definition lsmLcsIf.cpp:21
void SetIr2Channel(double intensity)
void SetIr1Channel(double intensity)