ifw-ccf 5.0.2
Loading...
Searching...
No Matches
comAdptSim.hpp
Go to the documentation of this file.
1
5#ifndef CCF_CONTROL_COM_ADPT_SIM_HPP_H_
6#define CCF_CONTROL_COM_ADPT_SIM_HPP_H_
7
10
12
13namespace ifw::ccf::control {
14
20 public:
21 ComAdptSim();
22 virtual ~ComAdptSim();
23
24 virtual void InitialiseUser() override;
25
26 virtual void SetDeviceAddressUser(const std::string& address) override;
27
28 virtual void CheckConnectionUser(bool& connected) override;
29
30 virtual void CheckStatusUser(ifw::ccf::HwStatus& status,
31 std::string& message) override;
32
33 virtual void ConnectUser() override;
34
35 virtual void DisconnectUser() override;
36
37 virtual void ReadUser(const std::string& name,
38 ifw::core::utils::param::Parameter& par) override;
39
40 virtual void ReceiveUser(ifw::ccf::common::DataFrame& frame,
41 bool& frame_received,
42 const double timeout,
43 bool& timed_out) override;
44
45 virtual void ScanUser(std::vector<ifw::core::utils::param::Parameter>& pars) override;
46
47 virtual void StartUser() override;
48
49 virtual void StopUser() override;
50
51 virtual void WriteUser(const ifw::core::utils::param::Parameter& par) override;
52
53 //virtual void GetStatusUser(std::vector<ifw::core::utils::param::Parameter>& pars) override;
54
55 virtual void HandleSetupUser() override;
56
57 virtual void HandleParPreWriteUser(ifw::core::utils::param::Parameter& par) override;
58
59 virtual void HandleParPostWriteUser(ifw::core::utils::param::Parameter& par) override;
60
61 virtual void HandleParPostReadUser(ifw::core::utils::param::Parameter& par) override;
62
63 protected:
64
65
66 private:
67 void LoadSimImage();
68 void GenSimPattern();
69 void GenNextFrame(ifw::ccf::common::DataFrame& frame);
70 void GetWindow(const void* image,
71 const ifw::fnd::datatype::DataType data_type,
72 const int32_t width,
73 const int32_t height,
74 const int32_t win_offset_x,
75 const int32_t win_offset_y,
76 const int32_t win_width,
77 const int32_t win_height,
78 void** image_window);
79
80 ifw::ccf::common::DataFrame m_base_frame;
81
82 uint64_t m_cam_frame_count; // Frame count (complete frames)
83 uint64_t m_int_frame_count; // Internal frame count, used to index FITS cubes.
84 ifw::ccf::SimType m_sim_type;
85
87 // Input frame used as basis for the simulation:
89 std::string m_sim_filename;
90 ifw::fnd::fits::BitPix m_bitpix;
91 ifw::fnd::datatype::DataType m_in_image_data_type;
92 uint8_t m_in_bytes_per_pixel;
93
94 int32_t m_in_naxis1;
95 int32_t m_in_naxis2;
96 int32_t m_in_naxis3;
98
100 // Output frame parameters:
102
103 double m_time_for_last_frame; // Time for generating last frame.
104 double m_expo_time; // Period with which the frames shoudl be generated.
105
106 // Current ROI:
107 int32_t m_out_win_offset_x; // First pixel = 1
108 int32_t m_out_win_offset_y;
109 int32_t m_out_win_width;
110 int32_t m_out_win_height;
112
113 };
114
115}
116
117#endif // CCF_CONTROL_COM_ADPT_SIM_HPP_H_
Class to be used as parent for CCF Communication Adapters.
Definition comAdptBase.hpp:46
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:18
Simulation Communication Adapter, implementing an in-application simulation.
Definition comAdptSim.hpp:19
virtual void StopUser() override
Definition comAdptSim.cpp:125
virtual void CheckStatusUser(ifw::ccf::HwStatus &status, std::string &message) override
Definition comAdptSim.cpp:58
virtual void DisconnectUser() override
Definition comAdptSim.cpp:68
virtual void HandleSetupUser() override
Definition comAdptSim.cpp:153
virtual void CheckConnectionUser(bool &connected) override
Definition comAdptSim.cpp:53
virtual void ReadUser(const std::string &name, ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:72
virtual void WriteUser(const ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:129
virtual ~ComAdptSim()
Definition comAdptSim.cpp:41
virtual void HandleParPostReadUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:145
virtual void ScanUser(std::vector< ifw::core::utils::param::Parameter > &pars) override
Definition comAdptSim.cpp:116
virtual void StartUser() override
Definition comAdptSim.cpp:121
virtual void ReceiveUser(ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
Definition comAdptSim.cpp:101
virtual void SetDeviceAddressUser(const std::string &address) override
Definition comAdptSim.cpp:49
virtual void InitialiseUser() override
Definition comAdptSim.cpp:45
virtual void ConnectUser() override
Definition comAdptSim.cpp:64
virtual void HandleParPostWriteUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:141
ComAdptSim()
Definition comAdptSim.cpp:16
virtual void HandleParPreWriteUser(ifw::core::utils::param::Parameter &par) override
Definition comAdptSim.cpp:137
Definition acqThread.cpp:10
SimType
Simulation type.
Definition base.hpp:311
HwStatus
HW status values.
Definition base.hpp:150