20#ifndef GNSS_SDR_FOUR_BIT_CPX_FILE_SIGNAL_SOURCE_H
21#define GNSS_SDR_FOUR_BIT_CPX_FILE_SIGNAL_SOURCE_H
26#include <gnuradio/blocks/interleaved_short_to_complex.h>
47 const std::string& role,
48 unsigned int in_streams,
49 unsigned int out_streams,
52 ~FourBitCpxFileSignalSource() =
default;
57 gnss_shared_ptr<gr::block>
source()
const override;
58 void create_file_source_hook()
override;
59 void pre_connect_hook(gr::top_block_sptr top_block)
override;
60 void pre_disconnect_hook(gr::top_block_sptr top_block)
override;
63 unpack_byte_4bit_samples_sptr unpack_byte_;
64 gr::blocks::interleaved_short_to_complex::sptr inter_shorts_to_cpx_;
65 gnss_shared_ptr<Gnss_Sdr_Timestamp> timestamp_block_;
66 std::string sample_type_;
67 std::string timestamp_file_;
68 double timestamp_clock_offset_ms_;
69 bool reverse_interleaving_;
This class implements a thread-safe std::queue.
This abstract class represents an interface to configuration parameters.
FileSourceBase(ConfigurationInterface const *configuration, std::string const &role, std::string impl, Concurrent_Queue< pmt::pmt_t > *queue, std::string default_item_type="short")
Constructor.
double packetsPerSample() const override
The number of (possibly unpacked) samples in a (raw) file sample (default=1).
std::tuple< size_t, bool > itemTypeToSize() override
Compute the item size, from the item_type(). Subclasses may constrain types that don't make.
gnss_shared_ptr< gr::block > source() const override
Abstracted front-end source. Sub-classes may override if they create specialized chains to decode sou...
Header file of the base class to file-oriented signal_source GNSS blocks.
GNURadio block that adds to sample stream timestamp metadata information stored on a sepparated file.
Unpacks byte samples to 4 bits samples. Packing Order Packing order in Nibble I0 I1 I2 I3 I0 I1 I2 I3...