diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index 3651f56e4..7e2158dfc 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -1468,10 +1468,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