mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-04-14 23:03:14 +00:00
[TAS-228] [FEAT] adapt osnma test vector to new navData passing
All tags either verified SUCCESSFULLY or Skipped. Skipping issue still present.
This commit is contained in:
parent
f1e616c4e5
commit
849a900adf
@ -121,10 +121,12 @@ void osnma_msg_receiver::msg_handler_osnma(const pmt::pmt_t& msg)
|
||||
// iono data => 549 bits, utc data, 141 bits.
|
||||
if(nav_data.size() == 549)
|
||||
{
|
||||
LOG(INFO) << "Galileo OSNMA: received ADKD=0/12 navData, PRN_d (" << PRNa << ") " << "TOW_sf=" << TOW <<std::endl;
|
||||
d_satellite_nav_data[PRNa][TOW].ephemeris_iono_vector_2 = nav_data;
|
||||
}
|
||||
else if(nav_data.size() == 141)
|
||||
{
|
||||
LOG(INFO) << "Galileo OSNMA: received ADKD=4 navData, PRN_d (" << PRNa << ") " << "TOW_sf=" << TOW <<std::endl;
|
||||
d_satellite_nav_data[PRNa][TOW].utc_vector_2 = nav_data;
|
||||
}
|
||||
else
|
||||
@ -132,7 +134,7 @@ void osnma_msg_receiver::msg_handler_osnma(const pmt::pmt_t& msg)
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG(WARNING) << "osnma_msg_receiver received an unknown object type!";
|
||||
LOG(ERROR) << "osnma_msg_receiver received an unknown object type!";
|
||||
}
|
||||
}
|
||||
catch (const wht::bad_any_cast& e)
|
||||
@ -1286,7 +1288,7 @@ void osnma_msg_receiver::remove_verified_tags()
|
||||
<< std::endl;
|
||||
it = d_tags_awaiting_verify.erase(it);
|
||||
}
|
||||
else if (it->second.skipped >= 10)
|
||||
else if (it->second.skipped >= 20)
|
||||
{
|
||||
LOG(INFO) << "Galileo OSNMA: Tag verification :: DELETE tag Id="
|
||||
<< it->second.tag_id
|
||||
|
@ -225,20 +225,32 @@ TEST_F(OsnmaMsgReceiverTest, OsnmaTestVectorsSimulation)
|
||||
{3, {6, 122}},
|
||||
{4, {6, 120}},
|
||||
{5, {6, 67}},
|
||||
// TODO words 6 and 10 for TimingData
|
||||
};
|
||||
|
||||
// Fill NavData bits -- Iterate over the extraction parameters
|
||||
std::string nav_data_ADKD_0_12 = "";
|
||||
for (const auto& param : extractionParams) {
|
||||
uint8_t wordKey = param.first;
|
||||
uint8_t start = param.second.first;
|
||||
uint8_t length = param.second.second;
|
||||
|
||||
// Extract the required bits and fill osnma block
|
||||
osnmaMsg_sptr->EphemerisClockAndStatusData_2 += words[wordKey].
|
||||
nav_data_ADKD_0_12 += words[wordKey].
|
||||
to_string().substr(
|
||||
start, length);
|
||||
}
|
||||
// send to osnma block
|
||||
bool check_size_is_ok = nav_data_ADKD_0_12.size() == 549;
|
||||
if(check_size_is_ok)
|
||||
{
|
||||
std::cout << "Galileo OSNMA: sending ADKD=0/12 navData, PRN_d (" << tv.svId << ") " << "TOW_sf=" << osnmaMsg_sptr->TOW_sf0 <<std::endl;
|
||||
const auto tmp_obj_osnma = std::make_shared<std::tuple<uint32_t, std::string,uint32_t>>( // < PRNd , navDataBits, TOW_Sosf>
|
||||
tv.svId,
|
||||
nav_data_ADKD_0_12,
|
||||
osnmaMsg_sptr->TOW_sf0);
|
||||
osnma->msg_handler_osnma(pmt::make_any(tmp_obj_osnma));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// check w6 && w10 is received => fill TimingData data vector
|
||||
@ -252,6 +264,7 @@ TEST_F(OsnmaMsgReceiverTest, OsnmaTestVectorsSimulation)
|
||||
{10, {86, 42}}
|
||||
};
|
||||
|
||||
std::string nav_data_ADKD_4 = "";
|
||||
// Fill NavData bits -- Iterate over the extraction parameters
|
||||
for (const auto& param : extractionParams)
|
||||
{
|
||||
@ -260,9 +273,21 @@ TEST_F(OsnmaMsgReceiverTest, OsnmaTestVectorsSimulation)
|
||||
uint8_t length = param.second.second;
|
||||
|
||||
// Extract the required bits and fill osnma block
|
||||
osnmaMsg_sptr->TimingData_2 += words[wordKey].to_string().substr(
|
||||
nav_data_ADKD_4 += words[wordKey].to_string().substr(
|
||||
start, length);
|
||||
}
|
||||
// send to osnma block
|
||||
bool check_size_is_ok = nav_data_ADKD_4.size() == 141;
|
||||
if(check_size_is_ok)
|
||||
{
|
||||
std::cout << "Galileo OSNMA: sending ADKD=04 navData, PRN_d (" << tv.svId << ") " << "TOW_sf=" << osnmaMsg_sptr->TOW_sf0 <<std::endl;
|
||||
const auto tmp_obj_osnma = std::make_shared<std::tuple<uint32_t, std::string,uint32_t>>( // < PRNd , navDataBits, TOW_Sosf>
|
||||
tv.svId,
|
||||
nav_data_ADKD_4,
|
||||
osnmaMsg_sptr->TOW_sf0);
|
||||
osnma->msg_handler_osnma(pmt::make_any(tmp_obj_osnma));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user