From cc50da14252c7c34403242b5f0dd11322b441f7e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 14 Jun 2022 09:31:35 +0200 Subject: [PATCH] Fix std::copy usage, replace more memcpy by std::copy --- .../tracking/adapters/galileo_e5a_dll_pll_tracking_fpga.cc | 2 +- .../tracking/adapters/gps_l1_ca_dll_pll_tracking_fpga.cc | 2 +- .../tracking/adapters/gps_l2_m_dll_pll_tracking_fpga.cc | 2 +- .../tracking/adapters/gps_l5_dll_pll_tracking_fpga.cc | 2 +- .../gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc | 2 +- .../gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc | 3 ++- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking_fpga.cc b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking_fpga.cc index fd87bb6cf..1f5c26140 100644 --- a/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking_fpga.cc +++ b/src/algorithms/tracking/adapters/galileo_e5a_dll_pll_tracking_fpga.cc @@ -55,7 +55,7 @@ GalileoE5aDllPllTrackingFpga::GalileoE5aDllPllTrackingFpga( } trk_params_fpga.system = 'E'; const std::array sig_{'5', 'X', '\0'}; - std::copy_n(sig_.data(), 3, trk_params.signal); + std::copy_n(sig_.data(), 3, trk_params_fpga.signal); d_data_codes = nullptr; diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_fpga.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_fpga.cc index bf47f5a0e..105bbe482 100644 --- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_fpga.cc +++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_tracking_fpga.cc @@ -65,7 +65,7 @@ GpsL1CaDllPllTrackingFpga::GpsL1CaDllPllTrackingFpga( } trk_params_fpga.system = 'G'; const std::array sig_{'1', 'C', '\0'}; - std::copy_n(sig_.data(), 3, trk_params.signal); + std::copy_n(sig_.data(), 3, trk_params_fpga.signal); // UIO device file device_name = configuration->property(role + ".devicename", default_device_name_GPS_L1); diff --git a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking_fpga.cc b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking_fpga.cc index b7c430d48..b252e44de 100644 --- a/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking_fpga.cc +++ b/src/algorithms/tracking/adapters/gps_l2_m_dll_pll_tracking_fpga.cc @@ -62,7 +62,7 @@ GpsL2MDllPllTrackingFpga::GpsL2MDllPllTrackingFpga( } trk_params_fpga.system = 'G'; const std::array sig_{'2', 'S', '\0'}; - std::copy_n(sig_.data(), 3, trk_params.signal); + std::copy_n(sig_.data(), 3, trk_params_fpga.signal); // UIO device file device_name = configuration->property(role + ".devicename", default_device_name_GPS_L2); diff --git a/src/algorithms/tracking/adapters/gps_l5_dll_pll_tracking_fpga.cc b/src/algorithms/tracking/adapters/gps_l5_dll_pll_tracking_fpga.cc index f201a6460..a3695aaa1 100644 --- a/src/algorithms/tracking/adapters/gps_l5_dll_pll_tracking_fpga.cc +++ b/src/algorithms/tracking/adapters/gps_l5_dll_pll_tracking_fpga.cc @@ -62,7 +62,7 @@ GpsL5DllPllTrackingFpga::GpsL5DllPllTrackingFpga( d_track_pilot = trk_params_fpga.track_pilot; trk_params_fpga.system = 'G'; const std::array sig_{'L', '5', '\0'}; - std::copy_n(sig_.data(), 3, trk_params.signal); + std::copy_n(sig_.data(), 3, trk_params_fpga.signal); // UIO device file device_name = configuration->property(role + ".devicename", default_device_name_GPS_L5); diff --git a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc index 7f6262d58..16c554fc4 100644 --- a/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/galileo_e1_tcp_connector_tracking_cc.cc @@ -156,7 +156,7 @@ void Galileo_E1_Tcp_Connector_Tracking_cc::start_tracking() d_acq_carrier_doppler_hz = static_cast(d_acquisition_gnss_synchro->Acq_doppler_hz); d_acq_sample_stamp = d_acquisition_gnss_synchro->Acq_samplestamp_samples; std::array Signal_{}; - std::memcpy(Signal_.data(), d_acquisition_gnss_synchro->Signal, 3); + std::copy_n(d_acquisition_gnss_synchro->Signal, 3, Signal_.data()); // generate local reference ALWAYS starting at chip 1 (2 samples per chip) galileo_e1_code_gen_complex_sampled(d_ca_code, diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc index 45d274b9f..3714f072e 100644 --- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc +++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_tracking_gpu_cc.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -349,7 +350,7 @@ int Gps_L1_Ca_Dll_Pll_Tracking_GPU_cc::general_work(int noutput_items __attribut // ################# CARRIER WIPEOFF AND CORRELATORS ############################## // perform carrier wipe-off and compute Early, Prompt and Late correlation - memcpy(in_gpu, in, sizeof(gr_complex) * d_correlation_length_samples); + std::copy(in, in + d_correlation_length_samples, in_gpu); cudaProfilerStart(); multicorrelator_gpu->Carrier_wipeoff_multicorrelator_resampler_cuda(static_cast(d_rem_carrier_phase_rad), static_cast(d_carrier_phase_step_rad),