1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-13 16:56:52 +00:00

Merge branch 'mmajoral-fix_acq_non_blocking_mode' into next

This commit is contained in:
Carles Fernandez 2023-01-12 09:24:30 +01:00
commit d5c5187c68
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -776,6 +776,8 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
else else
{ {
d_step_two = true; // Clear input buffer and make small grid acquisition d_step_two = true; // Clear input buffer and make small grid acquisition
d_doppler_center_step_two = static_cast<float>(d_gnss_synchro->Acq_doppler_hz);
update_grid_doppler_wipeoffs_step2();
d_num_noncoherent_integrations_counter = 0; d_num_noncoherent_integrations_counter = 0;
d_positive_acq = 0; d_positive_acq = 0;
d_state = 0; d_state = 0;
@ -826,6 +828,8 @@ void pcps_acquisition::acquisition_core(uint64_t samp_count)
else else
{ {
d_step_two = true; // Clear input buffer and make small grid acquisition d_step_two = true; // Clear input buffer and make small grid acquisition
d_doppler_center_step_two = static_cast<float>(d_gnss_synchro->Acq_doppler_hz);
update_grid_doppler_wipeoffs_step2();
d_num_noncoherent_integrations_counter = 0U; d_num_noncoherent_integrations_counter = 0U;
d_state = 0; d_state = 0;
} }
@ -910,7 +914,7 @@ int pcps_acquisition::general_work(int noutput_items __attribute__((unused)),
if (!d_active or d_worker_active) if (!d_active or d_worker_active)
{ {
// do not consume samples while performing a non-coherent integration // do not consume samples while performing a non-coherent integration
bool consume_samples = ((!d_active) || (d_active && (d_num_noncoherent_integrations_counter == d_acq_parameters.max_dwells))); bool consume_samples = ((!d_active) || (d_worker_active && (d_num_noncoherent_integrations_counter == d_acq_parameters.max_dwells)));
if ((!d_acq_parameters.blocking_on_standby) && consume_samples) if ((!d_acq_parameters.blocking_on_standby) && consume_samples)
{ {
d_sample_counter += static_cast<uint64_t>(ninput_items[0]); d_sample_counter += static_cast<uint64_t>(ninput_items[0]);
@ -918,8 +922,6 @@ int pcps_acquisition::general_work(int noutput_items __attribute__((unused)),
} }
if (d_step_two) if (d_step_two)
{ {
d_doppler_center_step_two = static_cast<float>(d_gnss_synchro->Acq_doppler_hz);
update_grid_doppler_wipeoffs_step2();
d_state = 0; d_state = 0;
d_active = true; d_active = true;
} }