GNU Radio's CYBERRADIO Package
gr::CyberRadio::vita_multifile_iq_source_impl Class Reference

#include <vita_multifile_iq_source_impl.h>

Inheritance diagram for gr::CyberRadio::vita_multifile_iq_source_impl:
gr::CyberRadio::vita_multifile_iq_source

Public Member Functions

 vita_multifile_iq_source_impl (const std::vector< std::string > &filespecs, bool alphabetical, int vita_type, size_t payload_size, size_t vita_header_size, size_t vita_tail_size, bool byte_swapped, bool iq_swapped, float iq_scale_factor, bool repeat, bool terminate_at_end, bool tagged, bool debug)
 
 ~vita_multifile_iq_source_impl ()
 
void open (const std::vector< std::string > &filespecs, bool alphabetical, bool repeat, bool terminate_at_end)
 Opens a new sequence of files. More...
 
void close ()
 Close the existing file sequence. More...
 
void set_iq_scale_factor (float iq_scale_factor)
 Sets the I/Q scale factor. More...
 
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 
float get_realtime_sample_rate ()
 Gets the real-time calculated sample rate for a specific output. More...
 

Protected Member Functions

void open_immediate (const std::vector< std::string > &filespecs, bool alphabetical, bool repeat, bool terminate_at_end)
 
void close_immediate ()
 
void open_file_immediate ()
 
void close_file_immediate ()
 
void next_file_immediate ()
 
int read_output_items_immediate (gr_complex *out)
 
void generate_vita_tags (int output, const Vita49Packet &vp)
 

Protected Attributes

bool d_alphabetical
 
int d_vita_type
 
size_t d_payload_size
 
size_t d_vita_header_size
 
size_t d_vita_tail_size
 
bool d_byte_swapped
 
bool d_iq_swapped
 
float d_iq_scale_factor
 
bool d_repeat
 
bool d_terminate_at_end
 
bool d_tagged
 
std::vector< std::string > d_filenames
 
size_t d_packet_size
 
int d_filename_index
 
FILE * d_fp
 
boost::mutex d_fp_mutex
 
unsigned char * d_buffer
 
int d_buffer_offset
 
bool d_packet_data_available
 
uint64_t d_absolute_packet_num
 
float d_realtime_sample_rate
 
long d_realtime_sample_count
 
time_t d_realtime_last_time
 

Additional Inherited Members

- Public Types inherited from gr::CyberRadio::vita_multifile_iq_source
typedef boost::shared_ptr< vita_multifile_iq_sourcesptr
 
- Static Public Member Functions inherited from gr::CyberRadio::vita_multifile_iq_source
static sptr make (const std::vector< std::string > &filespecs=std::vector< std::string >(), bool alphabetical=false, int vita_type=0, size_t payload_size=8192, size_t vita_header_size=0, size_t vita_tail_size=0, bool byte_swapped=false, bool iq_swapped=false, float iq_scale_factor=1.0, bool repeat=false, bool terminate_at_end=false, bool tagged=false, bool debug=false)
 Creates a vita_multifile_iq_source block. More...
 

Constructor & Destructor Documentation

◆ vita_multifile_iq_source_impl()

gr::CyberRadio::vita_multifile_iq_source_impl::vita_multifile_iq_source_impl ( const std::vector< std::string > &  filespecs,
bool  alphabetical,
int  vita_type,
size_t  payload_size,
size_t  vita_header_size,
size_t  vita_tail_size,
bool  byte_swapped,
bool  iq_swapped,
float  iq_scale_factor,
bool  repeat,
bool  terminate_at_end,
bool  tagged,
bool  debug 
)

◆ ~vita_multifile_iq_source_impl()

gr::CyberRadio::vita_multifile_iq_source_impl::~vita_multifile_iq_source_impl ( )

Member Function Documentation

◆ close()

void gr::CyberRadio::vita_multifile_iq_source_impl::close ( )
virtual

Close the existing file sequence.

Calling this method causes this block to provide zero values until provided with a file sequence than can be opened.

Implements gr::CyberRadio::vita_multifile_iq_source.

◆ close_file_immediate()

void gr::CyberRadio::vita_multifile_iq_source_impl::close_file_immediate ( )
protected

◆ close_immediate()

void gr::CyberRadio::vita_multifile_iq_source_impl::close_immediate ( )
protected

◆ generate_vita_tags()

void gr::CyberRadio::vita_multifile_iq_source_impl::generate_vita_tags ( int  output,
const Vita49Packet vp 
)
protected

◆ get_realtime_sample_rate()

float gr::CyberRadio::vita_multifile_iq_source_impl::get_realtime_sample_rate ( )
virtual

Gets the real-time calculated sample rate for a specific output.

Returns
The sample rate (in samples per second).

Implements gr::CyberRadio::vita_multifile_iq_source.

◆ next_file_immediate()

void gr::CyberRadio::vita_multifile_iq_source_impl::next_file_immediate ( )
protected

◆ open()

void gr::CyberRadio::vita_multifile_iq_source_impl::open ( const std::vector< std::string > &  filespecs,
bool  alphabetical,
bool  repeat,
bool  terminate_at_end 
)
virtual

Opens a new sequence of files.

Calling this method while this block is already reading data closes the file being used and abandons the previous file sequence.

Parameters
filespecsA list of filenames and/or wildcard file specifications for the data files to use.
alphabeticalWhether the block should alphabetically sort file names during file spec evaluation.
repeatTrue if the data should be repeated from the beginning once the last item is processed, False otherwise.
terminate_at_endTrue if the flowgraph should terminate when the all of the file data has been processed. This option has no effect if Repeat is True.

Implements gr::CyberRadio::vita_multifile_iq_source.

◆ open_file_immediate()

void gr::CyberRadio::vita_multifile_iq_source_impl::open_file_immediate ( )
protected

◆ open_immediate()

void gr::CyberRadio::vita_multifile_iq_source_impl::open_immediate ( const std::vector< std::string > &  filespecs,
bool  alphabetical,
bool  repeat,
bool  terminate_at_end 
)
protected

◆ read_output_items_immediate()

int gr::CyberRadio::vita_multifile_iq_source_impl::read_output_items_immediate ( gr_complex *  out)
protected

◆ set_iq_scale_factor()

void gr::CyberRadio::vita_multifile_iq_source_impl::set_iq_scale_factor ( float  iq_scale_factor)
virtual

Sets the I/Q scale factor.

Parameters
iq_scale_factorThe new I/Q scale factor.

Implements gr::CyberRadio::vita_multifile_iq_source.

◆ work()

int gr::CyberRadio::vita_multifile_iq_source_impl::work ( int  noutput_items,
gr_vector_const_void_star &  input_items,
gr_vector_void_star &  output_items 
)

Member Data Documentation

◆ d_absolute_packet_num

uint64_t gr::CyberRadio::vita_multifile_iq_source_impl::d_absolute_packet_num
protected

◆ d_alphabetical

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_alphabetical
protected

◆ d_buffer

unsigned char* gr::CyberRadio::vita_multifile_iq_source_impl::d_buffer
protected

◆ d_buffer_offset

int gr::CyberRadio::vita_multifile_iq_source_impl::d_buffer_offset
protected

◆ d_byte_swapped

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_byte_swapped
protected

◆ d_filename_index

int gr::CyberRadio::vita_multifile_iq_source_impl::d_filename_index
protected

◆ d_filenames

std::vector<std::string> gr::CyberRadio::vita_multifile_iq_source_impl::d_filenames
protected

◆ d_fp

FILE* gr::CyberRadio::vita_multifile_iq_source_impl::d_fp
protected

◆ d_fp_mutex

boost::mutex gr::CyberRadio::vita_multifile_iq_source_impl::d_fp_mutex
protected

◆ d_iq_scale_factor

float gr::CyberRadio::vita_multifile_iq_source_impl::d_iq_scale_factor
protected

◆ d_iq_swapped

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_iq_swapped
protected

◆ d_packet_data_available

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_packet_data_available
protected

◆ d_packet_size

size_t gr::CyberRadio::vita_multifile_iq_source_impl::d_packet_size
protected

◆ d_payload_size

size_t gr::CyberRadio::vita_multifile_iq_source_impl::d_payload_size
protected

◆ d_realtime_last_time

time_t gr::CyberRadio::vita_multifile_iq_source_impl::d_realtime_last_time
protected

◆ d_realtime_sample_count

long gr::CyberRadio::vita_multifile_iq_source_impl::d_realtime_sample_count
protected

◆ d_realtime_sample_rate

float gr::CyberRadio::vita_multifile_iq_source_impl::d_realtime_sample_rate
protected

◆ d_repeat

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_repeat
protected

◆ d_tagged

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_tagged
protected

◆ d_terminate_at_end

bool gr::CyberRadio::vita_multifile_iq_source_impl::d_terminate_at_end
protected

◆ d_vita_header_size

size_t gr::CyberRadio::vita_multifile_iq_source_impl::d_vita_header_size
protected

◆ d_vita_tail_size

size_t gr::CyberRadio::vita_multifile_iq_source_impl::d_vita_tail_size
protected

◆ d_vita_type

int gr::CyberRadio::vita_multifile_iq_source_impl::d_vita_type
protected

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