mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 12:40:35 +00:00
Hide direct constructor as private member
This commit is contained in:
parent
173361f89f
commit
da7ca482a8
@ -49,7 +49,7 @@ BeamformerFilter::BeamformerFilter(
|
|||||||
if (item_type_ == "gr_complex")
|
if (item_type_ == "gr_complex")
|
||||||
{
|
{
|
||||||
item_size_ = sizeof(gr_complex);
|
item_size_ = sizeof(gr_complex);
|
||||||
beamformer_ = make_beamformer();
|
beamformer_ = make_beamformer_sptr();
|
||||||
DLOG(INFO) << "Item size " << item_size_;
|
DLOG(INFO) << "Item size " << item_size_;
|
||||||
DLOG(INFO) << "resampler(" << beamformer_->unique_id() << ")";
|
DLOG(INFO) << "resampler(" << beamformer_->unique_id() << ")";
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
#define GNSS_SDR_BEAMFORMER_CHANNELS 8
|
#define GNSS_SDR_BEAMFORMER_CHANNELS 8
|
||||||
|
|
||||||
beamformer_sptr make_beamformer()
|
beamformer_sptr make_beamformer_sptr()
|
||||||
{
|
{
|
||||||
return beamformer_sptr(new beamformer());
|
return beamformer_sptr(new beamformer());
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
class beamformer;
|
class beamformer;
|
||||||
using beamformer_sptr = boost::shared_ptr<beamformer>;
|
using beamformer_sptr = boost::shared_ptr<beamformer>;
|
||||||
|
|
||||||
beamformer_sptr make_beamformer();
|
beamformer_sptr make_beamformer_sptr();
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class implements a real-time software-defined spatial filter using the CTTC GNSS experimental antenna array input and a set of dynamically reloadable weights
|
* \brief This class implements a real-time software-defined spatial filter using the CTTC GNSS experimental antenna array input and a set of dynamically reloadable weights
|
||||||
@ -44,13 +44,13 @@ beamformer_sptr make_beamformer();
|
|||||||
class beamformer : public gr::sync_block
|
class beamformer : public gr::sync_block
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
beamformer();
|
|
||||||
~beamformer();
|
~beamformer();
|
||||||
int work(int noutput_items, gr_vector_const_void_star &input_items,
|
int work(int noutput_items, gr_vector_const_void_star &input_items,
|
||||||
gr_vector_void_star &output_items);
|
gr_vector_void_star &output_items);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend beamformer_sptr make_beamformer_sptr();
|
friend beamformer_sptr make_beamformer_sptr();
|
||||||
|
beamformer();
|
||||||
gr_complex *weight_vector;
|
gr_complex *weight_vector;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,8 +41,12 @@ class Notch;
|
|||||||
|
|
||||||
using notch_sptr = boost::shared_ptr<Notch>;
|
using notch_sptr = boost::shared_ptr<Notch>;
|
||||||
|
|
||||||
notch_sptr make_notch_filter(float pfa, float p_c_factor,
|
notch_sptr make_notch_filter(
|
||||||
int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
float pfa,
|
||||||
|
float p_c_factor,
|
||||||
|
int32_t length_,
|
||||||
|
int32_t n_segments_est,
|
||||||
|
int32_t n_segments_reset);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class implements a real-time software-defined multi state notch filter
|
* \brief This class implements a real-time software-defined multi state notch filter
|
||||||
@ -50,8 +54,6 @@ notch_sptr make_notch_filter(float pfa, float p_c_factor,
|
|||||||
class Notch : public gr::block
|
class Notch : public gr::block
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Notch(float pfa, float p_c_factor, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
|
||||||
|
|
||||||
~Notch();
|
~Notch();
|
||||||
|
|
||||||
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
||||||
@ -61,6 +63,8 @@ public:
|
|||||||
gr_vector_void_star &output_items);
|
gr_vector_void_star &output_items);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend notch_sptr make_notch_filter(float pfa, float p_c_factor, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
||||||
|
Notch(float pfa, float p_c_factor, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
||||||
float pfa;
|
float pfa;
|
||||||
float noise_pow_est;
|
float noise_pow_est;
|
||||||
float thres_;
|
float thres_;
|
||||||
|
@ -41,7 +41,13 @@ class NotchLite;
|
|||||||
|
|
||||||
using notch_lite_sptr = boost::shared_ptr<NotchLite>;
|
using notch_lite_sptr = boost::shared_ptr<NotchLite>;
|
||||||
|
|
||||||
notch_lite_sptr make_notch_filter_lite(float p_c_factor, float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset, int32_t n_segments_coeff);
|
notch_lite_sptr make_notch_filter_lite(
|
||||||
|
float p_c_factor,
|
||||||
|
float pfa,
|
||||||
|
int32_t length_,
|
||||||
|
int32_t n_segments_est,
|
||||||
|
int32_t n_segments_reset,
|
||||||
|
int32_t n_segments_coeff);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief This class implements a real-time software-defined multi state notch filter light version
|
* \brief This class implements a real-time software-defined multi state notch filter light version
|
||||||
@ -49,8 +55,6 @@ notch_lite_sptr make_notch_filter_lite(float p_c_factor, float pfa, int32_t leng
|
|||||||
class NotchLite : public gr::block
|
class NotchLite : public gr::block
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NotchLite(float p_c_factor, float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset, int32_t n_segments_coeff);
|
|
||||||
|
|
||||||
~NotchLite();
|
~NotchLite();
|
||||||
|
|
||||||
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
||||||
@ -60,6 +64,8 @@ public:
|
|||||||
gr_vector_void_star &output_items);
|
gr_vector_void_star &output_items);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend notch_lite_sptr make_notch_filter_lite(float p_c_factor, float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset, int32_t n_segments_coeff);
|
||||||
|
NotchLite(float p_c_factor, float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset, int32_t n_segments_coeff);
|
||||||
int32_t length_;
|
int32_t length_;
|
||||||
int32_t n_segments;
|
int32_t n_segments;
|
||||||
int32_t n_segments_est;
|
int32_t n_segments_est;
|
||||||
|
@ -39,14 +39,15 @@ class pulse_blanking_cc;
|
|||||||
|
|
||||||
using pulse_blanking_cc_sptr = boost::shared_ptr<pulse_blanking_cc>;
|
using pulse_blanking_cc_sptr = boost::shared_ptr<pulse_blanking_cc>;
|
||||||
|
|
||||||
pulse_blanking_cc_sptr make_pulse_blanking_cc(float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
pulse_blanking_cc_sptr make_pulse_blanking_cc(
|
||||||
|
float pfa,
|
||||||
|
int32_t length_,
|
||||||
|
int32_t n_segments_est,
|
||||||
|
int32_t n_segments_reset);
|
||||||
|
|
||||||
class pulse_blanking_cc : public gr::block
|
class pulse_blanking_cc : public gr::block
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
pulse_blanking_cc(float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
|
||||||
|
|
||||||
~pulse_blanking_cc();
|
~pulse_blanking_cc();
|
||||||
|
|
||||||
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
void forecast(int noutput_items, gr_vector_int &ninput_items_required);
|
||||||
@ -55,6 +56,8 @@ public:
|
|||||||
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
|
gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend pulse_blanking_cc_sptr make_pulse_blanking_cc(float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
||||||
|
pulse_blanking_cc(float pfa, int32_t length_, int32_t n_segments_est, int32_t n_segments_reset);
|
||||||
int32_t length_;
|
int32_t length_;
|
||||||
int32_t n_segments;
|
int32_t n_segments;
|
||||||
int32_t n_segments_est;
|
int32_t n_segments_est;
|
||||||
|
@ -55,14 +55,14 @@ Gnss_Sdr_Valve::Gnss_Sdr_Valve(size_t sizeof_stream_item,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
boost::shared_ptr<gr::block> gnss_sdr_make_valve(size_t sizeof_stream_item, uint64_t nitems, gr::msg_queue::sptr queue, bool stop_flowgraph)
|
boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(size_t sizeof_stream_item, uint64_t nitems, gr::msg_queue::sptr queue, bool stop_flowgraph)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<Gnss_Sdr_Valve> valve_(new Gnss_Sdr_Valve(sizeof_stream_item, nitems, std::move(queue), stop_flowgraph));
|
boost::shared_ptr<Gnss_Sdr_Valve> valve_(new Gnss_Sdr_Valve(sizeof_stream_item, nitems, std::move(queue), stop_flowgraph));
|
||||||
return valve_;
|
return valve_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
boost::shared_ptr<gr::block> gnss_sdr_make_valve(size_t sizeof_stream_item, uint64_t nitems, gr::msg_queue::sptr queue)
|
boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(size_t sizeof_stream_item, uint64_t nitems, gr::msg_queue::sptr queue)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<Gnss_Sdr_Valve> valve_(new Gnss_Sdr_Valve(sizeof_stream_item, nitems, std::move(queue), true));
|
boost::shared_ptr<Gnss_Sdr_Valve> valve_(new Gnss_Sdr_Valve(sizeof_stream_item, nitems, std::move(queue), true));
|
||||||
return valve_;
|
return valve_;
|
||||||
|
@ -41,12 +41,14 @@
|
|||||||
#include <cstddef> // for size_t
|
#include <cstddef> // for size_t
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
boost::shared_ptr<gr::block> gnss_sdr_make_valve(
|
class Gnss_Sdr_Valve;
|
||||||
|
|
||||||
|
boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(
|
||||||
size_t sizeof_stream_item,
|
size_t sizeof_stream_item,
|
||||||
uint64_t nitems,
|
uint64_t nitems,
|
||||||
gr::msg_queue::sptr queue);
|
gr::msg_queue::sptr queue);
|
||||||
|
|
||||||
boost::shared_ptr<gr::block> gnss_sdr_make_valve(
|
boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(
|
||||||
size_t sizeof_stream_item,
|
size_t sizeof_stream_item,
|
||||||
uint64_t nitems,
|
uint64_t nitems,
|
||||||
gr::msg_queue::sptr queue,
|
gr::msg_queue::sptr queue,
|
||||||
@ -65,22 +67,22 @@ public:
|
|||||||
gr_vector_const_void_star &input_items,
|
gr_vector_const_void_star &input_items,
|
||||||
gr_vector_void_star &output_items);
|
gr_vector_void_star &output_items);
|
||||||
|
|
||||||
Gnss_Sdr_Valve(size_t sizeof_stream_item,
|
|
||||||
uint64_t nitems,
|
|
||||||
gr::msg_queue::sptr queue, bool stop_flowgraph);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend boost::shared_ptr<gr::block> gnss_sdr_make_valve(
|
friend boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(
|
||||||
size_t sizeof_stream_item,
|
size_t sizeof_stream_item,
|
||||||
uint64_t nitems,
|
uint64_t nitems,
|
||||||
gr::msg_queue::sptr queue);
|
gr::msg_queue::sptr queue);
|
||||||
|
|
||||||
friend boost::shared_ptr<gr::block> gnss_sdr_make_valve(
|
friend boost::shared_ptr<Gnss_Sdr_Valve> gnss_sdr_make_valve(
|
||||||
size_t sizeof_stream_item,
|
size_t sizeof_stream_item,
|
||||||
uint64_t nitems,
|
uint64_t nitems,
|
||||||
gr::msg_queue::sptr queue,
|
gr::msg_queue::sptr queue,
|
||||||
bool stop_flowgraph);
|
bool stop_flowgraph);
|
||||||
|
|
||||||
|
Gnss_Sdr_Valve(size_t sizeof_stream_item,
|
||||||
|
uint64_t nitems,
|
||||||
|
gr::msg_queue::sptr queue, bool stop_flowgraph);
|
||||||
|
|
||||||
uint64_t d_nitems;
|
uint64_t d_nitems;
|
||||||
uint64_t d_ncopied_items;
|
uint64_t d_ncopied_items;
|
||||||
gr::msg_queue::sptr d_queue;
|
gr::msg_queue::sptr d_queue;
|
||||||
|
@ -796,9 +796,8 @@ TEST_F(TrackingPullInTest, ValidationOfResults)
|
|||||||
// create the msg queue for valve
|
// create the msg queue for valve
|
||||||
|
|
||||||
queue = gr::msg_queue::make(0);
|
queue = gr::msg_queue::make(0);
|
||||||
boost::shared_ptr<Gnss_Sdr_Valve> reseteable_valve;
|
|
||||||
long long int acq_to_trk_delay_samples = ceil(static_cast<double>(FLAGS_fs_gen_sps) * FLAGS_acq_to_trk_delay_s);
|
long long int acq_to_trk_delay_samples = ceil(static_cast<double>(FLAGS_fs_gen_sps) * FLAGS_acq_to_trk_delay_s);
|
||||||
boost::shared_ptr<Gnss_Sdr_Valve> resetable_valve_(new Gnss_Sdr_Valve(sizeof(gr_complex), acq_to_trk_delay_samples, queue, false));
|
auto resetable_valve_ = gnss_sdr_make_valve(sizeof(gr_complex), acq_to_trk_delay_samples, queue, false);
|
||||||
|
|
||||||
std::shared_ptr<ControlMessageFactory> control_message_factory_;
|
std::shared_ptr<ControlMessageFactory> control_message_factory_;
|
||||||
std::shared_ptr<std::vector<std::shared_ptr<ControlMessage>>> control_messages_;
|
std::shared_ptr<std::vector<std::shared_ptr<ControlMessage>>> control_messages_;
|
||||||
|
Loading…
Reference in New Issue
Block a user