stipcores library
Collection of Software Drivers for Hardware IP Cores for the Panoradio SDR
Public Member Functions | List of all members
Data_Capture_Dual Class Reference

Class Data Capture Module for dual channel operation. More...

#include <Data_Capture_Dual.h>

Inheritance diagram for Data_Capture_Dual:
Data_Capture

Public Member Functions

 Data_Capture_Dual (int base_address, int size_in_k, int num_captured_words)
 class constructor More...
 
 ~Data_Capture_Dual ()
 class deconstructor
 
int read (int *data_array_1, int *data_array_2)
 reads data, that has been captured previously by capture() (non blocking) More...
 
int capture_and_read (int *data_array_1, int *data_array_2)
 captures data and reads it out (blocking), for integer array More...
 
int capture_and_read (double *data_array_1, double *data_array_2)
 captures data and reads it out (blocking), overloaded for double array More...
 
int capture_and_read (double *data_array_1, double *data_array_2, int size)
 captures data and reads it out (blocking), overloaded for double array and smaller array size More...
 
- Public Member Functions inherited from Data_Capture
 Data_Capture (int base_address, int size_in_k, int num_captured_words)
 class constructor More...
 
 ~Data_Capture ()
 class deconstructor
 
int get_num_captured_words ()
 returns number of captured words (memory depth)
 
void capture ()
 starts capture (non blocking)
 
int read (int *data_array)
 reads data, that has been captured previously by capture() (non blocking) More...
 
int capture_and_read (int *data_array)
 captures data and reads it out (blocking), for integer array More...
 
int capture_and_read (double *data_array)
 captures data and reads it out (blocking), overloaded for double array More...
 
int capture_and_read (double *data_array, int size)
 captures data and reads it out (blocking), overloaded for double array and with size specification More...
 

Additional Inherited Members

- Protected Attributes inherited from Data_Capture
IP_Driverdata_capture_core_
 
int num_captured_words_
 
int timeout_counter_
 
const int timeout_max_
 
int * data_array_int2double_
 

Detailed Description

Class Data Capture Module for dual channel operation.

Constructor & Destructor Documentation

Data_Capture_Dual::Data_Capture_Dual ( int  base_address,
int  size_in_k,
int  num_captured_words 
)

class constructor

Parameters
base_adressaddress of the spi core (from Vivado), e.g. 0x44C00000
size_in_ksize of the required adress space in k (from Vivado)
num_captured_wordsnumber of words to be captured (from IP core properties in Vivado)

Member Function Documentation

int Data_Capture_Dual::capture_and_read ( int *  data_array_1,
int *  data_array_2 
)

captures data and reads it out (blocking), for integer array

Parameters
data_array_1pointer to a data array for channel 1, into which the function writes the captured data
data_array_2pointer to a data array for channel 2, into which the function writes the captured data
Returns
0: no errors, -1: timeout during read (maybe IP addess wrong), -3: capture timeout = capture takes too long (read not possible)
int Data_Capture_Dual::capture_and_read ( double *  data_array_1,
double *  data_array_2 
)

captures data and reads it out (blocking), overloaded for double array

Parameters
data_array_1pointer to a data array for channel 1, into which the function writes the captured data
data_array_2pointer to a data array for channel 2, into which the function writes the captured data
Returns
0: no errors, -1: timeout during read (maybe IP addess wrong), -3: capture timeout = capture takes too long (read not possible)
int Data_Capture_Dual::capture_and_read ( double *  data_array_1,
double *  data_array_2,
int  size 
)

captures data and reads it out (blocking), overloaded for double array and smaller array size

Parameters
data_array_1pointer to a data array for channel 1, into which the function writes the captured data
data_array_2pointer to a data array for channel 2, into which the function writes the captured data
sizearray sizes of data_array_1 and _2
Returns
0: no errors, -1: timeout during read (maybe IP addess wrong), -3: capture timeout = capture takes too long (read not possible)
int Data_Capture_Dual::read ( int *  data_array_1,
int *  data_array_2 
)

reads data, that has been captured previously by capture() (non blocking)

Parameters
data_array_1pointer to a data array for channel 1, into which the function writes the captured data
data_array_2pointer to a data array for channel 2, into which the function writes the captured data
Returns
0: no errors, -1: timeout during read (maybe IP addess wrong), -2: module busy / capture in progess

The documentation for this class was generated from the following files: