mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-09-07 05:18:00 +00:00
Merge branch 'next' of github.com:gnss-sdr/gnss-sdr into next
This commit is contained in:
@@ -43,6 +43,9 @@ All notable changes to GNSS-SDR will be documented in this file.
|
|||||||
PDF format. It requires `numpy` and `matplotlib`.
|
PDF format. It requires `numpy` and `matplotlib`.
|
||||||
- `File_Signal_Source` fixed file length and sample skip calculations on 32-bit
|
- `File_Signal_Source` fixed file length and sample skip calculations on 32-bit
|
||||||
systems.
|
systems.
|
||||||
|
- Fixed tracking the same PRN in multiple channels. Previously, this could
|
||||||
|
happen when the number of acquisition channels was close to the number of
|
||||||
|
available PRNs for a given signal.
|
||||||
|
|
||||||
See the definitions of concepts and metrics at
|
See the definitions of concepts and metrics at
|
||||||
https://gnss-sdr.org/design-forces/
|
https://gnss-sdr.org/design-forces/
|
||||||
|
@@ -2192,6 +2192,14 @@ Gnss_Signal GNSSFlowgraph::search_next_signal(const std::string& searched_signal
|
|||||||
std::string assist_signal = "";
|
std::string assist_signal = "";
|
||||||
auto& available_signals = available_signals_map_.at(searched_signal);
|
auto& available_signals = available_signals_map_.at(searched_signal);
|
||||||
|
|
||||||
|
if (available_signals.empty())
|
||||||
|
{
|
||||||
|
const auto& entry = signal_mapping.at(searched_signal);
|
||||||
|
const auto& gnss_system_str = entry.first;
|
||||||
|
const auto& signal_pretty_str = entry.second;
|
||||||
|
throw std::runtime_error("More ACQUISITION channels than PRNs for signal " + gnss_system_str + " " + signal_pretty_str);
|
||||||
|
}
|
||||||
|
|
||||||
switch (mapStringValues_[searched_signal])
|
switch (mapStringValues_[searched_signal])
|
||||||
{
|
{
|
||||||
case evGPS_2S:
|
case evGPS_2S:
|
||||||
@@ -2250,7 +2258,11 @@ Gnss_Signal GNSSFlowgraph::search_next_signal(const std::string& searched_signal
|
|||||||
{
|
{
|
||||||
result = available_signals.front();
|
result = available_signals.front();
|
||||||
available_signals.pop_front();
|
available_signals.pop_front();
|
||||||
available_signals.push_back(result);
|
const std::string sys = result.get_satellite().get_system();
|
||||||
|
if ((sys == "Glonass") || (sys == "Beidou"))
|
||||||
|
{
|
||||||
|
available_signals.push_back(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@@ -54,7 +54,7 @@ public:
|
|||||||
void update_PRN(uint32_t PRN); //!< Updates the PRN Number when information is decoded, only applies to GLONASS GNAV messages
|
void update_PRN(uint32_t PRN); //!< Updates the PRN Number when information is decoded, only applies to GLONASS GNAV messages
|
||||||
uint32_t get_PRN() const; //!< Gets satellite's PRN
|
uint32_t get_PRN() const; //!< Gets satellite's PRN
|
||||||
int32_t get_rf_link() const; //!< Gets the satellite's rf link
|
int32_t get_rf_link() const; //!< Gets the satellite's rf link
|
||||||
std::string get_system() const; //!< Gets the satellite system {"GPS", "GLONASS", "SBAS", "Galileo", "Beidou"}
|
std::string get_system() const; //!< Gets the satellite system {"GPS", "Glonass", "SBAS", "Galileo", "Beidou"}
|
||||||
std::string get_system_short() const; //!< Gets the satellite system {"G", "R", "SBAS", "E", "C"}
|
std::string get_system_short() const; //!< Gets the satellite system {"G", "R", "SBAS", "E", "C"}
|
||||||
std::string get_block() const; //!< Gets the satellite block. If GPS, returns {"IIA", "IIR", "IIR-M", "IIF"}
|
std::string get_block() const; //!< Gets the satellite block. If GPS, returns {"IIA", "IIR", "IIR-M", "IIF"}
|
||||||
std::string what_block(const std::string& system_, uint32_t PRN_); //!< Gets the block of a given satellite
|
std::string what_block(const std::string& system_, uint32_t PRN_); //!< Gets the block of a given satellite
|
||||||
|
Reference in New Issue
Block a user