mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-12-15 04:30:33 +00:00
removed tracking state 0
This commit is contained in:
parent
c8ccd5ef91
commit
fc18eba4dd
@ -501,7 +501,7 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga &
|
|||||||
d_carrier_phase_step_rad = 0.0;
|
d_carrier_phase_step_rad = 0.0;
|
||||||
d_carrier_phase_rate_step_rad = 0.0;
|
d_carrier_phase_rate_step_rad = 0.0;
|
||||||
d_rem_code_phase_chips = 0.0;
|
d_rem_code_phase_chips = 0.0;
|
||||||
d_state = 0; // initial state: standby
|
d_state = 1; // initial state: standby
|
||||||
clear_tracking_vars();
|
clear_tracking_vars();
|
||||||
|
|
||||||
if (trk_parameters.smoother_length > 0)
|
if (trk_parameters.smoother_length > 0)
|
||||||
@ -567,6 +567,7 @@ dll_pll_veml_tracking_fpga::dll_pll_veml_tracking_fpga(const Dll_Pll_Conf_Fpga &
|
|||||||
std::ofstream outfile;
|
std::ofstream outfile;
|
||||||
outfile.open("trk_out.txt", std::ios_base::trunc);
|
outfile.open("trk_out.txt", std::ios_base::trunc);
|
||||||
outfile.close();
|
outfile.close();
|
||||||
|
d_worker_is_done = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dll_pll_veml_tracking_fpga::msg_handler_telemetry_to_trk(const pmt::pmt_t &msg)
|
void dll_pll_veml_tracking_fpga::msg_handler_telemetry_to_trk(const pmt::pmt_t &msg)
|
||||||
@ -621,8 +622,14 @@ void dll_pll_veml_tracking_fpga::start_tracking()
|
|||||||
|
|
||||||
d_carrier_loop_filter.initialize(static_cast<float>(d_acq_carrier_doppler_hz)); // initialize the carrier filter
|
d_carrier_loop_filter.initialize(static_cast<float>(d_acq_carrier_doppler_hz)); // initialize the carrier filter
|
||||||
|
|
||||||
|
|
||||||
|
boost::mutex::scoped_lock lock(d_mutex);
|
||||||
|
d_worker_is_done = true;
|
||||||
|
m_condition.notify_one();
|
||||||
|
|
||||||
|
|
||||||
// enable tracking pull-in
|
// enable tracking pull-in
|
||||||
d_state = 1;
|
//d_state = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1814,7 +1821,7 @@ void dll_pll_veml_tracking_fpga::set_gnss_synchro(Gnss_Synchro *p_gnss_synchro)
|
|||||||
void dll_pll_veml_tracking_fpga::stop_tracking()
|
void dll_pll_veml_tracking_fpga::stop_tracking()
|
||||||
{
|
{
|
||||||
printf("stop tracking called\n");
|
printf("stop tracking called\n");
|
||||||
d_state = 0;
|
d_state = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1850,14 +1857,34 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un
|
|||||||
|
|
||||||
switch (d_state)
|
switch (d_state)
|
||||||
{
|
{
|
||||||
case 0: // Standby - Consume samples at full throttle, do nothing
|
// case 0: // Standby - Consume samples at full throttle, do nothing
|
||||||
{
|
// {
|
||||||
*out[0] = *d_acquisition_gnss_synchro;
|
//
|
||||||
usleep(1000);
|
// // EL MUTEX NO FA FALTA !! GNURADIO JA EN TE UN ARREGLAR
|
||||||
return 1;
|
// printf("in state 0\n");
|
||||||
}
|
// d_worker_is_done = false;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// boost::mutex::scoped_lock lock(d_mutex);
|
||||||
|
// while (!d_worker_is_done) m_condition.wait(lock);
|
||||||
|
//
|
||||||
|
// d_state = 1;
|
||||||
|
//
|
||||||
|
// //*out[0] = *d_acquisition_gnss_synchro;
|
||||||
|
// ////usleep(1000);
|
||||||
|
// //return 1;
|
||||||
|
// }
|
||||||
case 1: // Pull-in
|
case 1: // Pull-in
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// EL MUTEX NO FA FALTA !! GNURADIO JA EN TE UN ARREGLAR
|
||||||
|
printf("in state 1\n");
|
||||||
|
d_worker_is_done = false;
|
||||||
|
|
||||||
|
|
||||||
|
boost::mutex::scoped_lock lock(d_mutex);
|
||||||
|
while (!d_worker_is_done) m_condition.wait(lock);
|
||||||
|
|
||||||
// Signal alignment (skip samples until the incoming signal is aligned with local replica)
|
// Signal alignment (skip samples until the incoming signal is aligned with local replica)
|
||||||
|
|
||||||
int64_t acq_trk_diff_samples;
|
int64_t acq_trk_diff_samples;
|
||||||
@ -1952,7 +1979,7 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un
|
|||||||
if (!cn0_and_tracking_lock_status(d_code_period))
|
if (!cn0_and_tracking_lock_status(d_code_period))
|
||||||
{
|
{
|
||||||
clear_tracking_vars();
|
clear_tracking_vars();
|
||||||
d_state = 0; // loss-of-lock detected
|
d_state = 1; // loss-of-lock detected
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2230,7 +2257,7 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un
|
|||||||
if (!cn0_and_tracking_lock_status(d_code_period * static_cast<double>(trk_parameters.extend_correlation_symbols)))
|
if (!cn0_and_tracking_lock_status(d_code_period * static_cast<double>(trk_parameters.extend_correlation_symbols)))
|
||||||
{
|
{
|
||||||
clear_tracking_vars();
|
clear_tracking_vars();
|
||||||
d_state = 0; // loss-of-lock detected
|
d_state = 1; // loss-of-lock detected
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2397,7 +2424,7 @@ int dll_pll_veml_tracking_fpga::general_work(int noutput_items __attribute__((un
|
|||||||
if (!cn0_and_tracking_lock_status(d_code_period * static_cast<double>(trk_parameters.extend_correlation_symbols)))
|
if (!cn0_and_tracking_lock_status(d_code_period * static_cast<double>(trk_parameters.extend_correlation_symbols)))
|
||||||
{
|
{
|
||||||
clear_tracking_vars();
|
clear_tracking_vars();
|
||||||
d_state = 0; // loss-of-lock detected
|
d_state = 1; // loss-of-lock detected
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -281,6 +281,11 @@ private:
|
|||||||
|
|
||||||
uint32_t d_fpga_integration_period;
|
uint32_t d_fpga_integration_period;
|
||||||
|
|
||||||
|
bool d_worker_is_done;
|
||||||
|
|
||||||
|
boost::condition_variable m_condition;
|
||||||
|
boost::mutex d_mutex;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user