Changeset 10899 in ntrip


Ignore:
Timestamp:
May 4, 2026, 4:52:14 PM (10 hours ago)
Author:
stuerze
Message:

bugfix in NavIC broadcast epehemeris encoding/decoding

Location:
trunk/BNC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/CHANGELOG.md

    r10882 r10899  
    11# Changelog
    2 ## 2.13.6 (2026-04-14)
     2## 2.13.6 (2026-04-29)
    33- ADDED: **Multi-Frequency PPP capability**
    44- ADDED: **Ambiguity Resolution (PPP with AR)** using the Best Integer Equivariant algorithm (BIE) as algorithm for the ambiguity resolution
     5- FIXED: Bug within NavIC broadcast ephemeris encoding/decoding
    56- FIXED: Bug for finding client certificates
    67- FIXED: sign of biases, which is defined different in SSR and SINEX
  • trunk/BNC/src/RTCM3/RTCM3Decoder.cpp

    r10694 r10899  
    15491549    GETFLOATSIGN(eph._Crs,  15, 1.0 / (double )(1 <<  4))
    15501550    GETFLOATSIGN(eph._IDOT, 14, R2R_PI/(double)(1<<30)/(double)(1<<13))
    1551     SKIPBITS(2)
    15521551    GETFLOATSIGN(eph._M0,   32, R2R_PI/(double)(1<<30)/(double)(1<< 1))
    15531552    GETBITS(i, 16)
     
    15861585    GETFLOATSIGN(eph._OMEGADOT, 22, R2R_PI/(double)(1<<30)/(double)(1<<11))
    15871586    GETFLOATSIGN(eph._i0,       32, R2R_PI/(double)(1<<30)/(double)(1<< 1))
    1588     SKIPBITS(2)
     1587    GETBITS(eph._s_bits_after_IDOT, 2)
     1588    GETBITS(eph._s_bits_after_i0, 2)
     1589
    15891590    eph._TOT = 0.9999e9;
    15901591    eph._type = t_eph::LNAV;
  • trunk/BNC/src/RTCM3/ephEncoder.cpp

    r10619 r10899  
    8787    GPSADDBITSFLOAT(15, eph._Crs, 1.0/static_cast<double>(1<< 4))
    8888    GPSADDBITSFLOAT(14, eph._IDOT, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<13))
    89     GPSADDBITS(2, 0) /* padding */
    9089    GPSADDBITSFLOAT(32, eph._M0, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<1))
    9190    GPSADDBITS(16, static_cast<int>(eph._TOEsec)>>4)
     
    9695    GPSADDBITSFLOAT(22, eph._OMEGADOT, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<11))
    9796    GPSADDBITSFLOAT(32, eph._i0, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<1))
    98     GPSADDBITS(2, 0) /* padding */
     97    GPSADDBITS(2, eph._s_bits_after_IDOT)
     98    GPSADDBITS(2, eph._s_bits_after_i0)
    9999  } else {
    100100    GPSADDBITS(12, 1019)
  • trunk/BNC/src/ephemeris.h

    r10628 r10899  
    7373 public:
    7474  t_ephGPS() {
    75     _clock_bias      = 0.0;
    76     _clock_drift     = 0.0;
    77     _clock_driftrate = 0.0;
    78     _IODE            = 0.0;
    79     _Crs             = 0.0;
    80     _Delta_n         = 0.0;
    81     _M0              = 0.0;
    82     _Cuc             = 0.0;
    83     _e               = 0.0;
    84     _Cus             = 0.0;
    85     _sqrt_A          = 0.0;
    86     _TOEsec          = 0.0;
    87     _Cic             = 0.0;
    88     _OMEGA0          = 0.0;
    89     _Cis             = 0.0;
    90     _i0              = 0.0;
    91     _Crc             = 0.0;
    92     _omega           = 0.0;
    93     _OMEGADOT        = 0.0;
    94     _IDOT            = 0.0;
    95     _L2Codes         = 0.0;
    96     _TOEweek         = 0.0;
    97     _L2PFlag         = 0.0;
    98     _ura             = 0.0;
    99     _health          = 0.0;
    100     _TGD             = 0.0;
    101     _IODC            = 0.0;
    102     _TOT             = 0.0;
    103     _fitInterval     = 0.0;
    104     _ADOT            = 0.0;
    105     _top             = 0.0;
    106     _Delta_n_dot     = 0.0;
    107     _URAI            = 0.0;
    108     _URAI_NED0       = 0.0;
    109     _URAI_NED1       = 0.0;
    110     _URAI_NED2       = 0.0;
    111     _URAI_ED         = 0.0;
    112     _ISC_L1CA        = 0.0;
    113     _ISC_L2C         = 0.0;
    114     _ISC_L5I5        = 0.0;
    115     _ISC_L5Q5        = 0.0;
    116     _ISC_L1Cd        = 0.0;
    117     _ISC_L1Cp        = 0.0;
    118     _RSF             = 0.0;
    119     _ISC_S           = 0.0;
    120     _ISC_L1D         = 0.0;
    121     _ISC_L1P         = 0.0;
    122     _wnop            = 0.0;
    123     _flags_unknown   = true;
    124     _intSF           = 0.0;
    125     _ephSF           = 0.0;
    126     _L2Cphasing      = 0.0;
    127     _alert           = 0.0;
    128     _receptStaID     = "";
     75    _clock_bias         = 0.0;
     76    _clock_drift        = 0.0;
     77    _clock_driftrate    = 0.0;
     78    _IODE               = 0.0;
     79    _Crs                = 0.0;
     80    _Delta_n            = 0.0;
     81    _M0                 = 0.0;
     82    _Cuc                = 0.0;
     83    _e                  = 0.0;
     84    _Cus                = 0.0;
     85    _sqrt_A             = 0.0;
     86    _TOEsec             = 0.0;
     87    _Cic                = 0.0;
     88    _OMEGA0             = 0.0;
     89    _Cis                = 0.0;
     90    _i0                 = 0.0;
     91    _Crc                = 0.0;
     92    _omega              = 0.0;
     93    _OMEGADOT           = 0.0;
     94    _IDOT               = 0.0;
     95    _L2Codes            = 0.0;
     96    _TOEweek            = 0.0;
     97    _L2PFlag            = 0.0;
     98    _ura                = 0.0;
     99    _health             = 0.0;
     100    _TGD                = 0.0;
     101    _IODC               = 0.0;
     102    _TOT                = 0.0;
     103    _fitInterval        = 0.0;
     104    _ADOT               = 0.0;
     105    _top                = 0.0;
     106    _Delta_n_dot        = 0.0;
     107    _URAI               = 0.0;
     108    _URAI_NED0          = 0.0;
     109    _URAI_NED1          = 0.0;
     110    _URAI_NED2          = 0.0;
     111    _URAI_ED            = 0.0;
     112    _ISC_L1CA           = 0.0;
     113    _ISC_L2C            = 0.0;
     114    _ISC_L5I5           = 0.0;
     115    _ISC_L5Q5           = 0.0;
     116    _ISC_L1Cd           = 0.0;
     117    _ISC_L1Cp           = 0.0;
     118    _RSF                = 0.0;
     119    _ISC_S              = 0.0;
     120    _ISC_L1D            = 0.0;
     121    _ISC_L1P            = 0.0;
     122    _wnop               = 0.0;
     123    _flags_unknown      = true;
     124    _intSF              = 0.0;
     125    _ephSF              = 0.0;
     126    _L2Cphasing         = 0.0;
     127    _alert              = 0.0;
     128    _s_bits_after_IDOT  = 0.0;
     129    _s_bits_after_i0    = 0.0;
     130    _receptStaID        = "";
    129131  }
    130132  t_ephGPS(double rnxVersion, const QStringList& lines, const QString typeStr);
     
    213215  double _L2Cphasing;       // [-] L2C phasing flag
    214216  double _alert;            // [-] alert flag
     217  double _s_bits_after_IDOT;// [-] spare bits after IDOT for NavIC
     218  double _s_bits_after_i0;  // [-] spare bits after I0 for NavIC
    215219
    216220  double _wnop;             // GPS continuous week number with the ambiguity resolved (same as _TOEweek?)
Note: See TracChangeset for help on using the changeset viewer.