mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 20:50:33 +00:00
Merge branch 'naming' of https://github.com/carlesfernandez/gnss-sdr into naming
This commit is contained in:
commit
bf4cf27c73
@ -1731,6 +1731,7 @@ endif()
|
|||||||
##############################################
|
##############################################
|
||||||
if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
|
if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2)
|
||||||
find_package(GRIIO)
|
find_package(GRIIO)
|
||||||
|
find_package(LIBIIO)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,14 +1,29 @@
|
|||||||
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next)
|
## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next)
|
||||||
|
|
||||||
|
### Improvements in Efficiency
|
||||||
|
|
||||||
|
- Applied clang-tidy checks and fixes related to performance.
|
||||||
|
|
||||||
### Improvements in Interoperability:
|
### Improvements in Interoperability:
|
||||||
|
|
||||||
- Added the BeiDou B1I receiver chain.
|
- Added the BeiDou B1I receiver chain.
|
||||||
|
- Fix bug in GLONASS dual frequency receiver.
|
||||||
|
|
||||||
|
### Improvements in Maintainability:
|
||||||
|
|
||||||
|
- Usage of clang-tidy integrated into CMake scripts. New option -DENABLE_CLANG_TIDY=ON executes clang-tidy along with compilation. Requires clang compiler.
|
||||||
|
- Applied clang-tidy checks and fixes related to readability.
|
||||||
|
|
||||||
### Improvements in Portability:
|
### Improvements in Portability:
|
||||||
|
|
||||||
- CMake scripts now follow a modern approach (targets and properties) but still work in 2.8.12
|
- CMake scripts now follow a modern approach (targets and properties) but still work in 2.8.12
|
||||||
|
|
||||||
|
|
||||||
|
## Improvements in Reliability
|
||||||
|
|
||||||
|
- Applied clang-tidy checks and fixes related to High Integrity C++.
|
||||||
|
|
||||||
|
|
||||||
## [0.0.10](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.10)
|
## [0.0.10](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.10)
|
||||||
|
|
||||||
This release has several improvements in different dimensions, addition of new features and bug fixes:
|
This release has several improvements in different dimensions, addition of new features and bug fixes:
|
||||||
|
@ -57,6 +57,7 @@
|
|||||||
#include "rtklib_pntpos.h"
|
#include "rtklib_pntpos.h"
|
||||||
#include "rtklib_ppp.h"
|
#include "rtklib_ppp.h"
|
||||||
#include "rtklib_tides.h"
|
#include "rtklib_tides.h"
|
||||||
|
#include <cmath>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
static int resamb_WLNL(rtk_t *rtk __attribute((unused)), const obsd_t *obs __attribute((unused)), const int *sat __attribute((unused)),
|
static int resamb_WLNL(rtk_t *rtk __attribute((unused)), const obsd_t *obs __attribute((unused)), const int *sat __attribute((unused)),
|
||||||
@ -2672,7 +2673,7 @@ int rtkpos(rtk_t *rtk, const obsd_t *obs, int n, const nav_t *nav)
|
|||||||
}
|
}
|
||||||
rtk->sol.age = static_cast<float>(timediff(rtk->sol.time, solb.time));
|
rtk->sol.age = static_cast<float>(timediff(rtk->sol.time, solb.time));
|
||||||
|
|
||||||
if (fabs(rtk->sol.age) > TTOL_MOVEB)
|
if (std::fabs(rtk->sol.age) > TTOL_MOVEB)
|
||||||
{
|
{
|
||||||
errmsg(rtk, "time sync error for moving-base (age=%.1f)\n", rtk->sol.age);
|
errmsg(rtk, "time sync error for moving-base (age=%.1f)\n", rtk->sol.age);
|
||||||
return 0;
|
return 0;
|
||||||
@ -2692,7 +2693,7 @@ int rtkpos(rtk_t *rtk, const obsd_t *obs, int n, const nav_t *nav)
|
|||||||
{
|
{
|
||||||
rtk->sol.age = static_cast<float>(timediff(obs[0].time, obs[nu].time));
|
rtk->sol.age = static_cast<float>(timediff(obs[0].time, obs[nu].time));
|
||||||
|
|
||||||
if (fabs(rtk->sol.age) > opt->maxtdiff)
|
if (std::fabs(rtk->sol.age) > opt->maxtdiff)
|
||||||
{
|
{
|
||||||
errmsg(rtk, "age of differential error (age=%.1f)\n", rtk->sol.age);
|
errmsg(rtk, "age of differential error (age=%.1f)\n", rtk->sol.age);
|
||||||
outsolstat(rtk);
|
outsolstat(rtk);
|
||||||
|
@ -110,7 +110,7 @@ Ad9361FpgaSignalSource::Ad9361FpgaSignalSource(ConfigurationInterface* configura
|
|||||||
std::string default_device_name = "/dev/uio13";
|
std::string default_device_name = "/dev/uio13";
|
||||||
std::string device_name = configuration->property(role + ".devicename", default_device_name);
|
std::string device_name = configuration->property(role + ".devicename", default_device_name);
|
||||||
int switch_position = configuration->property(role + ".switch_position", 0);
|
int switch_position = configuration->property(role + ".switch_position", 0);
|
||||||
switch_fpga = std::make_shared<fpga_switch>(device_name);
|
switch_fpga = std::make_shared<Fpga_Switch>(device_name);
|
||||||
switch_fpga->set_switch_position(switch_position);
|
switch_fpga->set_switch_position(switch_position);
|
||||||
if (in_stream_ > 0)
|
if (in_stream_ > 0)
|
||||||
{
|
{
|
||||||
|
@ -114,7 +114,7 @@ private:
|
|||||||
|
|
||||||
boost::shared_ptr<gr::msg_queue> queue_;
|
boost::shared_ptr<gr::msg_queue> queue_;
|
||||||
|
|
||||||
std::shared_ptr<fpga_switch> switch_fpga;
|
std::shared_ptr<Fpga_Switch> switch_fpga;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /*GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H_*/
|
#endif /*GNSS_SDR_AD9361_FPGA_SIGNAL_SOURCE_H_*/
|
||||||
|
@ -72,7 +72,7 @@ CustomUDPSignalSource::CustomUDPSignalSource(ConfigurationInterface* configurati
|
|||||||
// output item size is always gr_complex
|
// output item size is always gr_complex
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
|
|
||||||
udp_gnss_rx_source_ = gr_complex_ip_packet_source::make(capture_device,
|
udp_gnss_rx_source_ = Gr_Complex_Ip_Packet_Source::make(capture_device,
|
||||||
address,
|
address,
|
||||||
port,
|
port,
|
||||||
payload_bytes,
|
payload_bytes,
|
||||||
|
@ -97,7 +97,7 @@ private:
|
|||||||
bool dump_;
|
bool dump_;
|
||||||
std::string dump_filename_;
|
std::string dump_filename_;
|
||||||
std::vector<boost::shared_ptr<gr::block>> null_sinks_;
|
std::vector<boost::shared_ptr<gr::block>> null_sinks_;
|
||||||
gr_complex_ip_packet_source::sptr udp_gnss_rx_source_;
|
Gr_Complex_Ip_Packet_Source::sptr udp_gnss_rx_source_;
|
||||||
std::vector<boost::shared_ptr<gr::block>> file_sink_;
|
std::vector<boost::shared_ptr<gr::block>> file_sink_;
|
||||||
boost::shared_ptr<gr::msg_queue> queue_;
|
boost::shared_ptr<gr::msg_queue> queue_;
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file raw_array_signal_source.cc
|
* \file flexiband_signal_source.cc
|
||||||
* \brief CTTC Experimental GNSS 8 channels array signal source
|
* \brief ignal Source adapter for the Teleorbit Flexiband front-end device.
|
||||||
|
* This adapter requires a Flexiband GNU Radio driver
|
||||||
|
* installed (not included with GNSS-SDR)
|
||||||
* \author Javier Arribas, jarribas(at)cttc.es
|
* \author Javier Arribas, jarribas(at)cttc.es
|
||||||
*
|
*
|
||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
@ -34,12 +36,18 @@
|
|||||||
#include <gnuradio/blocks/file_sink.h>
|
#include <gnuradio/blocks/file_sink.h>
|
||||||
#include <gnuradio/msg_queue.h>
|
#include <gnuradio/msg_queue.h>
|
||||||
#include <teleorbit/frontend.h>
|
#include <teleorbit/frontend.h>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
using google::LogMessage;
|
using google::LogMessage;
|
||||||
|
|
||||||
FlexibandSignalSource::FlexibandSignalSource(ConfigurationInterface* configuration,
|
FlexibandSignalSource::FlexibandSignalSource(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 = "byte";
|
std::string default_item_type = "byte";
|
||||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||||
@ -60,7 +68,7 @@ FlexibandSignalSource::FlexibandSignalSource(ConfigurationInterface* configurati
|
|||||||
|
|
||||||
RF_channels_ = configuration->property(role + ".RF_channels", 1);
|
RF_channels_ = configuration->property(role + ".RF_channels", 1);
|
||||||
|
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
flexiband_source_ = gr::teleorbit::frontend::make(firmware_filename_.c_str(), gain1_, gain2_, gain3_, AGC_, usb_packet_buffer_size_, signal_file.c_str(), flag_read_file);
|
flexiband_source_ = gr::teleorbit::frontend::make(firmware_filename_.c_str(), gain1_, gain2_, gain3_, AGC_, usb_packet_buffer_size_, signal_file.c_str(), flag_read_file);
|
||||||
@ -96,9 +104,7 @@ FlexibandSignalSource::FlexibandSignalSource(ConfigurationInterface* configurati
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FlexibandSignalSource::~FlexibandSignalSource()
|
FlexibandSignalSource::~FlexibandSignalSource() = default;
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FlexibandSignalSource::connect(gr::top_block_sptr top_block)
|
void FlexibandSignalSource::connect(gr::top_block_sptr top_block)
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file raw_array_signal_source.h
|
* \file flexiband_signal_source.h
|
||||||
* \brief Signal Source adapter for the Teleorbit Flexiband front-end device.
|
* \brief ignal Source adapter for the Teleorbit Flexiband front-end device.
|
||||||
* This adapter requires a Flexiband GNURadio driver installed (not included with GNSS-SDR)
|
* This adapter requires a Flexiband GNU Radio driver
|
||||||
|
* installed (not included with GNSS-SDR)
|
||||||
* \author Javier Arribas, jarribas(at)cttc.es
|
* \author Javier Arribas, jarribas(at)cttc.es
|
||||||
*
|
*
|
||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
@ -30,8 +31,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef FLEXIBAND_SIGNAL_SOURCE_H_
|
#ifndef GNSS_SDR_FLEXIBAND_SIGNAL_SOURCE_H_
|
||||||
#define FLEXIBAND_SIGNAL_SOURCE_H_
|
#define GNSS_SDR_FLEXIBAND_SIGNAL_SOURCE_H_
|
||||||
|
|
||||||
#include "gnss_block_interface.h"
|
#include "gnss_block_interface.h"
|
||||||
#include <gnuradio/blocks/char_to_float.h>
|
#include <gnuradio/blocks/char_to_float.h>
|
||||||
@ -53,7 +54,7 @@ class FlexibandSignalSource : public GNSSBlockInterface
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FlexibandSignalSource(ConfigurationInterface* configuration,
|
FlexibandSignalSource(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);
|
unsigned int out_stream, gr::msg_queue::sptr queue);
|
||||||
|
|
||||||
virtual ~FlexibandSignalSource();
|
virtual ~FlexibandSignalSource();
|
||||||
@ -108,4 +109,4 @@ private:
|
|||||||
boost::shared_ptr<gr::msg_queue> queue_;
|
boost::shared_ptr<gr::msg_queue> queue_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /*FLEXIBAND_SIGNAL_SOURCE_H_*/
|
#endif // GNSS_SDR_FLEXIBAND_SIGNAL_SOURCE_H_
|
||||||
|
@ -66,7 +66,7 @@ RawArraySignalSource::RawArraySignalSource(ConfigurationInterface* configuration
|
|||||||
int sampling_freq_;
|
int sampling_freq_;
|
||||||
sampling_freq_ = configuration->property(role + ".sampling_freq", 5000000);
|
sampling_freq_ = configuration->property(role + ".sampling_freq", 5000000);
|
||||||
|
|
||||||
if (item_type_.compare("gr_complex") == 0)
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
raw_array_source_ = gr::dbfcttc::raw_array::make(eth_device_.c_str(), channels_, snapshots_per_frame_, inter_frame_delay_, sampling_freq_);
|
raw_array_source_ = gr::dbfcttc::raw_array::make(eth_device_.c_str(), channels_, snapshots_per_frame_, inter_frame_delay_, sampling_freq_);
|
||||||
@ -97,9 +97,7 @@ RawArraySignalSource::RawArraySignalSource(ConfigurationInterface* configuration
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
RawArraySignalSource::~RawArraySignalSource()
|
RawArraySignalSource::~RawArraySignalSource() = default;
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void RawArraySignalSource::connect(gr::top_block_sptr top_block)
|
void RawArraySignalSource::connect(gr::top_block_sptr top_block)
|
||||||
|
@ -29,8 +29,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef RAW_ARRAY_SIGNAL_SOURCE_H_
|
#ifndef GNSS_SDR_RAW_ARRAY_SIGNAL_SOURCE_H_
|
||||||
#define RAW_ARRAY_SIGNAL_SOURCE_H_
|
#define GNSS_SDR_RAW_ARRAY_SIGNAL_SOURCE_H_
|
||||||
|
|
||||||
#include "gnss_block_interface.h"
|
#include "gnss_block_interface.h"
|
||||||
#include <gnuradio/blocks/file_sink.h>
|
#include <gnuradio/blocks/file_sink.h>
|
||||||
@ -90,4 +90,4 @@ private:
|
|||||||
boost::shared_ptr<gr::msg_queue> queue_;
|
boost::shared_ptr<gr::msg_queue> queue_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /*RAW_ARRAY_SIGNAL_SOURCE_H_*/
|
#endif /*GNSS_SDR_RAW_ARRAY_SIGNAL_SOURCE_H_*/
|
||||||
|
@ -75,8 +75,8 @@ typedef struct gr_udp_header
|
|||||||
} gr_udp_header;
|
} gr_udp_header;
|
||||||
|
|
||||||
|
|
||||||
gr_complex_ip_packet_source::sptr
|
Gr_Complex_Ip_Packet_Source::sptr
|
||||||
gr_complex_ip_packet_source::make(std::string src_device,
|
Gr_Complex_Ip_Packet_Source::make(std::string src_device,
|
||||||
const std::string &origin_address,
|
const std::string &origin_address,
|
||||||
int udp_port,
|
int udp_port,
|
||||||
int udp_packet_size,
|
int udp_packet_size,
|
||||||
@ -85,7 +85,7 @@ gr_complex_ip_packet_source::make(std::string src_device,
|
|||||||
size_t item_size,
|
size_t item_size,
|
||||||
bool IQ_swap_)
|
bool IQ_swap_)
|
||||||
{
|
{
|
||||||
return gnuradio::get_initial_sptr(new gr_complex_ip_packet_source(std::move(src_device),
|
return gnuradio::get_initial_sptr(new Gr_Complex_Ip_Packet_Source(std::move(src_device),
|
||||||
origin_address,
|
origin_address,
|
||||||
udp_port,
|
udp_port,
|
||||||
udp_packet_size,
|
udp_packet_size,
|
||||||
@ -99,7 +99,7 @@ gr_complex_ip_packet_source::make(std::string src_device,
|
|||||||
/*
|
/*
|
||||||
* The private constructor
|
* The private constructor
|
||||||
*/
|
*/
|
||||||
gr_complex_ip_packet_source::gr_complex_ip_packet_source(std::string src_device,
|
Gr_Complex_Ip_Packet_Source::Gr_Complex_Ip_Packet_Source(std::string src_device,
|
||||||
__attribute__((unused)) const std::string &origin_address,
|
__attribute__((unused)) const std::string &origin_address,
|
||||||
int udp_port,
|
int udp_port,
|
||||||
int udp_packet_size,
|
int udp_packet_size,
|
||||||
@ -151,14 +151,14 @@ gr_complex_ip_packet_source::gr_complex_ip_packet_source(std::string src_device,
|
|||||||
|
|
||||||
|
|
||||||
// Called by gnuradio to enable drivers, etc for i/o devices.
|
// Called by gnuradio to enable drivers, etc for i/o devices.
|
||||||
bool gr_complex_ip_packet_source::start()
|
bool Gr_Complex_Ip_Packet_Source::start()
|
||||||
{
|
{
|
||||||
std::cout << "gr_complex_ip_packet_source START\n";
|
std::cout << "gr_complex_ip_packet_source START\n";
|
||||||
// open the ethernet device
|
// open the ethernet device
|
||||||
if (open() == true)
|
if (open() == true)
|
||||||
{
|
{
|
||||||
// start pcap capture thread
|
// start pcap capture thread
|
||||||
d_pcap_thread = new boost::thread(boost::bind(&gr_complex_ip_packet_source::my_pcap_loop_thread, this, descr));
|
d_pcap_thread = new boost::thread(boost::bind(&Gr_Complex_Ip_Packet_Source::my_pcap_loop_thread, this, descr));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -169,7 +169,7 @@ bool gr_complex_ip_packet_source::start()
|
|||||||
|
|
||||||
|
|
||||||
// Called by gnuradio to disable drivers, etc for i/o devices.
|
// Called by gnuradio to disable drivers, etc for i/o devices.
|
||||||
bool gr_complex_ip_packet_source::stop()
|
bool Gr_Complex_Ip_Packet_Source::stop()
|
||||||
{
|
{
|
||||||
std::cout << "gr_complex_ip_packet_source STOP\n";
|
std::cout << "gr_complex_ip_packet_source STOP\n";
|
||||||
if (descr != nullptr)
|
if (descr != nullptr)
|
||||||
@ -182,7 +182,7 @@ bool gr_complex_ip_packet_source::stop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool gr_complex_ip_packet_source::open()
|
bool Gr_Complex_Ip_Packet_Source::open()
|
||||||
{
|
{
|
||||||
char errbuf[PCAP_ERRBUF_SIZE];
|
char errbuf[PCAP_ERRBUF_SIZE];
|
||||||
boost::mutex::scoped_lock lock(d_mutex); // hold mutex for duration of this function
|
boost::mutex::scoped_lock lock(d_mutex); // hold mutex for duration of this function
|
||||||
@ -219,7 +219,7 @@ bool gr_complex_ip_packet_source::open()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gr_complex_ip_packet_source::~gr_complex_ip_packet_source()
|
Gr_Complex_Ip_Packet_Source::~Gr_Complex_Ip_Packet_Source()
|
||||||
{
|
{
|
||||||
if (d_pcap_thread != nullptr)
|
if (d_pcap_thread != nullptr)
|
||||||
{
|
{
|
||||||
@ -230,15 +230,15 @@ gr_complex_ip_packet_source::~gr_complex_ip_packet_source()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void gr_complex_ip_packet_source::static_pcap_callback(u_char *args, const struct pcap_pkthdr *pkthdr,
|
void Gr_Complex_Ip_Packet_Source::static_pcap_callback(u_char *args, const struct pcap_pkthdr *pkthdr,
|
||||||
const u_char *packet)
|
const u_char *packet)
|
||||||
{
|
{
|
||||||
auto *bridge = reinterpret_cast<gr_complex_ip_packet_source *>(args);
|
auto *bridge = reinterpret_cast<Gr_Complex_Ip_Packet_Source *>(args);
|
||||||
bridge->pcap_callback(args, pkthdr, packet);
|
bridge->pcap_callback(args, pkthdr, packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void gr_complex_ip_packet_source::pcap_callback(__attribute__((unused)) u_char *args, __attribute__((unused)) const struct pcap_pkthdr *pkthdr,
|
void Gr_Complex_Ip_Packet_Source::pcap_callback(__attribute__((unused)) u_char *args, __attribute__((unused)) const struct pcap_pkthdr *pkthdr,
|
||||||
const u_char *packet)
|
const u_char *packet)
|
||||||
{
|
{
|
||||||
boost::mutex::scoped_lock lock(d_mutex); // hold mutex for duration of this function
|
boost::mutex::scoped_lock lock(d_mutex); // hold mutex for duration of this function
|
||||||
@ -312,13 +312,13 @@ void gr_complex_ip_packet_source::pcap_callback(__attribute__((unused)) u_char *
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void gr_complex_ip_packet_source::my_pcap_loop_thread(pcap_t *pcap_handle)
|
void Gr_Complex_Ip_Packet_Source::my_pcap_loop_thread(pcap_t *pcap_handle)
|
||||||
{
|
{
|
||||||
pcap_loop(pcap_handle, -1, gr_complex_ip_packet_source::static_pcap_callback, reinterpret_cast<u_char *>(this));
|
pcap_loop(pcap_handle, -1, Gr_Complex_Ip_Packet_Source::static_pcap_callback, reinterpret_cast<u_char *>(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void gr_complex_ip_packet_source::demux_samples(gr_vector_void_star output_items, int num_samples_readed)
|
void Gr_Complex_Ip_Packet_Source::demux_samples(gr_vector_void_star output_items, int num_samples_readed)
|
||||||
{
|
{
|
||||||
int8_t real;
|
int8_t real;
|
||||||
int8_t imag;
|
int8_t imag;
|
||||||
@ -383,7 +383,7 @@ void gr_complex_ip_packet_source::demux_samples(gr_vector_void_star output_items
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gr_complex_ip_packet_source::work(int noutput_items,
|
int Gr_Complex_Ip_Packet_Source::work(int noutput_items,
|
||||||
__attribute__((unused)) gr_vector_const_void_star &input_items,
|
__attribute__((unused)) gr_vector_const_void_star &input_items,
|
||||||
gr_vector_void_star &output_items)
|
gr_vector_void_star &output_items)
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
class gr_complex_ip_packet_source : virtual public gr::sync_block
|
class Gr_Complex_Ip_Packet_Source : virtual public gr::sync_block
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
boost::mutex d_mutex;
|
boost::mutex d_mutex;
|
||||||
@ -82,7 +82,7 @@ private:
|
|||||||
static void static_pcap_callback(u_char *args, const struct pcap_pkthdr *pkthdr, const u_char *packet);
|
static void static_pcap_callback(u_char *args, const struct pcap_pkthdr *pkthdr, const u_char *packet);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef boost::shared_ptr<gr_complex_ip_packet_source> sptr;
|
typedef boost::shared_ptr<Gr_Complex_Ip_Packet_Source> sptr;
|
||||||
static sptr make(std::string src_device,
|
static sptr make(std::string src_device,
|
||||||
const std::string &origin_address,
|
const std::string &origin_address,
|
||||||
int udp_port,
|
int udp_port,
|
||||||
@ -91,7 +91,7 @@ public:
|
|||||||
const std::string &wire_sample_type,
|
const std::string &wire_sample_type,
|
||||||
size_t item_size,
|
size_t item_size,
|
||||||
bool IQ_swap_);
|
bool IQ_swap_);
|
||||||
gr_complex_ip_packet_source(std::string src_device,
|
Gr_Complex_Ip_Packet_Source(std::string src_device,
|
||||||
const std::string &origin_address,
|
const std::string &origin_address,
|
||||||
int udp_port,
|
int udp_port,
|
||||||
int udp_packet_size,
|
int udp_packet_size,
|
||||||
@ -99,7 +99,7 @@ public:
|
|||||||
const std::string &wire_sample_type,
|
const std::string &wire_sample_type,
|
||||||
size_t item_size,
|
size_t item_size,
|
||||||
bool IQ_swap_);
|
bool IQ_swap_);
|
||||||
~gr_complex_ip_packet_source();
|
~Gr_Complex_Ip_Packet_Source();
|
||||||
|
|
||||||
// Where all the action really happens
|
// Where all the action really happens
|
||||||
int work(int noutput_items,
|
int work(int noutput_items,
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
const size_t PAGE_SIZE = 0x10000;
|
const size_t PAGE_SIZE = 0x10000;
|
||||||
const unsigned int TEST_REGISTER_TRACK_WRITEVAL = 0x55AA;
|
const unsigned int TEST_REGISTER_TRACK_WRITEVAL = 0x55AA;
|
||||||
|
|
||||||
fpga_switch::fpga_switch(const std::string &device_name)
|
Fpga_Switch::Fpga_Switch(const std::string &device_name)
|
||||||
{
|
{
|
||||||
if ((d_device_descriptor = open(device_name.c_str(), O_RDWR | O_SYNC)) == -1)
|
if ((d_device_descriptor = open(device_name.c_str(), O_RDWR | O_SYNC)) == -1)
|
||||||
{
|
{
|
||||||
@ -67,7 +67,7 @@ fpga_switch::fpga_switch(const std::string &device_name)
|
|||||||
// sanity check : check test register
|
// sanity check : check test register
|
||||||
unsigned writeval = TEST_REGISTER_TRACK_WRITEVAL;
|
unsigned writeval = TEST_REGISTER_TRACK_WRITEVAL;
|
||||||
unsigned readval;
|
unsigned readval;
|
||||||
readval = fpga_switch::fpga_switch_test_register(writeval);
|
readval = Fpga_Switch::fpga_switch_test_register(writeval);
|
||||||
if (writeval != readval)
|
if (writeval != readval)
|
||||||
{
|
{
|
||||||
LOG(WARNING) << "Test register sanity check failed";
|
LOG(WARNING) << "Test register sanity check failed";
|
||||||
@ -81,19 +81,19 @@ fpga_switch::fpga_switch(const std::string &device_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fpga_switch::~fpga_switch()
|
Fpga_Switch::~Fpga_Switch()
|
||||||
{
|
{
|
||||||
close_device();
|
close_device();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void fpga_switch::set_switch_position(int switch_position)
|
void Fpga_Switch::set_switch_position(int switch_position)
|
||||||
{
|
{
|
||||||
d_map_base[0] = switch_position;
|
d_map_base[0] = switch_position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned fpga_switch::fpga_switch_test_register(
|
unsigned Fpga_Switch::fpga_switch_test_register(
|
||||||
unsigned writeval)
|
unsigned writeval)
|
||||||
{
|
{
|
||||||
unsigned readval;
|
unsigned readval;
|
||||||
@ -106,7 +106,7 @@ unsigned fpga_switch::fpga_switch_test_register(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void fpga_switch::close_device()
|
void Fpga_Switch::close_device()
|
||||||
{
|
{
|
||||||
auto *aux = const_cast<unsigned *>(d_map_base);
|
auto *aux = const_cast<unsigned *>(d_map_base);
|
||||||
if (munmap(static_cast<void *>(aux), PAGE_SIZE) == -1)
|
if (munmap(static_cast<void *>(aux), PAGE_SIZE) == -1)
|
||||||
|
@ -41,11 +41,11 @@
|
|||||||
|
|
||||||
#define MAX_LENGTH_DEVICEIO_NAME 50
|
#define MAX_LENGTH_DEVICEIO_NAME 50
|
||||||
|
|
||||||
class fpga_switch
|
class Fpga_Switch
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
fpga_switch(const std::string& device_name);
|
Fpga_Switch(const std::string& device_name);
|
||||||
~fpga_switch();
|
~Fpga_Switch();
|
||||||
void set_switch_position(int switch_position);
|
void set_switch_position(int switch_position);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -168,6 +168,27 @@ if(OS_IS_MACOSX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_FLEXIBAND AND TELEORBIT_FOUND)
|
||||||
|
target_link_libraries(core_receiver
|
||||||
|
PRIVATE
|
||||||
|
Gnuradio::teleorbit
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_GN3S AND GRGN3S_FOUND)
|
||||||
|
target_link_libraries(core_receiver
|
||||||
|
PRIVATE
|
||||||
|
Gnuradio::gn3s
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_ARRAY AND GRDBFCTTC_FOUND)
|
||||||
|
target_link_libraries(core_receiver
|
||||||
|
PRIVATE
|
||||||
|
Gnuradio::dbfcttc
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_CLANG_TIDY)
|
if(ENABLE_CLANG_TIDY)
|
||||||
if(CLANG_TIDY_EXE)
|
if(CLANG_TIDY_EXE)
|
||||||
set_target_properties(core_receiver
|
set_target_properties(core_receiver
|
||||||
|
Loading…
Reference in New Issue
Block a user