Add option to force the Observables block to always output Gnss_Synchro objects, not only when there is at least one valid observation

This commit is contained in:
Carles Fernandez 2021-10-22 15:40:17 +02:00
parent d4a1bb1147
commit 7f45739cf0
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
4 changed files with 13 additions and 0 deletions

View File

@ -40,6 +40,7 @@ HybridObservables::HybridObservables(const ConfigurationInterface* configuration
conf.nchannels_out = out_streams_;
conf.observable_interval_ms = configuration->property("GNSS-SDR.observable_interval_ms", conf.observable_interval_ms);
conf.enable_carrier_smoothing = configuration->property(role + ".enable_carrier_smoothing", conf.enable_carrier_smoothing);
conf.always_output_gs = configuration->property("PVT.an_output_enabled", conf.always_output_gs) || configuration->property(role + ".always_output_gs", conf.always_output_gs);
if (FLAGS_carrier_smoothing_factor == DEFAULT_CARRIER_SMOOTHING_FACTOR)
{

View File

@ -61,6 +61,7 @@ hybrid_observables_gs::hybrid_observables_gs(const Obs_Conf &conf_)
d_nchannels_in(conf_.nchannels_in),
d_nchannels_out(conf_.nchannels_out),
d_T_rx_TOW_set(false),
d_always_output_gs(conf_.always_output_gs),
d_dump(conf_.dump),
d_dump_mat(conf_.dump_mat && d_dump)
{
@ -749,5 +750,14 @@ int hybrid_observables_gs::general_work(int noutput_items __attribute__((unused)
return 1;
}
}
if (d_always_output_gs)
{
Gnss_Synchro empty_gs{};
for (uint32_t n = 0; n < d_nchannels_out; n++)
{
out[n][0] = empty_gs;
}
return 1;
}
return 0;
}

View File

@ -119,6 +119,7 @@ private:
uint32_t d_nchannels_out;
bool d_T_rx_TOW_set; // rx time follow GPST
bool d_always_output_gs;
bool d_dump;
bool d_dump_mat;
};

View File

@ -38,6 +38,7 @@ public:
uint32_t nchannels_out{0U};
uint32_t observable_interval_ms{20U};
bool enable_carrier_smoothing{false};
bool always_output_gs{false};
bool dump{false};
bool dump_mat{false};
};