COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutra_rtc_cacao.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // This file is part of COMPASS <https://anr-compass.github.io/compass/>
3 //
4 // Copyright (C) 2011-2023 COMPASS Team <https://github.com/ANR-COMPASS>
5 // All rights reserved.
6 
7 // -----------------------------------------------------------------------------
8 
16 
17 
18 #ifndef SUTRA_RTC_CACAO_H_
19 #define SUTRA_RTC_CACAO_H_
20 
21 #include <Cacao.h>
22 
23 #include <sutra_rtc.h>
24 #include <sutra_target.h>
25 #include <sutra_wfs.h>
26 
27 template <typename Tin, typename Tcomp, typename Tout>
28 class SutraRtcCacao : public SutraRtc<Tin, Tcomp, Tout> {
29  private:
30  std::shared_ptr<ipc::Cacao<Tin>> interface_raw_frame_;
31  std::shared_ptr<ipc::Cacao<float>> interface_cal_frame_;
32  std::shared_ptr<ipc::Cacao<Tcomp>> interface_loop_frame_;
33  std::shared_ptr<ipc::Cacao<Tout>> interface_commands_;
34 
35  std::string interface_raw_frame_name_;
36  std::string interface_cal_frame_name_;
37  std::string interface_loop_frame_name_;
38  std::string interface_commands_name_;
39 
40  long framecounter_;
41 
42  int nslp_;
43  int ncmd_;
44  int nvalid_;
45 
46  bool is_initialised_;
47 
48  public:
49  SutraRtcCacao(std::string interface_cal_frame_name, std::string interface_loop_frame_name);
51 
52  void publish();
53 
54  private:
55  void allocate_buffers();
56 };
57 
58 #endif /* SUTRA_RTC_CACAO_H_ */
this class provides the rtc_cacao features to COMPASS
SutraRtcCacao(std::string interface_cal_frame_name, std::string interface_loop_frame_name)
this class provides the rtc features to COMPASS
Definition: sutra_rtc.h:36