mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2024-11-14 13:54:57 +00:00
Adding TrackingCmd class to VTL engine
This commit is contained in:
parent
1929183e39
commit
ccf2b830a2
@ -465,11 +465,6 @@ Monitor_Pvt Rtklib_Solver::get_monitor_pvt() const
|
||||
return d_monitor_pvt;
|
||||
}
|
||||
|
||||
|
||||
void get_vtl_data()
|
||||
{
|
||||
}
|
||||
|
||||
bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_map, bool flag_averaging, bool get_vtl_data)
|
||||
{
|
||||
std::map<int, Gnss_Synchro>::const_iterator gnss_observables_iter;
|
||||
@ -1041,7 +1036,7 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
Vtl_Data new_vtl_data;
|
||||
new_vtl_data.init_storage(n_sats);
|
||||
new_vtl_data.epoch_tow_s = gnss_observables_map.cbegin()->second.RX_time;
|
||||
|
||||
new_vtl_data.sample_counter = gnss_observables_map.cbegin()->second.Tracking_sample_counter; // TODO: check if the different tracking instants (different sample_counters) affect the VTL commands
|
||||
for (int n = 0; n < n_sats; n++)
|
||||
{
|
||||
new_vtl_data.sat_p(n, 0) = rs[0 + 6 * n];
|
||||
|
@ -88,10 +88,8 @@ public:
|
||||
|
||||
bool get_PVT(const std::map<int, Gnss_Synchro>& gnss_observables_map, bool flag_averaging, bool get_vtl_data);
|
||||
|
||||
void get_vtl_data();
|
||||
Vtl_Data vtl_data;
|
||||
|
||||
|
||||
double get_hdop() const override;
|
||||
double get_vdop() const override;
|
||||
double get_pdop() const override;
|
||||
|
@ -20,6 +20,7 @@
|
||||
Vtl_Data::Vtl_Data()
|
||||
{
|
||||
epoch_tow_s = 0;
|
||||
sample_counter = 0;
|
||||
}
|
||||
|
||||
void Vtl_Data::init_storage(int n_sats)
|
||||
@ -33,11 +34,12 @@ void Vtl_Data::init_storage(int n_sats)
|
||||
doppler_hz = arma::vec(n_sats);
|
||||
carrier_phase_rads = arma::vec(n_sats);
|
||||
epoch_tow_s = 0;
|
||||
sample_counter = 0;
|
||||
}
|
||||
|
||||
void Vtl_Data::debug_print()
|
||||
{
|
||||
std::cout << "vtl_data debug print at TOW: " << epoch_tow_s << "\n ";
|
||||
std::cout << "vtl_data debug print at RX TOW: " << epoch_tow_s << ", TRK sample counter: " << sample_counter << "\n";
|
||||
sat_p.print("VTL Sat Positions");
|
||||
sat_v.print("VTL Sat Velocities");
|
||||
sat_dts.print("VTL Sat clocks");
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
#include <armadillo>
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
/** \addtogroup PVT
|
||||
@ -44,7 +43,9 @@ public:
|
||||
arma::vec doppler_hz; // satellite Carrier Dopplers [Hz]
|
||||
arma::vec carrier_phase_rads; // satellite accumulated carrier phases [rads]
|
||||
|
||||
// time handling
|
||||
double epoch_tow_s; // current observation RX time [s]
|
||||
uint64_t sample_counter; // current sample counter associated with RX time [samples from start]
|
||||
void debug_print();
|
||||
};
|
||||
|
||||
|
@ -27,6 +27,18 @@ Vtl_Engine::~Vtl_Engine()
|
||||
bool Vtl_Engine::vtl_loop(Vtl_Data new_data)
|
||||
{
|
||||
//TODO: Implement main VTL loop here
|
||||
|
||||
//TODO: Fill the tracking commands outputs
|
||||
// Notice: keep the same satellite order as in the Vtl_Data matrices
|
||||
// sample code
|
||||
TrackingCmd trk_cmd;
|
||||
trk_cmd.carrier_freq_hz = 0;
|
||||
trk_cmd.carrier_freq_rate_hz_s = 0;
|
||||
trk_cmd.code_freq_chips = 0;
|
||||
trk_cmd.enable_carrier_nco_cmd = true;
|
||||
trk_cmd.enable_code_nco_cmd = true;
|
||||
trk_cmd.sample_counter = new_data.sample_counter;
|
||||
trk_cmd_outs.push_back(trk_cmd);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -17,11 +17,13 @@
|
||||
#ifndef GNSS_SDR_VTL_ENGINE_H
|
||||
#define GNSS_SDR_VTL_ENGINE_H
|
||||
|
||||
#include "trackingcmd.h"
|
||||
#include "vtl_conf.h"
|
||||
#include "vtl_data.h"
|
||||
#include <armadillo>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
/** \addtogroup PVT
|
||||
* \{ */
|
||||
@ -43,6 +45,8 @@ public:
|
||||
void reset(); // reset all internal states
|
||||
void debug_print(); // print debug information
|
||||
|
||||
std::vector<TrackingCmd> trk_cmd_outs; // vector holding the Tracking command states updates to be sent to tracking KFs
|
||||
|
||||
private:
|
||||
Vtl_Conf config;
|
||||
//TODO: Internal VTL persistent variables here
|
||||
|
@ -28,8 +28,6 @@
|
||||
class TrackingCmd
|
||||
{
|
||||
public:
|
||||
TrackingCmd();
|
||||
|
||||
bool enable_carrier_nco_cmd = false;
|
||||
bool enable_code_nco_cmd = false;
|
||||
double code_freq_chips = 0.0;
|
||||
|
Loading…
Reference in New Issue
Block a user