From 5f0de1b83b5d91a270a4b99a462fc0b5d522e348 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 1 Dec 2025 12:59:55 +0100 Subject: [PATCH] Fix reading of some almanac parameters in BeiDou messages --- .../system_parameters/beidou_dnav_navigation_message.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/system_parameters/beidou_dnav_navigation_message.cc b/src/core/system_parameters/beidou_dnav_navigation_message.cc index 76a621de9..e03ceba10 100644 --- a/src/core/system_parameters/beidou_dnav_navigation_message.cc +++ b/src/core/system_parameters/beidou_dnav_navigation_message.cc @@ -237,13 +237,13 @@ int32_t Beidou_Dnav_Navigation_Message::d1_subframe_decoder(std::string const& s d_E_ALMANAC = d_E_ALMANAC * D1_E_ALMANAC_LSB; d_DELTA_I = static_cast(read_navigation_signed(subframe_bits, D1_DELTA_I)); - d_DELTA_I = D1_DELTA_I_LSB; + d_DELTA_I = d_DELTA_I * D1_DELTA_I_LSB; d_TOA = static_cast(read_navigation_unsigned(subframe_bits, D1_TOA)); d_TOA = d_TOA * D1_TOA_LSB; d_OMEGA_DOT_ALMANAC = static_cast(read_navigation_signed(subframe_bits, D1_OMEGA_DOT_ALMANAC)); - d_OMEGA_DOT_ALMANAC = D1_OMEGA_DOT_ALMANAC_LSB; + d_OMEGA_DOT_ALMANAC = d_OMEGA_DOT_ALMANAC * D1_OMEGA_DOT_ALMANAC_LSB; d_OMEGA_ALMANAC = static_cast(read_navigation_signed(subframe_bits, D1_OMEGA_ALMANAC)); d_OMEGA_ALMANAC = d_OMEGA_ALMANAC * D1_OMEGA_ALMANAC_LSB; @@ -282,13 +282,13 @@ int32_t Beidou_Dnav_Navigation_Message::d1_subframe_decoder(std::string const& s d_E_ALMANAC = d_E_ALMANAC * D1_E_ALMANAC_LSB; d_DELTA_I = static_cast(read_navigation_signed(subframe_bits, D1_DELTA_I)); - d_DELTA_I = D1_DELTA_I_LSB; + d_DELTA_I = d_DELTA_I * D1_DELTA_I_LSB; d_TOA = static_cast(read_navigation_unsigned(subframe_bits, D1_TOA)); d_TOA = d_TOA * D1_TOA_LSB; d_OMEGA_DOT_ALMANAC = static_cast(read_navigation_signed(subframe_bits, D1_OMEGA_DOT_ALMANAC)); - d_OMEGA_DOT_ALMANAC = D1_OMEGA_DOT_ALMANAC_LSB; + d_OMEGA_DOT_ALMANAC = d_OMEGA_DOT_ALMANAC * D1_OMEGA_DOT_ALMANAC_LSB; d_OMEGA_ALMANAC = static_cast(read_navigation_signed(subframe_bits, D1_OMEGA_ALMANAC)); d_OMEGA_ALMANAC = d_OMEGA_ALMANAC * D1_OMEGA_ALMANAC_LSB;