Changeset 11041 in ntrip for trunk/BNC/src/RTCM3


Ignore:
Timestamp:
Sep 22, 2026, 4:08:55 PM (5 days ago)
Author:
stuerze
Message:

updates regarding RTCM-SSR

Location:
trunk/BNC/src/RTCM3
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp

    r11040 r11041  
    702702          }
    703703          t_frqAntenna frqAntenna;
    704           frqAntenna._freqIndex                = f;
     704          frqAntenna._frqType = _ssrCorr->antFreqIndexToStr(si.sysChar, f);
     705          if (frqAntenna._frqType.empty()) {
     706            continue; // reserved/unmapped DF+018 bit position
     707          }
    705708          frqAntenna._nadirCorrectionIndicator = satPart.Freq[f].NadirCorrectionIndicator;
    706709          frqAntenna._nadirCorrection          = satPart.Freq[f].NadirCorrection;
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h

    r11035 r11041  
    516516  virtual std::string codeTypeToRnxType(char system, CodeType type) = 0;
    517517  virtual CodeType rnxTypeToCodeType(char system, std::string type) = 0;
     518  /* DF+018 GNSS Frequency Mask bit position (0-based) -> t_frequency::type
     519     label (e.g. "G1", "R2", "E7"), per system. Returns "" for a reserved/
     520     unmapped bit position. */
     521  virtual std::string antFreqIndexToStr(char system, unsigned int freqIndex) = 0;
    518522
    519523
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.cpp

    r11031 r11041  
    937937}
    938938
     939//
     940////////////////////////////////////////////////////////////////////////////
     941std::string SsrCorrIgs::antFreqIndexToStr(char, unsigned int) {
     942  // This format does not decode Satellite Antenna message content; only
     943  // present to satisfy SsrCorr's interface.
     944  return "";
     945}
     946
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.h

    r11031 r11041  
    219219   std::string metaTypeToStr(unsigned int ind);
    220220   std::string codeTypeToRnxType(char system, CodeType type);
     221   std::string antFreqIndexToStr(char system, unsigned int freqIndex);
    221222   SsrCorr::CodeType rnxTypeToCodeType(char system, std::string type);
    222223
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.cpp

    r11031 r11041  
    13911391}
    13921392
     1393//
     1394////////////////////////////////////////////////////////////////////////////
     1395std::string SsrCorrRtcm::antFreqIndexToStr(char, unsigned int) {
     1396  // Satellite Antenna messages are not defined in (old) RTCM-SSR; only
     1397  // present to satisfy SsrCorr's interface.
     1398  return "";
     1399}
     1400
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h

    r11031 r11041  
    218218  std::string metaTypeToStr(unsigned int ind);
    219219  std::string codeTypeToRnxType(char system, CodeType type);
     220  std::string antFreqIndexToStr(char system, unsigned int freqIndex);
    220221  SsrCorr::CodeType rnxTypeToCodeType(char system, std::string type);
    221222
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp

    r11036 r11041  
    14101410  return "reserved!";
    14111411}
     1412
     1413//
     1414////////////////////////////////////////////////////////////////////////////
     1415std::string SsrCorrRtcmNew::antFreqIndexToStr(char system, unsigned int freqIndex) {
     1416  switch (system) {
     1417  case 'G':
     1418    if (freqIndex == 0) return "G1";
     1419    if (freqIndex == 1) return "G2";
     1420    if (freqIndex == 2) return "G5";
     1421    break;
     1422  case 'R':
     1423    if (freqIndex == 0) return "R1";
     1424    if (freqIndex == 1) return "R2";
     1425    break;
     1426  case 'E':
     1427    if (freqIndex == 0) return "E1";
     1428    if (freqIndex == 1) return "E6";
     1429    if (freqIndex == 2) return "E7";
     1430    if (freqIndex == 3) return "E8";
     1431    if (freqIndex == 4) return "E5";
     1432    break;
     1433  case 'J':
     1434    if (freqIndex == 0) return "J1";
     1435    if (freqIndex == 1) return "J6";
     1436    if (freqIndex == 2) return "J2";
     1437    if (freqIndex == 3) return "J5";
     1438    break;
     1439  case 'C':
     1440    if (freqIndex == 0) return "C2"; // B1
     1441    if (freqIndex == 1) return "C6"; // B3
     1442    if (freqIndex == 2) return "C7"; // B2
     1443    if (freqIndex == 3) return "C5"; // B2a
     1444    if (freqIndex == 4) return "C7"; // B2b (same t_frequency::type as B2)
     1445    if (freqIndex == 5) return "C1"; // B1C
     1446    break;
     1447  }
     1448  return ""; // reserved / unmapped bit position
     1449}
  • trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.h

    r11031 r11041  
    273273  std::string codeTypeToRnxType(char system, CodeType type);
    274274  SsrCorr::CodeType rnxTypeToCodeType(char system, std::string type);
     275  std::string antFreqIndexToStr(char system, unsigned int freqIndex);
    275276
    276277  size_t MakeClockOrbit(const struct ClockOrbit *co, ClockOrbitType type, int moremessagesfollow, char *buffer, size_t size);
Note: See TracChangeset for help on using the changeset viewer.