21#ifndef GNSS_SDR_TWO_BIT_PACKED_FILE_SIGNAL_SOURCE_H
22#define GNSS_SDR_TWO_BIT_PACKED_FILE_SIGNAL_SOURCE_H
26#include <gnuradio/blocks/interleaved_char_to_complex.h>
48 unsigned int in_streams,
unsigned int out_streams,
51 ~TwoBitPackedFileSignalSource() =
default;
54 inline bool big_endian_items()
const
56 return big_endian_items_;
59 inline bool big_endian_bytes()
const
61 return big_endian_bytes_;
65 inline bool reverse_interleaving()
const
67 return reverse_interleaving_;
73 gnss_shared_ptr<gr::block>
source()
const override;
74 void create_file_source_hook()
override;
75 void pre_connect_hook(gr::top_block_sptr top_block)
override;
76 void pre_disconnect_hook(gr::top_block_sptr top_block)
override;
79 std::string sample_type_;
80 bool big_endian_items_;
81 bool big_endian_bytes_;
82 bool reverse_interleaving_;
83 unpack_2bit_samples_sptr unpack_samples_;
84 gnss_shared_ptr<gr::block> char_to_float_;
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.
gnss_shared_ptr< gr::block > source() const override
Abstracted front-end source. Sub-classes may override if they create specialized chains to decode sou...
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.
Header file of the base class to file-oriented signal_source GNSS blocks.
Unpacks 2 bit samples samples may be packed in any of the following ways: 1) Into bytes [ item == byt...