This change fixes a bug in the unpacking of Labsat 3 Wideband files
when using the Labsat_Signal_Source. The original endian conversion
loop includes a cast from char->uint64_t that (surprisingly) incurs a sign
extension when the MSB of the char is set. ORing the unmasked uint64_t
into the register can set undesired bits.
The changes replace the old endian conversion loop with a ``boost`` utility
function.
Signed-off-by: Jeff Melville <dev@jeffmelville.com>
- documentation file name mismatch
- removed unnecc. headers
- changed std::cout to GLOG
- simlified read process for gr_complex data types
- seperated fifo end of file check from fail/other types (also added default case for unforseen events)
- changed vector to array for interleaved read fct
other changes:
- harmonized FIFO capitalization in docs
- changed gr_complex constructor. Real/Imaginary parts were swapped in upd source class used for reference. Not intuitive there though (swap= false will call constructor w/ (imag, real). Swapping should introduce just a phase shift, so it didn't break functionality for me either way.
Reads samples from unix fifo into gnss-sdr.
Use cases:
- multiplex signal streams outside of gnss-sdr
- another program holds access to the SDR
- the SDR is not supported by gnss-sdr but can dump the signal to a fifo
The sample_type property of gr_complex_ip_packet_source was augmented
to support the "cfloat" enumeration. It packs 8 bytes of data from
the UDP payload into a single complex float sample. The float data
in the UDP payload is assumed to be little endian.
Avoid indirection caused by passing shared_ptr by reference
The block factory does not have responsability on the lifetime of their inputs
Define std::make_unique when using C++11 and make use of it
Printers are turned into unique_ptr to express ownership
Printers do not participate on the lifelime of the data, so they take const raw pointers
Modernize tests code