mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-08 19:23:07 +00:00
Consider CI/CD comments (x2)
This commit is contained in:
@@ -126,7 +126,6 @@ void osnma_msg_receiver::msg_handler_osnma(const pmt::pmt_t& msg)
|
|||||||
uint32_t PRNa = std::get<0>(*inav_data);
|
uint32_t PRNa = std::get<0>(*inav_data);
|
||||||
std::string nav_data = std::get<1>(*inav_data);
|
std::string nav_data = std::get<1>(*inav_data);
|
||||||
uint32_t TOW = std::get<2>(*inav_data);
|
uint32_t TOW = std::get<2>(*inav_data);
|
||||||
|
|
||||||
d_nav_data_manager->add_navigation_data(nav_data, PRNa,TOW);
|
d_nav_data_manager->add_navigation_data(nav_data, PRNa,TOW);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1814,7 +1813,5 @@ void osnma_msg_receiver::send_data_to_pvt(std::vector<OSNMA_NavData> data)
|
|||||||
const auto tmp_obj = std::make_shared<OSNMA_NavData>(data[i]);
|
const auto tmp_obj = std::make_shared<OSNMA_NavData>(data[i]);
|
||||||
this->message_port_pub(pmt::mp("OSNMA_to_PVT"), pmt::make_any(tmp_obj));
|
this->message_port_pub(pmt::mp("OSNMA_to_PVT"), pmt::make_any(tmp_obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,9 +127,7 @@ public:
|
|||||||
class OSNMA_NavData
|
class OSNMA_NavData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OSNMA_NavData(): nav_data_id(id_counter++){
|
OSNMA_NavData(): nav_data_id(id_counter++){}
|
||||||
|
|
||||||
}
|
|
||||||
bool have_this_bits(std::string nav_data);
|
bool have_this_bits(std::string nav_data);
|
||||||
bool add_nav_data(std::string nav_data);
|
bool add_nav_data(std::string nav_data);
|
||||||
void update_last_received_timestamp(uint32_t TOW);
|
void update_last_received_timestamp(uint32_t TOW);
|
||||||
@@ -141,6 +139,8 @@ public:
|
|||||||
uint32_t IOD_nav{0};
|
uint32_t IOD_nav{0};
|
||||||
std::string get_utc_data() const;
|
std::string get_utc_data() const;
|
||||||
std::string get_ephemeris_data() const;
|
std::string get_ephemeris_data() const;
|
||||||
|
void set_ephemeris_data(std::string value) {d_ephemeris_iono = value;}
|
||||||
|
void set_utc_data(std::string value) {d_utc = value;}
|
||||||
bool verified{false};
|
bool verified{false};
|
||||||
uint32_t PRNd{0};
|
uint32_t PRNd{0};
|
||||||
uint32_t ADKD{};
|
uint32_t ADKD{};
|
||||||
|
|||||||
@@ -1,10 +1,23 @@
|
|||||||
//
|
/*!
|
||||||
// Created by cgm on 23/07/24.
|
* \file osnma_nav_data_manager.cc
|
||||||
//
|
* \brief Class for Galileo OSNMA navigation data management
|
||||||
|
* \author Cesare Ghionoiu-Martinez, 2020-2023 cesare.martinez(at)proton.me
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||||
|
* This file is part of GNSS-SDR.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010-2023 (see AUTHORS file for a list of contributors)
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
#include "osnma_nav_data_manager.h"
|
#include "osnma_nav_data_manager.h"
|
||||||
#if USE_GLOG_AND_GFLAGS
|
#if USE_GLOG_AND_GFLAGS
|
||||||
#include <glog/logging.h> // for DLOG
|
#include <glog/logging.h> // for DLOG
|
||||||
|
#include <vector>
|
||||||
#else
|
#else
|
||||||
#include <absl/log/log.h>
|
#include <absl/log/log.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -199,7 +212,6 @@ bool OSNMA_nav_data_Manager::have_nav_data(const Tag& t) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -1,6 +1,18 @@
|
|||||||
//
|
/*!
|
||||||
// Created by cgm on 23/07/24.
|
* \file osnma_nav_data_manager.h
|
||||||
//
|
* \brief Class for Galileo OSNMA navigation data management
|
||||||
|
* \author Cesare Ghionoiu-Martinez, 2020-2023 cesare.martinez(at)proton.me
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||||
|
* This file is part of GNSS-SDR.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010-2023 (see AUTHORS file for a list of contributors)
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
#ifndef GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
||||||
#define GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
#define GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
||||||
@@ -8,6 +20,7 @@
|
|||||||
#include "osnma_data.h" // NavData
|
#include "osnma_data.h" // NavData
|
||||||
#include <cstdint> // uint32_t
|
#include <cstdint> // uint32_t
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,6 +49,5 @@ private:
|
|||||||
const uint16_t EPH_SIZE{549};
|
const uint16_t EPH_SIZE{549};
|
||||||
const uint16_t UTC_SIZE{141};
|
const uint16_t UTC_SIZE{141};
|
||||||
const uint16_t MAX_ALLOWED_SIZE{150}; // arbitrary maximum for the navigation data container
|
const uint16_t MAX_ALLOWED_SIZE{150}; // arbitrary maximum for the navigation data container
|
||||||
|
|
||||||
};
|
};
|
||||||
#endif // GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
#endif // GNSS_SDR_OSNMA_NAV_DATA_MANAGER_H
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ protected:
|
|||||||
const uint32_t LEAP_SECONDS = 0; // 13 + 5;
|
const uint32_t LEAP_SECONDS = 0; // 13 + 5;
|
||||||
void set_time(std::tm& input);
|
void set_time(std::tm& input);
|
||||||
// std::string log_name {"CONFIG1-2023-08-16-PKID1-OSNMA"};
|
// std::string log_name {"CONFIG1-2023-08-16-PKID1-OSNMA"};
|
||||||
std::string log_name{"CONFIG2-2023-07-27-PKID2-MT2-OSNMA"};
|
std::string log_name{"CONFIG2-2023-07-27-PKID2-MT2-OSNMA"}; // TODO - google::InitGoogleLogging(log_name.c_str()); but cannot be called twice
|
||||||
void initializeGoogleLog();
|
void initializeGoogleLog();
|
||||||
|
|
||||||
void SetUp() override
|
void SetUp() override
|
||||||
@@ -174,7 +174,7 @@ TEST_F(OsnmaMsgReceiverTest, BuildTagMessageM0)
|
|||||||
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
||||||
osnma->d_tesla_keys[TOW_Key_Tag0] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDB, 0xBC, 0x73}; // K4
|
osnma->d_tesla_keys[TOW_Key_Tag0] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDB, 0xBC, 0x73}; // K4
|
||||||
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
||||||
osnma->d_satellite_nav_data[PRNa][TOW_NavData].set_ephemeris_iono_data(
|
osnma->d_nav_data_manager->add_navigation_data(
|
||||||
"000011101001011001000100000101000111010110100100100101100000000000"
|
"000011101001011001000100000101000111010110100100100101100000000000"
|
||||||
"011101101011001111101110101010000001010000011011111100000011101011"
|
"011101101011001111101110101010000001010000011011111100000011101011"
|
||||||
"011100101101011010101011011011001001110111101011110110111111001111"
|
"011100101101011010101011011011001001110111101011110110111111001111"
|
||||||
@@ -183,7 +183,8 @@ TEST_F(OsnmaMsgReceiverTest, BuildTagMessageM0)
|
|||||||
"110100010001000110001110011010110000111010000010000000000001101000"
|
"110100010001000110001110011010110000111010000010000000000001101000"
|
||||||
"000000000011100101100100010000000000000110110100110001111100000000"
|
"000000000011100101100100010000000000000110110100110001111100000000"
|
||||||
"000000100110100000000101010010100000001011000010001001100000011111"
|
"000000100110100000000101010010100000001011000010001001100000011111"
|
||||||
"110111111111000000000");
|
"110111111111000000000",
|
||||||
|
PRNa, TOW_NavData);
|
||||||
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
||||||
|
|
||||||
MACK_tag_and_info MTI;
|
MACK_tag_and_info MTI;
|
||||||
@@ -216,8 +217,7 @@ TEST_F(OsnmaMsgReceiverTest, TagVerification)
|
|||||||
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
||||||
osnma->d_tesla_keys[TOW_Key_Tag0] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDD, 0xBC, 0x73}; // K4
|
osnma->d_tesla_keys[TOW_Key_Tag0] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDD, 0xBC, 0x73}; // K4
|
||||||
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
||||||
osnma->d_satellite_nav_data[PRNa][TOW_NavData].set_ephemeris_iono_data("");
|
osnma->d_nav_data_manager->add_navigation_data(
|
||||||
osnma->d_satellite_nav_data[PRNa][TOW_NavData].set_ephemeris_iono_data(
|
|
||||||
"000011101001011001000100000101000111010110100100100101100000000000"
|
"000011101001011001000100000101000111010110100100100101100000000000"
|
||||||
"011101101011001111101110101010000001010000011011111100000011101011"
|
"011101101011001111101110101010000001010000011011111100000011101011"
|
||||||
"011100101101011010101011011011001001110111101011110110111111001111"
|
"011100101101011010101011011011001001110111101011110110111111001111"
|
||||||
@@ -226,7 +226,7 @@ TEST_F(OsnmaMsgReceiverTest, TagVerification)
|
|||||||
"110100010001000110001110011010110000111010000010000000000001101000"
|
"110100010001000110001110011010110000111010000010000000000001101000"
|
||||||
"000000000011100101100100010000000000000110110100110001111100000000"
|
"000000000011100101100100010000000000000110110100110001111100000000"
|
||||||
"000000100110100000000101010010100000001011000010001001100000011111"
|
"000000100110100000000101010010100000001011000010001001100000011111"
|
||||||
"110111111111000000000");
|
"110111111111000000000", PRNa, TOW_NavData);
|
||||||
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
||||||
|
|
||||||
MACK_tag_and_info MTI;
|
MACK_tag_and_info MTI;
|
||||||
@@ -252,9 +252,10 @@ TEST_F(OsnmaMsgReceiverTest, TagVerification)
|
|||||||
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
osnma->d_osnma_data.d_dsm_kroot_message.ts = 9; // 40 bit
|
||||||
osnma->d_tesla_keys[TOW_Key_Tag3] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDD, 0xBC, 0x73}; // K4
|
osnma->d_tesla_keys[TOW_Key_Tag3] = {0x69, 0xC0, 0x0A, 0xA7, 0x36, 0x42, 0x37, 0xA6, 0x5E, 0xBF, 0x00, 0x6A, 0xD8, 0xDD, 0xBC, 0x73}; // K4
|
||||||
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
osnma->d_osnma_data.d_dsm_kroot_message.mf = 0;
|
||||||
osnma->d_satellite_nav_data[PRNa][TOW_NavData].set_utc_data(
|
osnma->d_nav_data_manager->add_navigation_data(
|
||||||
"111111111111111111111111111111110000000000000000000000010001001001001000"
|
"111111111111111111111111111111110000000000000000000000010001001001001000"
|
||||||
"111000001000100111100010010111111111011110111111111001001100000100000000");
|
"111000001000100111100010010111111111011110111111111001001100000100000"
|
||||||
|
, PRNa, TOW_NavData);
|
||||||
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
osnma->d_osnma_data.d_nma_header.nmas = 0b10;
|
||||||
|
|
||||||
MTI.tag = static_cast<uint64_t>(0x7BB238C883);
|
MTI.tag = static_cast<uint64_t>(0x7BB238C883);
|
||||||
@@ -648,10 +649,10 @@ void OsnmaMsgReceiverTest::set_time(std::tm& input)
|
|||||||
|
|
||||||
void OsnmaMsgReceiverTest::initializeGoogleLog()
|
void OsnmaMsgReceiverTest::initializeGoogleLog()
|
||||||
{
|
{
|
||||||
google::InitGoogleLogging(log_name.c_str()); // TODO - running all tests causes conflict due to being called twice
|
// google::InitGoogleLogging(log_name.c_str());
|
||||||
FLAGS_minloglevel = 0; // INFO
|
FLAGS_minloglevel = 0; // INFO
|
||||||
FLAGS_logtostderr = 0; // add this line
|
FLAGS_logtostderr = 0; // add this line
|
||||||
FLAGS_log_dir = "/home/cgm/CLionProjects/osnma/data/build/src/tests/logs";
|
// FLAGS_log_dir = "/home/cgm/CLionProjects/osnma/data/logs";
|
||||||
if (FLAGS_log_dir.empty())
|
if (FLAGS_log_dir.empty())
|
||||||
{
|
{
|
||||||
std::cout << "Logging will be written at "
|
std::cout << "Logging will be written at "
|
||||||
|
|||||||
Reference in New Issue
Block a user