From 605128e5e0594856283736b7f516f95ad2e364ba Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Mon, 29 Jul 2019 15:57:18 +0200 Subject: [PATCH] Improving HW reset for FPGA-accelerated receiver --- src/core/receiver/gnss_flowgraph.cc | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index 0c0171e18..e73c812b3 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -1466,10 +1466,19 @@ void GNSSFlowgraph::start_acquisition_helper() void GNSSFlowgraph::perform_hw_reset() { - // a stop acquisition command causes the SW to reset the HW - std::shared_ptr channel_ptr; - channel_ptr = std::dynamic_pointer_cast(channels_.at(0)); - channel_ptr->acquisition()->stop_acquisition(); + // a stop acquisition command causes the SW to reset the HW + std::shared_ptr channel_ptr; + + for (uint32_t i=0; i< channels_count_;i++) + { + channel_ptr = std::dynamic_pointer_cast(channels_.at(i)); + channel_ptr->tracking()->stop_tracking(); + } + + std::this_thread::sleep_for (std::chrono::milliseconds(500)); + + channel_ptr = std::dynamic_pointer_cast(channels_.at(0)); + channel_ptr->acquisition()->stop_acquisition(); } #endif