ifw-fcf 8.0.2
 
Loading...
Searching...
No Matches
shutterptpLcsIf.hpp
Go to the documentation of this file.
1
7
8#ifndef FCF_DEVMGR_DEVICE_SHUTTER_PTP_IF_HPP
9#define FCF_DEVMGR_DEVICE_SHUTTER_PTP_IF_HPP
10
11#include <cstdint>
12#include <unordered_map>
13
14#include <yaml-cpp/yaml.h>
15
16#include <ifw/fcf/devmgr/common/events.rad.hpp>
17
21
22#include <Fcfif.hpp>
23#include <rad/mal/publisher.hpp>
24
25
27
34 public:
37
38 inline std::string GetErrorText() const;
39 inline std::string GetSubstateStr() const override;
40
41 void SetActualExpoTime(uint32_t val) { m_actual_expo_time = val; }
42 uint32_t GetActualExpoTime() const { return m_actual_expo_time; }
43
44 void SetTimeBeforeOpen(uint32_t val) { m_time_before_open = val; }
45 uint32_t GetTimeBeforeOpen() const { return m_time_before_open; }
46
47 void SetTimeExpoLeft(uint32_t val) { m_time_expo_left = val; }
48 uint32_t GetTimeExpoLeft() const { return m_time_expo_left; }
49
50 protected:
51 uint32_t m_actual_expo_time = 0;
52 uint32_t m_time_before_open = 0;
53 uint32_t m_time_expo_left = 0;
54 };
55
67 {
68
69 public:
71
77 ShutterPtpLcsIf(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config,
79
80
84 virtual ~ShutterPtpLcsIf() = default;
85
94 virtual void InitObject() override;
95
100 virtual bool IsOperational() const override;
101
106 bool IsArmed() const;
107
117 void OpenAt(const std::string& start_time,
118 uint32_t exposure_time);
119
124 virtual std::string GetRpcError(const short error) const override;
125
126 virtual void ReadStatus(ShutterPtpControllerData& status);
127
128 void Listener(const ifw::fnd::defs::Notification& note) override;
129
130 private:
131 uint32_t m_actual_expo_time = 0;
132 uint32_t m_time_before_open = 0;
133 uint32_t m_time_expo_left = 0;
134 log4cplus::Logger m_logger;
135
136 };
137}
138
139#include "shutterptpLcsIf.ipp"
140
141#endif //FCF_DEVMGR_DEVICE_SHUTTER_PTP_IF_HPP
Definition dataContext.hpp:86
virtual void ReadStatus(DeviceControllerData &status)
ReadStatus.
Definition deviceLcsIf.cpp:651
Shutter Local Control System (LCS) Interface (IF) class.
Definition shutterLcsIf.hpp:62
virtual ~ShutterPtpLcsIf()=default
Default destructor.
ShutterPtpLcsIf(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config, ifw::fcf::devmgr::common::DataContext &data_ctx)
ShutterPtpLcsIf constructor.
Definition shutterptpLcsIf.cpp:23
bool IsArmed() const
Check if shutter is armed (waiting for PTP trigger)
Definition shutterptpLcsIf.cpp:70
void Listener(const ifw::fnd::defs::Notification &note) override
Callback for listening controller events.
Definition shutterptpLcsIf.cpp:146
virtual std::string GetRpcError(const short error) const override
Definition shutterptpLcsIf.cpp:101
void OpenAt(const std::string &start_time, uint32_t exposure_time)
Executes the OpenAt RPC.
Definition shutterptpLcsIf.cpp:82
virtual void ReadStatus(ShutterPtpControllerData &status)
Definition shutterptpLcsIf.cpp:134
virtual void InitObject() override
Initialize object with PTP-specific subscriptions.
Definition shutterptpLcsIf.cpp:31
virtual bool IsOperational() const override
Check if controller is in Operational, including ARMED.
Definition shutterptpLcsIf.cpp:51
ShutterPtp class header file.
Definition shutterptp.hpp:17
The ShutterControllerData struct.
Definition shutterLcsIf.hpp:34
The ShutterPtpControllerData struct.
Definition shutterptpLcsIf.hpp:33
uint32_t m_time_expo_left
Definition shutterptpLcsIf.hpp:53
ShutterPtpControllerData()
Definition shutterptpLcsIf.cpp:16
uint32_t m_actual_expo_time
Definition shutterptpLcsIf.hpp:51
void SetActualExpoTime(uint32_t val)
Definition shutterptpLcsIf.hpp:41
virtual ~ShutterPtpControllerData()
Definition shutterptpLcsIf.cpp:20
uint32_t GetTimeBeforeOpen() const
Definition shutterptpLcsIf.hpp:45
void SetTimeExpoLeft(uint32_t val)
Definition shutterptpLcsIf.hpp:47
uint32_t GetActualExpoTime() const
Definition shutterptpLcsIf.hpp:42
void SetTimeBeforeOpen(uint32_t val)
Definition shutterptpLcsIf.hpp:44
uint32_t GetTimeExpoLeft() const
Definition shutterptpLcsIf.hpp:48
uint32_t m_time_before_open
Definition shutterptpLcsIf.hpp:52