1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-07-03 10:23:14 +00:00
This commit is contained in:
Carles Fernandez 2019-03-07 00:23:42 +01:00
commit 4549286113
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
43 changed files with 139 additions and 135 deletions

View File

@ -1,5 +1,5 @@
/*!
* \file galileo_e1_ls_pvt.cc
* \file hybrid_ls_pvt.cc
* \brief Implementation of a Least Squares Position, Velocity, and Time
* (PVT) solver, based on K.Borre's Matlab receiver.
* \author Javier Arribas, 2011. jarribas(at)cttc.es

View File

@ -1,5 +1,5 @@
/*!
* \file galileo_e1_ls_pvt.h
* \file hybrid_ls_pvt.h
* \brief Interface of a Least Squares Position, Velocity, and Time (PVT)
* solver, based on K.Borre's Matlab receiver.
* \author Javier Arribas, 2011. jarribas(at)cttc.es

View File

@ -8,7 +8,7 @@
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver

View File

@ -1,5 +1,5 @@
/*!
* \file beidou_bi1_pcps_acquisition.h
* \file beidou_b1i_pcps_acquisition.h
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
* Beidou B1I signals
* \authors <ul>
@ -8,7 +8,7 @@
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver

View File

@ -77,12 +77,12 @@ GalileoE1PcpsAmbiguousAcquisitionFpga::GalileoE1PcpsAmbiguousAcquisitionFpga(
uint32_t sampled_ms = configuration_->property(role + ".coherent_integration_time_ms", 4);
acq_parameters.sampled_ms = sampled_ms;
acquire_pilot_ = configuration_->property(role + ".acquire_pilot", false); //will be true in future versions
acquire_pilot_ = configuration_->property(role + ".acquire_pilot", false); // could be true in future versions
//--- Find number of samples per spreading code (4 ms) -----------------
// Find number of samples per spreading code (4 ms)
auto code_length = static_cast<uint32_t>(std::round(static_cast<double>(fs_in) / (GALILEO_E1_CODE_CHIP_RATE_HZ / GALILEO_E1_B_CODE_LENGTH_CHIPS)));
acq_parameters.code_length = code_length;
// The FPGA can only use FFT lengths that are a power of two.
float nbits = ceilf(log2f((float)code_length * 2));
uint32_t nsamples_total = pow(2, nbits);
@ -254,6 +254,7 @@ void GalileoE1PcpsAmbiguousAcquisitionFpga::set_state(int state)
acquisition_fpga_->set_state(state);
}
void GalileoE1PcpsAmbiguousAcquisitionFpga::connect(gr::top_block_sptr top_block)
{
if (top_block)

View File

@ -1,7 +1,7 @@
/*!
* \file galileo_e1_pcps_ambiguous_acquisition_fpga.h
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
* Galileo E1 Signals
* Galileo E1 Signals for the FPGA
* \author Marc Majoral, 2019. mmajoral(at)cttc.es
*
* -------------------------------------------------------------------------
@ -37,7 +37,7 @@
#include "pcps_acquisition_fpga.h"
#include <gnuradio/blocks/float_to_complex.h>
#include <gnuradio/blocks/stream_to_vector.h>
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <volk/volk_complex.h> // for lv_16sc_t
#include <cstddef> // for size_t
#include <string>
@ -46,8 +46,8 @@ class Gnss_Synchro;
class ConfigurationInterface;
/*!
* \brief This class adapts a PCPS acquisition block to an
* AcquisitionInterface for Galileo E1 Signals
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
* to an AcquisitionInterface for Galileo E1 Signals
*/
class GalileoE1PcpsAmbiguousAcquisitionFpga : public AcquisitionInterface
{
@ -86,7 +86,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
@ -136,8 +136,8 @@ public:
void set_state(int state) override;
/*!
* \brief Stop running acquisition
*/
* \brief Stop running acquisition
*/
void stop_acquisition() override;
void set_resampler_latency(uint32_t latency_samples __attribute__((unused))) override{};

View File

@ -36,15 +36,20 @@
#include "acquisition_interface.h"
#include "pcps_acquisition_fpga.h"
#include <gnuradio/blocks/stream_to_vector.h>
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <volk/volk_complex.h> // for lv_16sc_t
#include <cstddef> // for size_t
#include <cstddef> // for size_t
#include <cstdint>
#include <string>
class Gnss_Synchro;
class ConfigurationInterface;
/*!
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
* to an AcquisitionInterface for Galileo E5a signals
*/
class GalileoE5aPcpsAcquisitionFpga : public AcquisitionInterface
{
public:
@ -70,7 +75,7 @@ public:
inline size_t item_size() override
{
return sizeof(int);
return sizeof(lv_16sc_t);
}
void connect(gr::top_block_sptr top_block) override;
@ -81,7 +86,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
@ -149,7 +154,6 @@ public:
private:
ConfigurationInterface* configuration_;
pcps_acquisition_fpga_sptr acquisition_fpga_;
gr::blocks::stream_to_vector::sptr stream_to_vector_;

View File

@ -39,15 +39,15 @@
#include "pcps_acquisition_fpga.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <volk/volk_complex.h> // for lv_16sc_t
#include <cstddef>
#include <string>
#include <cstddef> // for size_t
#include <string> // for string
class Gnss_Synchro;
class ConfigurationInterface;
/*!
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
* for GPS L1 C/A signals
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
* to an AcquisitionInterface for GPS L1 C/A signals
*/
class GpsL1CaPcpsAcquisitionFpga : public AcquisitionInterface
{
@ -86,7 +86,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;

View File

@ -1,14 +1,14 @@
/*!
* \file gps_l2_m_pcps_acquisition.cc
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
* GPS L2 M signals
* \file gps_l2_m_pcps_acquisition_fpga.cc
* \brief Adapts an FPGA-offloaded PCPS acquisition block
* to an AcquisitionInterface for GPS L2 M signals
* \authors <ul>
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
* <li> Javier Arribas, 2019. jarribas(at)cttc.es
* </ul>
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
@ -87,14 +87,13 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
std::string device_name = configuration_->property(role + ".devicename", default_device_name);
acq_parameters.device_name = device_name;
acq_parameters.samples_per_ms = nsamples_total / acq_parameters.sampled_ms;
//acq_parameters.samples_per_ms = static_cast<int>(std::round(static_cast<double>(fs_in_) * 0.001));
acq_parameters.samples_per_code = nsamples_total;
acq_parameters.downsampling_factor = configuration_->property(role + ".downsampling_factor", 1.0);
acq_parameters.total_block_exp = configuration_->property(role + ".total_block_exp", 14);
acq_parameters.excludelimit = static_cast<uint32_t>(std::round(static_cast<double>(fs_in_) / GPS_L2_M_CODE_RATE_HZ));
// compute all the GPS L1 PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time
// compute all the GPS L2C PRN Codes (this is done only once upon the class constructor in order to avoid re-computing the PRN codes every time
// a channel is assigned)
auto* fft_if = new gr::fft::fft_complex(vector_length, true); // Direct FFT
// allocate memory to compute all the PRNs and compute all the possible codes
@ -132,7 +131,6 @@ GpsL2MPcpsAcquisitionFpga::GpsL2MPcpsAcquisitionFpga(
}
}
//acq_parameters
acq_parameters.all_fft_codes = d_all_fft_codes_;
// temporary buffers that we can delete

View File

@ -1,14 +1,14 @@
/*!
* \file gps_l2_m_pcps_acquisition.h
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
* GPS L2 M signals
* \file gps_l2_m_pcps_acquisition_fpga.h
* \brief Adapts an FPGA-offloaded PCPS acquisition block
* to an AcquisitionInterface for GPS L2 M signals
* \authors <ul>
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
* <li> Javier Arribas, 2019. jarribas(at)cttc.es
* </ul>
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
@ -39,17 +39,17 @@
#include "pcps_acquisition_fpga.h"
#include <gnuradio/blocks/float_to_complex.h>
#include <gnuradio/blocks/stream_to_vector.h>
#include <gnuradio/runtime_types.h>
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <volk/volk_complex.h> // for lv_16sc_t
#include <cstddef>
#include <string>
#include <cstddef> // for size_t
#include <string> // for string
class Gnss_Synchro;
class ConfigurationInterface;
/*!
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
* for GPS L2 M signals
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
* to an AcquisitionInterface for GPS L2 M signals
*/
class GpsL2MPcpsAcquisitionFpga : public AcquisitionInterface
{
@ -67,16 +67,16 @@ public:
}
/*!
* \brief Returns "GPS_L2_M_PCPS_Acquisition"
* \brief Returns "GPS_L2_M_PCPS_Acquisition_Fpga"
*/
inline std::string implementation() override
{
return "GPS_L2_M_PCPS_Acquisition";
return "GPS_L2_M_PCPS_Acquisition_Fpga";
}
inline size_t item_size() override
{
return sizeof(int);
return sizeof(lv_16sc_t);
}
void connect(gr::top_block_sptr top_block) override;
@ -87,7 +87,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
@ -145,7 +145,6 @@ public:
private:
ConfigurationInterface* configuration_;
//pcps_acquisition_sptr acquisition_;
pcps_acquisition_fpga_sptr acquisition_fpga_;
gr::blocks::stream_to_vector::sptr stream_to_vector_;
gr::blocks::float_to_complex::sptr float_to_complex_;

View File

@ -1,5 +1,5 @@
/*!
* \file gps_l5i pcps_acquisition_fpga.cc
* \file gps_l5i_pcps_acquisition_fpga.cc
* \brief Adapts a PCPS acquisition block to an Acquisition Interface for
* GPS L5i signals for the FPGA
* \authors <ul>
@ -140,7 +140,6 @@ GpsL5iPcpsAcquisitionFpga::GpsL5iPcpsAcquisitionFpga(
}
}
//acq_parameters
acq_parameters.all_fft_codes = d_all_fft_codes_;
// reference for the FPGA FFT-IFFT attenuation factor

View File

@ -1,5 +1,5 @@
/*!
* \file GPS_L5i_PCPS_Acquisition_fpga.h
* \file gps_l5i_pcps_acquisition_fpga.h
* \brief Adapts a PCPS acquisition block to an AcquisitionInterface for
* GPS L5i signals for the FPGA
* \authors <ul>
@ -32,15 +32,15 @@
* -------------------------------------------------------------------------
*/
#ifndef GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_
#define GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_
#ifndef GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_
#define GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_
#include "acquisition_interface.h"
#include "complex_byte_to_float_x2.h"
#include "pcps_acquisition_fpga.h"
#include <gnuradio/blocks/float_to_complex.h>
#include <gnuradio/blocks/stream_to_vector.h>
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_...
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_sptr
#include <volk/volk_complex.h> // for lv_16sc_t
#include <cstddef> // for size_t
#include <string>
@ -49,8 +49,8 @@ class Gnss_Synchro;
class ConfigurationInterface;
/*!
* \brief This class adapts a PCPS acquisition block to an AcquisitionInterface
* for GPS L5i signals
* \brief This class adapts a PCPS acquisition block off-loaded on an FPGA
* to an AcquisitionInterface for GPS L5i signals
*/
class GpsL5iPcpsAcquisitionFpga : public AcquisitionInterface
{
@ -77,7 +77,7 @@ public:
inline size_t item_size() override
{
return sizeof(int);
return sizeof(lv_16sc_t);
}
void connect(gr::top_block_sptr top_block) override;
@ -88,7 +88,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
@ -118,7 +118,7 @@ public:
void init() override;
/*!
* \brief Sets local code for GPS L2/M PCPS acquisition algorithm.
* \brief Sets local code for GPS L5 PCPS acquisition algorithm.
*/
void set_local_code() override;
@ -165,4 +165,4 @@ private:
float calculate_threshold(float pfa);
};
#endif /* GNSS_SDR_GPS_L5i_PCPS_ACQUISITION_FPGA_H_ */
#endif /* GNSS_SDR_GPS_L5I_PCPS_ACQUISITION_FPGA_H_ */

View File

@ -1,5 +1,5 @@
/*!
* \file pcps_acquisition_fine_doppler_acquisition_cc.cc
* \file pcps_acquisition_fine_doppler_cc.cc
* \brief This class implements a Parallel Code Phase Search Acquisition with multi-dwells and fine Doppler estimation
* \authors <ul>
* <li> Javier Arribas, 2013. jarribas(at)cttc.es

View File

@ -1,5 +1,5 @@
/*!
* \file pcps_acquisition_fine_doppler_acquisition_cc.h
* \file pcps_acquisition_fine_doppler_cc.h
* \brief This class implements a Parallel Code Phase Search Acquisition with multi-dwells and fine Doppler estimation
* for GPS L1 C/A signal
*

View File

@ -1,5 +1,5 @@
/*!
* \file acq_conf.cc
* \file acq_conf.h
* \brief Class that contains all the configuration parameters for generic
* acquisition block based on the PCPS algoritm.
* \author Carles Fernandez, 2018. cfernandez(at)cttc.es

View File

@ -22,7 +22,6 @@ set(GNSS_SPLIBS_SOURCES
gps_l2c_signal.cc
gps_l5_signal.cc
galileo_e1_signal_processing.cc
gnss_sdr_sample_counter.cc
gnss_signal_processing.cc
gps_sdr_signal_processing.cc
glonass_l1_signal_processing.cc
@ -46,7 +45,6 @@ set(GNSS_SPLIBS_HEADERS
gps_l2c_signal.h
gps_l5_signal.h
galileo_e1_signal_processing.h
gnss_sdr_sample_counter.h
gnss_signal_processing.h
gps_sdr_signal_processing.h
glonass_l1_signal_processing.h
@ -67,29 +65,12 @@ set(GNSS_SPLIBS_HEADERS
geofunctions.h
)
if(ENABLE_FPGA)
set(GNSS_SPLIBS_SOURCES
${GNSS_SPLIBS_SOURCES}
gnss_sdr_time_counter.cc
gnss_sdr_fpga_sample_counter.cc
)
set(GNSS_SPLIBS_HEADERS
${GNSS_SPLIBS_HEADERS}
gnss_sdr_time_counter.h
gnss_sdr_fpga_sample_counter.h
)
endif()
if(OPENCL_FOUND)
set(GNSS_SPLIBS_SOURCES ${GNSS_SPLIBS_SOURCES}
opencl/fft_execute.cc # Needs OpenCL
opencl/fft_setup.cc # Needs OpenCL
opencl/fft_kernelstring.cc # Needs OpenCL
)
endif()
if(OPENCL_FOUND)
include_directories(${OPENCL_INCLUDE_DIRS})
if(OS_IS_MACOSX)
set(OPT_LIBRARIES ${OPT_LIBRARIES} "-framework OpenCL")

View File

@ -1,5 +1,5 @@
/*!
* \file galileo_e5_signal_processing.cc
* \file galileo_e5_signal_processing.h
* \brief This library implements various functions for Galileo E5 signals such
* as replica code generation
* \author Marc Sales, 2014. marcsales92(at)gmail.com

View File

@ -30,6 +30,7 @@
*/
#include "geofunctions.h"
#include <cmath> // for sin, cos, sqrt, abs, pow
const double STRP_PI = 3.1415926535898; // Pi as defined in IS-GPS-200E

View File

@ -28,13 +28,13 @@
* -------------------------------------------------------------------------
*/
#include "gnss_sdr_create_directory.h"
#include <boost/filesystem/operations.hpp> // for create_directories, exists
#include <boost/filesystem/path.hpp> // for path, operator<<
#include <boost/filesystem/path_traits.hpp> // for filesystem
#include <fstream>
#include <boost/system/error_code.hpp> // for error_code
#include <exception> // for exception
#include <fstream> // for ofstream
bool gnss_sdr_create_directory(const std::string& foldername)
{

View File

@ -1,6 +1,6 @@
/*!
* \file rtklib_sbas.h
* \brief sbas functions
* \file rtklib_stream.h
* \brief streaming functions
* \authors <ul>
* <li> 2007-2013, T. Takasu
* <li> 2017, Javier Arribas

View File

@ -1,6 +1,5 @@
/*!
* \file udp_signal_source.cc
*
* \file custom_udp_signal_source.cc
* \brief Receives ip frames containing samples in UDP frame encapsulation
* using a high performance packet capture library (libpcap)
* \author Javier Arribas jarribas (at) cttc.es

View File

@ -1,6 +1,5 @@
/*!
* \file udp_signal_source.h
*
* \file custom_udp_signal_source.h
* \brief Receives ip frames containing samples in UDP frame encapsulation
* using a high performance packet capture library (libpcap)
* \author Javier Arribas jarribas (at) cttc.es

View File

@ -1,7 +1,7 @@
/*!
* \file galileo_e1_dll_pll_veml_tracking_fpga.h
* \brief Adapts a DLL+PLL VEML (Very Early Minus Late) tracking loop block
* to a TrackingInterface for Galileo E1 signals for the FPGA
* \brief Adapts a DLL+PLL VEML (Very Early Minus Late) tracking loop block
* to a TrackingInterface for Galileo E1 signals for the FPGA
* \author Marc Majoral, 2019. mmajoral(at)cttc.cat
*
* Code DLL + carrier PLL according to the algorithms described in:
@ -39,10 +39,10 @@
#include "dll_pll_veml_tracking_fpga.h"
#include "tracking_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr, top_block_...
#include <gnuradio/runtime_types.h> // for basic_block_sptr, basic_block_sptr
#include <cstddef> // for size_t
#include <cstdint>
#include <string>
#include <cstdint> // for uint32_t
#include <string> // for string
class Gnss_Synchro;
class ConfigurationInterface;
@ -90,7 +90,7 @@ public:
/*!
* \brief Set acquisition/tracking common Gnss_Synchro object pointer
* to efficiently exchange synchronization data between acquisition and
* tracking blocks
* tracking blocks
*/
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
@ -101,7 +101,6 @@ public:
*/
void stop_tracking() override;
private:
dll_pll_veml_tracking_fpga_sptr tracking_fpga_sc;
uint32_t channel_;

View File

@ -35,8 +35,8 @@
#include "dll_pll_veml_tracking_fpga.h"
#include "tracking_interface.h"
#include <gnuradio/runtime_types.h> // for basic_block_sptr
#include <cstdint>
#include <stddef.h> // for size_t
#include <cstdint> // For uint32_t
#include <stddef.h> // for size_t
#include <string>
class Gnss_Synchro;

View File

@ -1,7 +1,7 @@
/*!
* \file gps_l2_m_dll_pll_tracking_fpga.cc
* \brief Implementation of an adapter of a DLL+PLL tracking loop block
* for GPS L2C to a TrackingInterface
* for GPS L2C to a TrackingInterface for the FPGA
* \author Javier Arribas, 2019. jarribas(at)cttc.es
*
* Code DLL + carrier PLL according to the algorithms described in:
@ -11,7 +11,7 @@
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver

View File

@ -1,7 +1,7 @@
/*!
* \file gps_l2_m_dll_pll_tracking_fpga.h
* \brief Interface of an adapter of a DLL+PLL tracking loop block
* for GPS L2C to a TrackingInterface
* for GPS L2C to a TrackingInterface for the FPGA
* \author Marc Majoral, 2019, mmajoral(at)cttc.es
*
* Code DLL + carrier PLL according to the algorithms described in:
@ -11,7 +11,7 @@
*
* -------------------------------------------------------------------------
*
* Copyright (C) 2010-2015 (see AUTHORS file for a list of contributors)
* Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors)
*
* GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver
@ -34,8 +34,8 @@
* -------------------------------------------------------------------------
*/
#ifndef GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
#define GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
#ifndef GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_
#define GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_
#include "dll_pll_veml_tracking_fpga.h"
#include "tracking_interface.h"
@ -92,13 +92,13 @@ public:
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
void start_tracking() override;
/*!
* \brief Stop running tracking
*/
void stop_tracking() override;
private:
//dll_pll_veml_tracking_sptr tracking_;
dll_pll_veml_tracking_fpga_sptr tracking_fpga_sc;
unsigned int channel_;
std::string role_;
@ -107,4 +107,4 @@ private:
int* d_ca_codes;
};
#endif // GNSS_SDR_gps_l2_m_dll_pll_tracking_FPGA_H_
#endif // GNSS_SDR_GPS_L2_M_DLL_PLL_TRACKING_FPGA_H_

View File

@ -1,7 +1,7 @@
/*!
* \file gps_l5_dll_pll_tracking_fpga.cc
* \brief Interface of an adapter of a DLL+PLL tracking loop block
* for GPS L5 to a TrackingInterface
* for GPS L5 to a TrackingInterface for the FPGA
* \author Marc Majoral, 2019. mmajoral(at)cttc.cat
* Javier Arribas, 2019. jarribas(at)cttc.es
*

View File

@ -1,7 +1,7 @@
/*!
* \file gps_l5_dll_pll_tracking_fpga.h
* \brief Interface of an adapter of a DLL+PLL tracking loop block
* for GPS L5 to a TrackingInterface
* for GPS L5 to a TrackingInterface for the FPGA
* \author Marc Majoral, 2019. mmajoral(at)cttc.cat
* Javier Arribas, 2019. jarribas(at)cttc.es
*
@ -66,10 +66,10 @@ public:
return role_;
}
//! Returns "GPS_L5_DLL_PLL_Tracking"
//! Returns "GPS_L5_DLL_PLL_Tracking_Fpga"
inline std::string implementation() override
{
return "GPS_L5_DLL_PLL_Tracking";
return "GPS_L5_DLL_PLL_Tracking_Fpga";
}
inline size_t item_size() override
@ -94,6 +94,7 @@ public:
void set_gnss_synchro(Gnss_Synchro* p_gnss_synchro) override;
void start_tracking() override;
/*!
* \brief Stop running tracking
*/

View File

@ -23,6 +23,7 @@ set(CORE_LIBS_SOURCES
INIReader.cc
string_converter.cc
gnss_sdr_supl_client.cc
gnss_sdr_sample_counter.cc
)
set(CORE_LIBS_HEADERS
@ -30,8 +31,22 @@ set(CORE_LIBS_HEADERS
INIReader.h
string_converter.h
gnss_sdr_supl_client.h
gnss_sdr_sample_counter.h
)
if(ENABLE_FPGA)
set(CORE_LIBS_SOURCES
${CORE_LIBS_SOURCES}
gnss_sdr_fpga_sample_counter.cc
gnss_sdr_time_counter.cc
)
set(CORE_LIBS_HEADERS
${CORE_LIBS_HEADERS}
gnss_sdr_fpga_sample_counter.h
gnss_sdr_time_counter.h
)
endif()
list(SORT CORE_LIBS_HEADERS)
list(SORT CORE_LIBS_SOURCES)
@ -42,6 +57,7 @@ add_library(core_libs ${CORE_LIBS_SOURCES} ${CORE_LIBS_HEADERS})
target_link_libraries(core_libs
PUBLIC
Boost::boost
Gnuradio::runtime
core_libs_supl
core_system_parameters
PRIVATE
@ -51,6 +67,7 @@ target_link_libraries(core_libs
Pugixml::pugixml
)
if(ENABLE_CLANG_TIDY)
if(CLANG_TIDY_EXE)
set_target_properties(core_libs

View File

@ -28,8 +28,9 @@
*
* -------------------------------------------------------------------------
*/
#ifndef GNSS_SDR_SAMPLE_COUNTER_H_
#define GNSS_SDR_SAMPLE_COUNTER_H_
#ifndef GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_
#define GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_
#include <boost/shared_ptr.hpp>
#include <gnuradio/sync_decimator.h>
@ -73,4 +74,4 @@ public:
gr_vector_void_star &output_items);
};
#endif /*GNSS_SDR_SAMPLE_COUNTER_H_*/
#endif /*GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_*/

View File

@ -28,8 +28,9 @@
*
* -------------------------------------------------------------------------
*/
#ifndef GNSS_SDR_TIME_COUNTER_H_
#define GNSS_SDR_TIME_COUNTER_H_
#ifndef GNSS_SDR_GNSS_SDR_TIME_COUNTER_H_
#define GNSS_SDR_GNSS_SDR_TIME_COUNTER_H_
#include <boost/shared_ptr.hpp>
#include <gnuradio/block.h>
@ -55,11 +56,11 @@ private:
bool flag_days; // True if the receiver has been running for at least 1 day
uint32_t current_days; // Receiver time in days since the beginning of the run
int32_t report_interval_ms;
friend gnss_sdr_time_counter_sptr gnss_sdr_make_time_counter();
public:
friend gnss_sdr_time_counter_sptr gnss_sdr_make_time_counter();
int general_work(int noutput_items __attribute__((unused)), gr_vector_int &ninput_items __attribute__((unused)),
gr_vector_const_void_star &input_items __attribute__((unused)), gr_vector_void_star &output_items);
};
#endif /*GNSS_SDR_SAMPLE_COUNTER_H_*/
#endif /*GNSS_SDR_GNSS_SDR_SAMPLE_COUNTER_H_*/

View File

@ -1,5 +1,5 @@
/*!
* \file beidou_b1I.h
* \file Beidou_B1I.h
* \brief Defines system parameters for BeiDou B1I signal and DNAV data
* \author Sergi Segura, 2018. sergi.segura.munoz(at)gmail.com
* \author Damian Miralles, 2018. dmiralles2009@gmail.com

View File

@ -1,4 +1,4 @@
/*
/*!
* \file Galileo_E5a.h
* \brief Defines system parameters for Galileo E5a signal and NAV data
* \author Marc Sales, 2014. marcsales92@gmail.com

View File

@ -1,5 +1,5 @@
/*
* \file gps_cnav_utc_model.h
* \file gps_cnav_utc_model.cc
* \brief Interface of a GPS CNAV UTC MODEL storage
* \author Javier Arribas, 2015. jarribas(at)cttc.es
*

View File

@ -1,5 +1,5 @@
/*!
* \file gps_utc_model.h
* \file gps_cnav_utc_model.h
* \brief Interface of a GPS UTC MODEL storage
* \author Javier Arribas, 2013. jarribas(at)cttc.es
*

View File

@ -550,7 +550,7 @@ endif()
set(CMAKE_CTEST_COMMAND ctest -V)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(flowgraph_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_flowgraph_test.cc
@ -589,7 +589,7 @@ endif()
#########################################################
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(gnss_block_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/file_signal_source_test.cc
@ -640,7 +640,7 @@ endif()
#########################################################
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(gnuradio_block_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc
@ -696,7 +696,7 @@ set_property(TEST matio_test PROPERTY TIMEOUT 30)
#########################################################
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(acq_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_test.cc
@ -734,7 +734,7 @@ endif()
#########################################################
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(trk_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/galileo_e1_dll_pll_veml_tracking_test.cc
@ -773,7 +773,7 @@ endif()
#########################################################
if(NOT ENABLE_PACKAGING)
if(NOT ENABLE_PACKAGING AND NOT ENABLE_FPGA)
add_executable(control_thread_test
${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc
${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/control_message_factory_test.cc
@ -807,6 +807,10 @@ endif()
if(ENABLE_PACKAGING)
add_dependencies(check matio_test)
else()
add_dependencies(check control_thread_test flowgraph_test gnss_block_test
gnuradio_block_test acq_test trk_test matio_test)
if(ENABLE_FPGA)
add_dependencies(check matio_test)
else()
add_dependencies(check control_thread_test flowgraph_test gnss_block_test
gnuradio_block_test acq_test trk_test matio_test)
endif()
endif()

View File

@ -1,5 +1,5 @@
/*!
* \file tracking_tests_flags.h
* \file observable_tests_flags.h
* \brief Helper file for unit testing
* \author Javier Arribas, 2018. jarribas(at)cttc.es
*

View File

@ -1,5 +1,5 @@
/*!
* \file signal_generator_flags.h
* \file position_test_flags.h
* \brief Helper file for unit testing
* \author Javier Arribas, 2018. jarribas(at)cttc.es
*

View File

@ -1,5 +1,5 @@
/*!
* \file tlm_dump_reader.h
* \file true_observables_reader.h
* \brief Helper file for unit testing
* \author Javier Arribas, 2017. jarribas(at)cttc.es
*