mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-10-29 14:37:39 +00:00
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga
This commit is contained in:
@@ -31,13 +31,14 @@
|
||||
*/
|
||||
|
||||
#include "ad9361_fpga_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "ad9361_manager.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "GPS_L2C.h"
|
||||
#include "ad9361_manager.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <exception>
|
||||
#include <iostream> // for cout, endl
|
||||
#include <utility>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <iio/iio.h>
|
||||
@@ -46,8 +47,8 @@
|
||||
#endif
|
||||
|
||||
Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_file = "./data/signal_source.dat";
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
#ifndef GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H_
|
||||
#define GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "fpga_switch.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <cstdint>
|
||||
@@ -45,7 +45,7 @@ class Ad9361FpgaSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
Ad9361FpgaSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
~Ad9361FpgaSignalSource();
|
||||
|
||||
@@ -31,19 +31,20 @@
|
||||
|
||||
|
||||
#include "custom_udp_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <boost/format.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
CustomUDPSignalSource::CustomUDPSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
// DUMP PARAMETERS
|
||||
std::string empty = "";
|
||||
@@ -112,9 +113,7 @@ CustomUDPSignalSource::CustomUDPSignalSource(ConfigurationInterface* configurati
|
||||
}
|
||||
|
||||
|
||||
CustomUDPSignalSource::~CustomUDPSignalSource()
|
||||
{
|
||||
}
|
||||
CustomUDPSignalSource::~CustomUDPSignalSource() = default;
|
||||
|
||||
|
||||
void CustomUDPSignalSource::connect(gr::top_block_sptr top_block)
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gr_complex_ip_packet_source.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/null_sink.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -54,7 +54,7 @@ class CustomUDPSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
CustomUDPSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~CustomUDPSignalSource();
|
||||
|
||||
@@ -35,18 +35,19 @@
|
||||
#include "gnss_sdr_flags.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include <glog/logging.h>
|
||||
#include <iostream> // for std::cerr
|
||||
#include <exception>
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <exception>
|
||||
#include <iostream> // for std::cerr
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
FileSignalSource::FileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "./example_capture.dat";
|
||||
std::string default_item_type = "short";
|
||||
@@ -59,8 +60,8 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration,
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
// override value with commandline flag, if present
|
||||
if (FLAGS_signal_source.compare("-") != 0) filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s.compare("-") != 0) filename_ = FLAGS_s;
|
||||
if (FLAGS_signal_source != "-") filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s != "-") filename_ = FLAGS_s;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
repeat_ = configuration->property(role + ".repeat", false);
|
||||
@@ -74,28 +75,28 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration,
|
||||
|
||||
bool is_complex = false;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
}
|
||||
else if (item_type_.compare("float") == 0)
|
||||
else if (item_type_ == "float")
|
||||
{
|
||||
item_size_ = sizeof(float);
|
||||
}
|
||||
else if (item_type_.compare("short") == 0)
|
||||
else if (item_type_ == "short")
|
||||
{
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
else if (item_type_.compare("ishort") == 0)
|
||||
else if (item_type_ == "ishort")
|
||||
{
|
||||
item_size_ = sizeof(int16_t);
|
||||
is_complex = true;
|
||||
}
|
||||
else if (item_type_.compare("byte") == 0)
|
||||
else if (item_type_ == "byte")
|
||||
{
|
||||
item_size_ = sizeof(int8_t);
|
||||
}
|
||||
else if (item_type_.compare("ibyte") == 0)
|
||||
else if (item_type_ == "ibyte")
|
||||
{
|
||||
item_size_ = sizeof(int8_t);
|
||||
is_complex = true;
|
||||
@@ -135,7 +136,7 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
{
|
||||
if (filename_.compare(default_filename) == 0)
|
||||
if (filename_ == default_filename)
|
||||
{
|
||||
std::cerr
|
||||
<< "The configuration file has not been found."
|
||||
@@ -251,9 +252,7 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
FileSignalSource::~FileSignalSource()
|
||||
{
|
||||
}
|
||||
FileSignalSource::~FileSignalSource() = default;
|
||||
|
||||
|
||||
void FileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
@@ -371,15 +370,9 @@ gr::basic_block_sptr FileSignalSource::get_right_block()
|
||||
{
|
||||
return valve_;
|
||||
}
|
||||
else
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
return throttle_;
|
||||
}
|
||||
else
|
||||
{
|
||||
return file_source_;
|
||||
}
|
||||
return throttle_;
|
||||
}
|
||||
return file_source_;
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
#define GNSS_SDR_FILE_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
@@ -53,7 +53,7 @@ class ConfigurationInterface;
|
||||
class FileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
FileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
FileSignalSource(ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
|
||||
#include "flexiband_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <glog/logging.h>
|
||||
#include <teleorbit/frontend.h>
|
||||
|
||||
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
#define FLEXIBAND_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/char_to_float.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/char_to_float.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
@@ -30,21 +30,22 @@
|
||||
*/
|
||||
|
||||
#include "fmcomms2_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "ad9361_manager.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "GPS_L2C.h"
|
||||
#include "ad9361_manager.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include <glog/logging.h>
|
||||
#include <exception>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_file = "./data/signal_source.dat";
|
||||
@@ -85,7 +86,7 @@ Fmcomms2SignalSource::Fmcomms2SignalSource(ConfigurationInterface* configuration
|
||||
std::cout << "LO frequency : " << freq_ << " Hz" << std::endl;
|
||||
std::cout << "sample rate: " << sample_rate_ << " Hz" << std::endl;
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
if (RF_channels_ == 1)
|
||||
{
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/iio/fmcomms2_source.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
@@ -46,7 +46,7 @@ class Fmcomms2SignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
Fmcomms2SignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~Fmcomms2SignalSource();
|
||||
|
||||
@@ -33,10 +33,11 @@
|
||||
#include "gen_signal_source.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <boost/thread/thread.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <gnuradio/message.h>
|
||||
#include <glog/logging.h>
|
||||
#include <sstream>
|
||||
#include <utility>
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@@ -44,8 +45,8 @@ using google::LogMessage;
|
||||
GenSignalSource::GenSignalSource(GNSSBlockInterface *signal_generator, GNSSBlockInterface *filter,
|
||||
std::string role, boost::shared_ptr<gr::msg_queue> queue) : signal_generator_(signal_generator),
|
||||
filter_(filter),
|
||||
role_(role),
|
||||
queue_(queue)
|
||||
role_(std::move(role)),
|
||||
queue_(std::move(queue))
|
||||
{
|
||||
connected_ = false;
|
||||
}
|
||||
|
||||
@@ -30,9 +30,9 @@
|
||||
|
||||
#include "gn3s_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <glog/logging.h>
|
||||
#include <gn3s/gn3s_source_cc.h>
|
||||
|
||||
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
#define GNSS_SDR_GN3S_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
||||
@@ -32,12 +32,14 @@
|
||||
#include "configuration_interface.h"
|
||||
#include "labsat23_source.h"
|
||||
#include <glog/logging.h>
|
||||
#include <cstdint>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
LabsatSignalSource::LabsatSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream, gr::msg_queue::sptr queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream, gr::msg_queue::sptr queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_file = "./data/source.bin";
|
||||
@@ -51,7 +53,7 @@ LabsatSignalSource::LabsatSignalSource(ConfigurationInterface* configuration,
|
||||
samples_ = configuration->property(role + ".samples", 0);
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
if (item_type_.compare("gr_complex") == 0)
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
labsat23_source_ = labsat23_make_source(filename_.c_str(), channel_selector);
|
||||
@@ -61,7 +63,7 @@ LabsatSignalSource::LabsatSignalSource(ConfigurationInterface* configuration,
|
||||
else
|
||||
{
|
||||
LOG(WARNING) << item_type_ << " unrecognized item type for LabSat source";
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
if (dump_)
|
||||
{
|
||||
@@ -83,9 +85,7 @@ LabsatSignalSource::LabsatSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
LabsatSignalSource::~LabsatSignalSource()
|
||||
{
|
||||
}
|
||||
LabsatSignalSource::~LabsatSignalSource() = default;
|
||||
|
||||
|
||||
void LabsatSignalSource::connect(gr::top_block_sptr top_block)
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
#define GNSS_SDR_LABSAT_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
@@ -47,7 +47,7 @@ class LabsatSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
LabsatSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, gr::msg_queue::sptr queue);
|
||||
|
||||
virtual ~LabsatSignalSource();
|
||||
|
||||
@@ -39,14 +39,15 @@
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
NsrFileSignalSource::NsrFileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "../data/my_capture.dat";
|
||||
std::string default_item_type = "byte";
|
||||
@@ -57,8 +58,8 @@ NsrFileSignalSource::NsrFileSignalSource(ConfigurationInterface* configuration,
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
// override value with commandline flag, if present
|
||||
if (FLAGS_signal_source.compare("-") != 0) filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s.compare("-") != 0) filename_ = FLAGS_s;
|
||||
if (FLAGS_signal_source != "-") filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s != "-") filename_ = FLAGS_s;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
repeat_ = configuration->property(role + ".repeat", false);
|
||||
@@ -66,7 +67,7 @@ NsrFileSignalSource::NsrFileSignalSource(ConfigurationInterface* configuration,
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
enable_throttle_control_ = configuration->property(role + ".enable_throttle_control", false);
|
||||
|
||||
if (item_type_.compare("byte") == 0)
|
||||
if (item_type_ == "byte")
|
||||
{
|
||||
item_size_ = sizeof(char);
|
||||
}
|
||||
@@ -177,9 +178,7 @@ NsrFileSignalSource::NsrFileSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
NsrFileSignalSource::~NsrFileSignalSource()
|
||||
{
|
||||
}
|
||||
NsrFileSignalSource::~NsrFileSignalSource() = default;
|
||||
|
||||
|
||||
void NsrFileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
@@ -310,15 +309,9 @@ gr::basic_block_sptr NsrFileSignalSource::get_right_block()
|
||||
{
|
||||
return valve_;
|
||||
}
|
||||
else
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
return throttle_;
|
||||
}
|
||||
else
|
||||
{
|
||||
return unpack_byte_;
|
||||
}
|
||||
return throttle_;
|
||||
}
|
||||
return unpack_byte_;
|
||||
}
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "unpack_byte_2bit_samples.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
@@ -53,7 +53,7 @@ class ConfigurationInterface;
|
||||
class NsrFileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
NsrFileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
NsrFileSignalSource(ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
|
||||
@@ -30,21 +30,22 @@
|
||||
*/
|
||||
|
||||
#include "osmosdr_signal_source.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <boost/format.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
OsmosdrSignalSource::OsmosdrSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
// DUMP PARAMETERS
|
||||
std::string empty = "";
|
||||
@@ -66,11 +67,11 @@ OsmosdrSignalSource::OsmosdrSignalSource(ConfigurationInterface* configuration,
|
||||
osmosdr_args_ = configuration->property(role + ".osmosdr_args", std::string());
|
||||
antenna_ = configuration->property(role + ".antenna", empty);
|
||||
|
||||
if (item_type_.compare("short") == 0)
|
||||
if (item_type_ == "short")
|
||||
{
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
else if (item_type_.compare("gr_complex") == 0)
|
||||
else if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
// 1. Make the driver instance
|
||||
@@ -130,7 +131,7 @@ OsmosdrSignalSource::OsmosdrSignalSource(ConfigurationInterface* configuration,
|
||||
else
|
||||
{
|
||||
LOG(WARNING) << item_type_ << " unrecognized item type. Using short.";
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
|
||||
if (samples_ != 0)
|
||||
@@ -157,9 +158,7 @@ OsmosdrSignalSource::OsmosdrSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
OsmosdrSignalSource::~OsmosdrSignalSource()
|
||||
{
|
||||
}
|
||||
OsmosdrSignalSource::~OsmosdrSignalSource() = default;
|
||||
|
||||
|
||||
void OsmosdrSignalSource::driver_instance()
|
||||
|
||||
@@ -35,8 +35,9 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <cstdint>
|
||||
#include <osmosdr/source.h>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
@@ -52,7 +53,7 @@ class OsmosdrSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
OsmosdrSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~OsmosdrSignalSource();
|
||||
@@ -98,7 +99,7 @@ private:
|
||||
|
||||
std::string item_type_;
|
||||
size_t item_size_;
|
||||
long samples_;
|
||||
int64_t samples_;
|
||||
bool dump_;
|
||||
std::string dump_filename_;
|
||||
|
||||
|
||||
@@ -29,19 +29,20 @@
|
||||
*/
|
||||
|
||||
#include "plutosdr_signal_source.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <glog/logging.h>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_item_type = "gr_complex";
|
||||
std::string default_dump_file = "./data/signal_source.dat";
|
||||
@@ -63,7 +64,7 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file);
|
||||
|
||||
if (item_type_.compare("gr_complex") != 0)
|
||||
if (item_type_ != "gr_complex")
|
||||
{
|
||||
std::cout << "Configuration error: item_type must be gr_complex" << std::endl;
|
||||
LOG(FATAL) << "Configuration error: item_type must be gr_complex!";
|
||||
@@ -105,9 +106,7 @@ PlutosdrSignalSource::PlutosdrSignalSource(ConfigurationInterface* configuration
|
||||
}
|
||||
|
||||
|
||||
PlutosdrSignalSource::~PlutosdrSignalSource()
|
||||
{
|
||||
}
|
||||
PlutosdrSignalSource::~PlutosdrSignalSource() = default;
|
||||
|
||||
|
||||
void PlutosdrSignalSource::connect(gr::top_block_sptr top_block)
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/iio/pluto_source.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <string>
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ class PlutosdrSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
PlutosdrSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~PlutosdrSignalSource();
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
|
||||
#include "raw_array_signal_source.h"
|
||||
#include "configuration_interface.h"
|
||||
#include <dbfcttc/raw_array.h>
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <glog/logging.h>
|
||||
#include <dbfcttc/raw_array.h>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
#define RAW_ARRAY_SIGNAL_SOURCE_H_
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
||||
@@ -31,20 +31,27 @@
|
||||
*/
|
||||
|
||||
#include "rtl_tcp_signal_source.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <boost/format.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role,
|
||||
unsigned int in_stream,
|
||||
unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(std::move(role)),
|
||||
in_stream_(in_stream),
|
||||
out_stream_(out_stream),
|
||||
queue_(queue)
|
||||
{
|
||||
// DUMP PARAMETERS
|
||||
std::string empty = "";
|
||||
@@ -57,7 +64,7 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
|
||||
// rtl_tcp PARAMETERS
|
||||
std::string default_address = "127.0.0.1";
|
||||
short default_port = 1234;
|
||||
int16_t default_port = 1234;
|
||||
AGC_enabled_ = configuration->property(role + ".AGC_enabled", true);
|
||||
freq_ = configuration->property(role + ".freq", GPS_L1_FREQ_HZ);
|
||||
gain_ = configuration->property(role + ".gain", 40.0);
|
||||
@@ -69,11 +76,11 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
port_ = configuration->property(role + ".port", default_port);
|
||||
flip_iq_ = configuration->property(role + ".flip_iq", false);
|
||||
|
||||
if (item_type_.compare("short") == 0)
|
||||
if (item_type_ == "short")
|
||||
{
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
else if (item_type_.compare("gr_complex") == 0)
|
||||
else if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
// 1. Make the gr block
|
||||
@@ -112,7 +119,7 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
else
|
||||
{
|
||||
LOG(WARNING) << item_type_ << " unrecognized item type. Using short.";
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
|
||||
if (samples_ != 0)
|
||||
@@ -139,9 +146,7 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
RtlTcpSignalSource::~RtlTcpSignalSource()
|
||||
{
|
||||
}
|
||||
RtlTcpSignalSource::~RtlTcpSignalSource() = default;
|
||||
|
||||
|
||||
void RtlTcpSignalSource::MakeBlock()
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
#ifndef GNSS_SDR_RTL_TCP_SIGNAL_SOURCE_H
|
||||
#define GNSS_SDR_RTL_TCP_SIGNAL_SOURCE_H
|
||||
|
||||
#include "rtl_tcp_signal_source_c.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include "rtl_tcp_signal_source_c.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/deinterleave.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
@@ -54,8 +54,10 @@ class RtlTcpSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
const std::string& role,
|
||||
unsigned int in_stream,
|
||||
unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~RtlTcpSignalSource();
|
||||
|
||||
|
||||
@@ -38,14 +38,15 @@
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
SpirFileSignalSource::SpirFileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "../data/my_capture.dat";
|
||||
std::string default_item_type = "int";
|
||||
@@ -56,8 +57,8 @@ SpirFileSignalSource::SpirFileSignalSource(ConfigurationInterface* configuration
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
// override value with commandline flag, if present
|
||||
if (FLAGS_signal_source.compare("-") != 0) filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s.compare("-") != 0) filename_ = FLAGS_s;
|
||||
if (FLAGS_signal_source != "-") filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s != "-") filename_ = FLAGS_s;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
repeat_ = configuration->property(role + ".repeat", false);
|
||||
@@ -65,7 +66,7 @@ SpirFileSignalSource::SpirFileSignalSource(ConfigurationInterface* configuration
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
enable_throttle_control_ = configuration->property(role + ".enable_throttle_control", false);
|
||||
|
||||
if (item_type_.compare("int") == 0)
|
||||
if (item_type_ == "int")
|
||||
{
|
||||
item_size_ = sizeof(int);
|
||||
}
|
||||
@@ -176,9 +177,7 @@ SpirFileSignalSource::SpirFileSignalSource(ConfigurationInterface* configuration
|
||||
}
|
||||
|
||||
|
||||
SpirFileSignalSource::~SpirFileSignalSource()
|
||||
{
|
||||
}
|
||||
SpirFileSignalSource::~SpirFileSignalSource() = default;
|
||||
|
||||
|
||||
void SpirFileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
@@ -309,15 +308,9 @@ gr::basic_block_sptr SpirFileSignalSource::get_right_block()
|
||||
{
|
||||
return valve_;
|
||||
}
|
||||
else
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
return throttle_;
|
||||
}
|
||||
else
|
||||
{
|
||||
return unpack_intspir_;
|
||||
}
|
||||
return throttle_;
|
||||
}
|
||||
return unpack_intspir_;
|
||||
}
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "unpack_intspir_1bit_samples.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
@@ -50,7 +50,7 @@ class ConfigurationInterface;
|
||||
class SpirFileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
SpirFileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
SpirFileSignalSource(ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
|
||||
@@ -36,13 +36,14 @@
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
SpirGSS6450FileSignalSource::SpirGSS6450FileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, uint32_t in_streams, uint32_t out_streams, gr::msg_queue::sptr queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role, uint32_t in_streams, uint32_t out_streams, gr::msg_queue::sptr queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "../data/my_capture.dat";
|
||||
std::string default_dump_filename = "../data/my_capture_dump.dat";
|
||||
@@ -181,9 +182,7 @@ SpirGSS6450FileSignalSource::SpirGSS6450FileSignalSource(ConfigurationInterface*
|
||||
}
|
||||
|
||||
|
||||
SpirGSS6450FileSignalSource::~SpirGSS6450FileSignalSource()
|
||||
{
|
||||
}
|
||||
SpirGSS6450FileSignalSource::~SpirGSS6450FileSignalSource() = default;
|
||||
|
||||
|
||||
void SpirGSS6450FileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "unpack_spir_gss6450_samples.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/blocks/deinterleave.h>
|
||||
#include <gnuradio/blocks/null_sink.h>
|
||||
#include <gnuradio/blocks/endian_swap.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/null_sink.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <cstdint>
|
||||
@@ -57,7 +57,7 @@ class ConfigurationInterface;
|
||||
class SpirGSS6450FileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
SpirGSS6450FileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
SpirGSS6450FileSignalSource(ConfigurationInterface* configuration, const std::string& role,
|
||||
uint32_t in_streams, uint32_t out_streams, gr::msg_queue::sptr queue);
|
||||
|
||||
virtual ~SpirGSS6450FileSignalSource();
|
||||
|
||||
@@ -38,14 +38,20 @@
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
TwoBitCpxFileSignalSource::TwoBitCpxFileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams),
|
||||
queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "../data/my_capture.dat";
|
||||
std::string default_item_type = "byte";
|
||||
@@ -56,8 +62,8 @@ TwoBitCpxFileSignalSource::TwoBitCpxFileSignalSource(ConfigurationInterface* con
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
// override value with commandline flag, if present
|
||||
if (FLAGS_signal_source.compare("-") != 0) filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s.compare("-") != 0) filename_ = FLAGS_s;
|
||||
if (FLAGS_signal_source != "-") filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s != "-") filename_ = FLAGS_s;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
repeat_ = configuration->property(role + ".repeat", false);
|
||||
@@ -65,7 +71,7 @@ TwoBitCpxFileSignalSource::TwoBitCpxFileSignalSource(ConfigurationInterface* con
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
enable_throttle_control_ = configuration->property(role + ".enable_throttle_control", false);
|
||||
|
||||
if (item_type_.compare("byte") == 0)
|
||||
if (item_type_ == "byte")
|
||||
{
|
||||
item_size_ = sizeof(char);
|
||||
}
|
||||
@@ -177,9 +183,7 @@ TwoBitCpxFileSignalSource::TwoBitCpxFileSignalSource(ConfigurationInterface* con
|
||||
}
|
||||
|
||||
|
||||
TwoBitCpxFileSignalSource::~TwoBitCpxFileSignalSource()
|
||||
{
|
||||
}
|
||||
TwoBitCpxFileSignalSource::~TwoBitCpxFileSignalSource() = default;
|
||||
|
||||
|
||||
void TwoBitCpxFileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
@@ -314,15 +318,9 @@ gr::basic_block_sptr TwoBitCpxFileSignalSource::get_right_block()
|
||||
{
|
||||
return valve_;
|
||||
}
|
||||
else
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
if (enable_throttle_control_ == true)
|
||||
{
|
||||
return throttle_;
|
||||
}
|
||||
else
|
||||
{
|
||||
return unpack_byte_;
|
||||
}
|
||||
return throttle_;
|
||||
}
|
||||
return unpack_byte_;
|
||||
}
|
||||
|
||||
@@ -36,12 +36,13 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "unpack_byte_2bit_cpx_samples.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/interleaved_short_to_complex.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/interleaved_short_to_complex.h>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
@@ -54,8 +55,10 @@ class ConfigurationInterface;
|
||||
class TwoBitCpxFileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
TwoBitCpxFileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
unsigned int in_streams, unsigned int out_streams,
|
||||
TwoBitCpxFileSignalSource(ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~TwoBitCpxFileSignalSource();
|
||||
@@ -97,19 +100,19 @@ public:
|
||||
return repeat_;
|
||||
}
|
||||
|
||||
inline long sampling_frequency() const
|
||||
inline int64_t sampling_frequency() const
|
||||
{
|
||||
return sampling_frequency_;
|
||||
}
|
||||
|
||||
inline long samples() const
|
||||
inline uint64_t samples() const
|
||||
{
|
||||
return samples_;
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned long long samples_;
|
||||
long sampling_frequency_;
|
||||
uint64_t samples_;
|
||||
int64_t sampling_frequency_;
|
||||
std::string filename_;
|
||||
std::string item_type_;
|
||||
bool repeat_;
|
||||
|
||||
@@ -40,14 +40,20 @@
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
|
||||
TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue)
|
||||
const std::string& role,
|
||||
unsigned int in_streams,
|
||||
unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role),
|
||||
in_streams_(in_streams),
|
||||
out_streams_(out_streams),
|
||||
queue_(std::move(queue))
|
||||
{
|
||||
std::string default_filename = "../data/my_capture.dat";
|
||||
std::string default_item_type = "byte";
|
||||
@@ -55,13 +61,13 @@ TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterfac
|
||||
std::string default_sample_type = "real";
|
||||
double default_seconds_to_skip = 0.0;
|
||||
|
||||
samples_ = configuration->property(role + ".samples", 0L);
|
||||
samples_ = configuration->property(role + ".samples", 0);
|
||||
sampling_frequency_ = configuration->property(role + ".sampling_frequency", 0);
|
||||
filename_ = configuration->property(role + ".filename", default_filename);
|
||||
|
||||
// override value with commandline flag, if present
|
||||
if (FLAGS_signal_source.compare("-") != 0) filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s.compare("-") != 0) filename_ = FLAGS_s;
|
||||
if (FLAGS_signal_source != "-") filename_ = FLAGS_signal_source;
|
||||
if (FLAGS_s != "-") filename_ = FLAGS_s;
|
||||
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
big_endian_items_ = configuration->property(role + ".big_endian_items", true);
|
||||
@@ -72,19 +78,19 @@ TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterfac
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename);
|
||||
enable_throttle_control_ = configuration->property(role + ".enable_throttle_control", false);
|
||||
double seconds_to_skip = configuration->property(role + ".seconds_to_skip", default_seconds_to_skip);
|
||||
long bytes_to_skip = 0;
|
||||
int64_t bytes_to_skip = 0;
|
||||
|
||||
if (item_type_.compare("byte") == 0)
|
||||
if (item_type_ == "byte")
|
||||
{
|
||||
item_size_ = sizeof(char);
|
||||
}
|
||||
else if (item_type_.compare("short") == 0)
|
||||
else if (item_type_ == "short")
|
||||
{
|
||||
// If we have shorts stored in little endian format, might as
|
||||
// well read them in as bytes.
|
||||
if (big_endian_items_)
|
||||
{
|
||||
item_size_ = sizeof(short);
|
||||
item_size_ = sizeof(int16_t);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -97,16 +103,16 @@ TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterfac
|
||||
item_size_ = sizeof(char);
|
||||
}
|
||||
|
||||
if (sample_type_.compare("real") == 0)
|
||||
if (sample_type_ == "real")
|
||||
{
|
||||
is_complex_ = false;
|
||||
}
|
||||
else if (sample_type_.compare("iq") == 0)
|
||||
else if (sample_type_ == "iq")
|
||||
{
|
||||
is_complex_ = true;
|
||||
reverse_interleaving_ = false;
|
||||
}
|
||||
else if (sample_type_.compare("qi") == 0)
|
||||
else if (sample_type_ == "qi")
|
||||
{
|
||||
is_complex_ = true;
|
||||
reverse_interleaving_ = true;
|
||||
@@ -122,7 +128,7 @@ TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterfac
|
||||
|
||||
if (seconds_to_skip > 0)
|
||||
{
|
||||
bytes_to_skip = static_cast<long>(
|
||||
bytes_to_skip = static_cast<int64_t>(
|
||||
seconds_to_skip * sampling_frequency_ / 4);
|
||||
if (is_complex_)
|
||||
{
|
||||
@@ -241,9 +247,7 @@ TwoBitPackedFileSignalSource::TwoBitPackedFileSignalSource(ConfigurationInterfac
|
||||
}
|
||||
|
||||
|
||||
TwoBitPackedFileSignalSource::~TwoBitPackedFileSignalSource()
|
||||
{
|
||||
}
|
||||
TwoBitPackedFileSignalSource::~TwoBitPackedFileSignalSource() = default;
|
||||
|
||||
|
||||
void TwoBitPackedFileSignalSource::connect(gr::top_block_sptr top_block)
|
||||
|
||||
@@ -37,12 +37,13 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "unpack_2bit_samples.h"
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/file_source.h>
|
||||
#include <gnuradio/blocks/interleaved_char_to_complex.h>
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/blocks/interleaved_char_to_complex.h>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
@@ -55,7 +56,7 @@ class ConfigurationInterface;
|
||||
class TwoBitPackedFileSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
TwoBitPackedFileSignalSource(ConfigurationInterface* configuration, std::string role,
|
||||
TwoBitPackedFileSignalSource(ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_streams, unsigned int out_streams,
|
||||
boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
@@ -98,12 +99,12 @@ public:
|
||||
return repeat_;
|
||||
}
|
||||
|
||||
inline long sampling_frequency() const
|
||||
inline int64_t sampling_frequency() const
|
||||
{
|
||||
return sampling_frequency_;
|
||||
}
|
||||
|
||||
inline long samples() const
|
||||
inline uint64_t samples() const
|
||||
{
|
||||
return samples_;
|
||||
}
|
||||
@@ -129,8 +130,8 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
unsigned long long samples_;
|
||||
long sampling_frequency_;
|
||||
uint64_t samples_;
|
||||
int64_t sampling_frequency_;
|
||||
std::string filename_;
|
||||
std::string item_type_;
|
||||
bool repeat_;
|
||||
|
||||
@@ -29,21 +29,22 @@
|
||||
*/
|
||||
|
||||
#include "uhd_signal_source.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include "configuration_interface.h"
|
||||
#include "gnss_sdr_valve.h"
|
||||
#include "GPS_L1_CA.h"
|
||||
#include <glog/logging.h>
|
||||
#include <uhd/types/device_addr.hpp>
|
||||
#include <uhd/exception.hpp>
|
||||
#include <uhd/types/device_addr.hpp>
|
||||
#include <volk/volk.h>
|
||||
#include <iostream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
using google::LogMessage;
|
||||
|
||||
UhdSignalSource::UhdSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(queue)
|
||||
const std::string& role, unsigned int in_stream, unsigned int out_stream,
|
||||
boost::shared_ptr<gr::msg_queue> queue) : role_(role), in_stream_(in_stream), out_stream_(out_stream), queue_(std::move(queue))
|
||||
{
|
||||
// DUMP PARAMETERS
|
||||
std::string empty = "";
|
||||
@@ -57,13 +58,13 @@ UhdSignalSource::UhdSignalSource(ConfigurationInterface* configuration,
|
||||
// available transports on the system (ethernet, usb...).
|
||||
// To narrow down the discovery process to a particular device,
|
||||
// specify a transport key/value pair specific to your device.
|
||||
if (empty.compare(device_address_) != 0) // if not empty
|
||||
if (empty != device_address_) // if not empty
|
||||
{
|
||||
dev_addr["addr"] = device_address_;
|
||||
}
|
||||
//filter the device by serial number if required (useful for USB devices)
|
||||
std::string device_serial = configuration->property(role + ".device_serial", empty);
|
||||
if (empty.compare(device_serial) != 0) // if not empty
|
||||
if (empty != device_serial) // if not empty
|
||||
{
|
||||
dev_addr["serial"] = device_serial;
|
||||
}
|
||||
@@ -91,14 +92,14 @@ UhdSignalSource::UhdSignalSource(ConfigurationInterface* configuration,
|
||||
for (int i = 0; i < RF_channels_; i++)
|
||||
{
|
||||
// Single RF channel UHD operation (backward compatible config file format)
|
||||
samples_.push_back(configuration->property(role + ".samples" + boost::lexical_cast<std::string>(i), 0));
|
||||
dump_.push_back(configuration->property(role + ".dump" + boost::lexical_cast<std::string>(i), false));
|
||||
dump_filename_.push_back(configuration->property(role + ".dump_filename" + boost::lexical_cast<std::string>(i), default_dump_file));
|
||||
samples_.push_back(configuration->property(role + ".samples" + std::to_string(i), 0));
|
||||
dump_.push_back(configuration->property(role + ".dump" + std::to_string(i), false));
|
||||
dump_filename_.push_back(configuration->property(role + ".dump_filename" + std::to_string(i), default_dump_file));
|
||||
|
||||
freq_.push_back(configuration->property(role + ".freq" + boost::lexical_cast<std::string>(i), GPS_L1_FREQ_HZ));
|
||||
gain_.push_back(configuration->property(role + ".gain" + boost::lexical_cast<std::string>(i), 50.0));
|
||||
freq_.push_back(configuration->property(role + ".freq" + std::to_string(i), GPS_L1_FREQ_HZ));
|
||||
gain_.push_back(configuration->property(role + ".gain" + std::to_string(i), 50.0));
|
||||
|
||||
IF_bandwidth_hz_.push_back(configuration->property(role + ".IF_bandwidth_hz" + boost::lexical_cast<std::string>(i), sample_rate_ / 2));
|
||||
IF_bandwidth_hz_.push_back(configuration->property(role + ".IF_bandwidth_hz" + std::to_string(i), sample_rate_ / 2));
|
||||
}
|
||||
}
|
||||
// 1. Make the uhd driver instance
|
||||
@@ -111,17 +112,17 @@ UhdSignalSource::UhdSignalSource(ConfigurationInterface* configuration,
|
||||
// fc32: Complex floating point (32-bit floats) range [-1.0, +1.0].
|
||||
// sc16: Complex signed integer (16-bit integers) range [-32768, +32767].
|
||||
// sc8: Complex signed integer (8-bit integers) range [-128, 127].
|
||||
if (item_type_.compare("cbyte") == 0)
|
||||
if (item_type_ == "cbyte")
|
||||
{
|
||||
item_size_ = sizeof(lv_8sc_t);
|
||||
uhd_stream_args_ = uhd::stream_args_t("sc8");
|
||||
}
|
||||
else if (item_type_.compare("cshort") == 0)
|
||||
else if (item_type_ == "cshort")
|
||||
{
|
||||
item_size_ = sizeof(lv_16sc_t);
|
||||
uhd_stream_args_ = uhd::stream_args_t("sc16");
|
||||
}
|
||||
else if (item_type_.compare("gr_complex") == 0)
|
||||
else if (item_type_ == "gr_complex")
|
||||
{
|
||||
item_size_ = sizeof(gr_complex);
|
||||
uhd_stream_args_ = uhd::stream_args_t("fc32");
|
||||
@@ -239,9 +240,7 @@ UhdSignalSource::UhdSignalSource(ConfigurationInterface* configuration,
|
||||
}
|
||||
|
||||
|
||||
UhdSignalSource::~UhdSignalSource()
|
||||
{
|
||||
}
|
||||
UhdSignalSource::~UhdSignalSource() = default;
|
||||
|
||||
|
||||
void UhdSignalSource::connect(gr::top_block_sptr top_block)
|
||||
@@ -315,8 +314,5 @@ gr::basic_block_sptr UhdSignalSource::get_right_block(int RF_channel)
|
||||
{
|
||||
return valve_.at(RF_channel);
|
||||
}
|
||||
else
|
||||
{
|
||||
return uhd_source_;
|
||||
}
|
||||
return uhd_source_;
|
||||
}
|
||||
|
||||
@@ -33,10 +33,10 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/uhd/usrp_source.h>
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <gnuradio/msg_queue.h>
|
||||
#include <gnuradio/uhd/usrp_source.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
@@ -50,7 +50,7 @@ class UhdSignalSource : public GNSSBlockInterface
|
||||
{
|
||||
public:
|
||||
UhdSignalSource(ConfigurationInterface* configuration,
|
||||
std::string role, unsigned int in_stream,
|
||||
const std::string& role, unsigned int in_stream,
|
||||
unsigned int out_stream, boost::shared_ptr<gr::msg_queue> queue);
|
||||
|
||||
virtual ~UhdSignalSource();
|
||||
|
||||
Reference in New Issue
Block a user