ifw-ccf 4.0.0
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 ccf::control {
14
20 public:
21 ComAdptSim();
22 virtual ~ComAdptSim();
23
24 virtual void InitialiseUser();
25
26 virtual void SetAddressUser(const std::string& address);
27
28 virtual void CheckConnectionUser(bool& connected);
29
30 virtual void CheckStatusUser(ccf::HwStatus& status,
31 std::string& message);
32
33 virtual void ConnectUser();
34
35 virtual void DisconnectUser();
36
37 virtual void ReadUser(const std::string& name,
38 core::utils::param::Parameter& par);
39
40 virtual void ReceiveUser(ccf::common::DataFrame& frame,
41 bool& frame_received,
42 const double timeout,
43 bool& timed_out);
44
45 virtual void ScanUser(std::vector<core::utils::param::Parameter>& pars);
46
47 virtual void StartUser();
48
49 virtual void StopUser();
50
51 virtual void WriteUser(const core::utils::param::Parameter& par);
52
53 virtual void GetStatusUser(std::vector<core::utils::param::Parameter>& pars);
54
55 virtual void HandleSetupUser();
56
57 virtual void HandleParPreWriteUser(std::vector<core::utils::param::Parameter>& par);
58
59 virtual void HandleParPostWriteUser(std::vector<core::utils::param::Parameter>& par);
60
61 virtual void HandleParPostReadUser(std::vector<core::utils::param::Parameter>& par);
62
63 protected:
64
65
66 private:
67 void LoadSimImage();
68 void GenSimPattern();
69 void GenNextFrame(ccf::common::DataFrame& frame);
70 void GetWindow(const void* image,
71 const ccf::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 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 ccf::SimType m_sim_type;
85
87 // Input frame used as basis for the simulation:
89 std::string m_sim_filename;
90 int8_t m_bitpix;
91 ccf::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:31
Frame class used to store the data and metadata for one frames received from the camera.
Definition: dataFrame.hpp:17
Simulation Communication Adapter, implementing an in-application simulation.
Definition: comAdptSim.hpp:19
virtual void ConnectUser()
Definition: comAdptSim.cpp:64
virtual void StartUser()
Definition: comAdptSim.cpp:115
virtual void InitialiseUser()
Definition: comAdptSim.cpp:45
virtual void GetStatusUser(std::vector< core::utils::param::Parameter > &pars)
Definition: comAdptSim.cpp:143
virtual void DisconnectUser()
Definition: comAdptSim.cpp:68
virtual void WriteUser(const core::utils::param::Parameter &par)
Definition: comAdptSim.cpp:123
virtual void StopUser()
Definition: comAdptSim.cpp:119
virtual void CheckStatusUser(ccf::HwStatus &status, std::string &message)
Definition: comAdptSim.cpp:58
virtual void ReceiveUser(ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out)
Definition: comAdptSim.cpp:95
virtual void HandleParPreWriteUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:131
virtual void HandleParPostWriteUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:135
virtual void SetAddressUser(const std::string &address)
Definition: comAdptSim.cpp:49
virtual void HandleParPostReadUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:139
virtual void ScanUser(std::vector< core::utils::param::Parameter > &pars)
Definition: comAdptSim.cpp:110
virtual void CheckConnectionUser(bool &connected)
Definition: comAdptSim.cpp:53
virtual void HandleSetupUser()
Definition: comAdptSim.cpp:147
virtual void ReadUser(const std::string &name, core::utils::param::Parameter &par)
Definition: comAdptSim.cpp:72
ComAdptSim()
Definition: comAdptSim.cpp:16
virtual ~ComAdptSim()
Definition: comAdptSim.cpp:41
Definition: acqThread.cpp:10
HwStatus
HW status values.
Definition: base.hpp:137
DataType
Definition: dataType.hpp:46
SimType
Simulation type.
Definition: base.hpp:344