stipcores library
Collection of Software Drivers for Hardware IP Cores for the Panoradio SDR
Data_Capture.h
1 #ifndef DATA_CAPTURE_H
2 #define DATA_CAPTURE_H
3 
4 /*
5  ---------------------------------------------------------------------------------------------------
6  Data_Capture.h
7  Data Capture module class
8  This ist the SW for the Data Capture module (in VHDL), which can capture high speed data in a RAM.
9  This RAM can be read by the Zynq PS to retrieve the data.
10  Stefan Scholl, DC9ST, TU Kaiserslautern, 2015
11  ---------------------------------------------------------------------------------------------------
12 */
13 
14 #include "IP_Driver.h"
15 
17 class Data_Capture {
18 
19 protected:
20 
21  IP_Driver *data_capture_core_;
22  int num_captured_words_;
23  int timeout_counter_;
24  const int timeout_max_;
25  int *data_array_int2double_; //required for integer to double conversion in capture_and_read method
26 
27 public:
32  Data_Capture(int base_address, int size_in_k, int num_captured_words);
33 
35  ~Data_Capture();
36 
38  int get_num_captured_words() {return num_captured_words_;}
39 
40 
42  void capture();
43 
47  int read(int *data_array);
48 
52  int capture_and_read(int *data_array);
53 
57  int capture_and_read(double *data_array);
58 
63  int capture_and_read(double *data_array, int size);
64 
65 };
66 
67 #endif /* DATA_CAPTURE_H */
int read(int *data_array)
reads data, that has been captured previously by capture() (non blocking)
Definition: Data_Capture.cpp:44
int capture_and_read(int *data_array)
captures data and reads it out (blocking), for integer array
Definition: Data_Capture.cpp:70
void capture()
starts capture (non blocking)
Definition: Data_Capture.cpp:37
Generic IP Driver Class Class, that allows access to a AXI Lite IP core over the Zynq Memory Mapped I...
Definition: IP_Driver.h:14
~Data_Capture()
class deconstructor
Definition: Data_Capture.cpp:28
Class Data Capture Module.
Definition: Data_Capture.h:17
int get_num_captured_words()
returns number of captured words (memory depth)
Definition: Data_Capture.h:38
Data_Capture(int base_address, int size_in_k, int num_captured_words)
class constructor
Definition: Data_Capture.cpp:20