ifw-ccf  3.0.0-pre2
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 
11 #include <ccf/control/defines.hpp>
12 
13 namespace 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::DataTypes 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::DataTypes 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:98
virtual void InitialiseUser()
Definition: comAdptSim.cpp:45
virtual void GetStatusUser(std::vector< core::utils::param::Parameter > &pars)
Definition: comAdptSim.cpp:126
virtual void DisconnectUser()
Definition: comAdptSim.cpp:68
virtual void WriteUser(const core::utils::param::Parameter &par)
Definition: comAdptSim.cpp:106
virtual void StopUser()
Definition: comAdptSim.cpp:102
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:78
virtual void HandleParPreWriteUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:114
virtual void HandleParPostWriteUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:118
virtual void SetAddressUser(const std::string &address)
Definition: comAdptSim.cpp:49
virtual void HandleParPostReadUser(std::vector< core::utils::param::Parameter > &par)
Definition: comAdptSim.cpp:122
virtual void ScanUser(std::vector< core::utils::param::Parameter > &pars)
Definition: comAdptSim.cpp:93
virtual void CheckConnectionUser(bool &connected)
Definition: comAdptSim.cpp:53
virtual void HandleSetupUser()
Definition: comAdptSim.cpp:130
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
DataTypes
Definition: dataType.hpp:46
HwStatus
HW status values.
Definition: base.hpp:195
SimType
Simulation type.
Definition: base.hpp:398