Index: /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 8999)
+++ /trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 9000)
@@ -411,5 +411,5 @@
         {BDS_WAVELENGTH_B2a, "5P"},
         {BDS_WAVELENGTH_B2a, "5X"},
-        {0.0, 0},
+        {BDS_WAVELENGTH_B2b, "7D"},
         {0.0, 0},
         {0.0, 0},
@@ -1631,6 +1631,6 @@
        * else. */
       if ((id >= 1057 && id <= 1068) ||
-    	    (id >= 1240 && id <= 1270) ||
-		      (id == 4076)) {
+    	  (id >= 1240 && id <= 1270) ||
+		  (id == 4076)) {
         if (!_coDecoders.contains(_staID.toLatin1()))
           _coDecoders[_staID.toLatin1()] = new RTCM3coDecoder(_staID);
@@ -1641,6 +1641,5 @@
         }
       }
-      else if ((id >= 1070 && id <= 1229) ||
-               (id >=   21 && id <=   27)) /* MSM */ {
+      else if (id >= 1070 && id <= 1229) { /* MSM */
         if (DecodeRTCM3MSM(_Message, _BlockSize))
           decoded = true;
@@ -1686,5 +1685,5 @@
               decoded = true;
             break;
-          case 29:
+          case 1141:
             if (DecodeIRNSSEphemeris(_Message, _BlockSize))
               decoded = true;
@@ -1695,5 +1694,5 @@
               decoded = true;
             break;
-          case RTCM3ID_BDS:
+          case 1042:
             if (DecodeBDSEphemeris(_Message, _BlockSize))
               decoded = true;
Index: /trunk/BNC/src/RTCM3/ephEncoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM3/ephEncoder.cpp	(revision 8999)
+++ /trunk/BNC/src/RTCM3/ephEncoder.cpp	(revision 9000)
@@ -51,5 +51,5 @@
     GPSADDBITS(3, 0) /* padding */
   } else if (eph.type() == t_eph::IRNSS) {
-    GPSADDBITS(12, 29)
+    GPSADDBITS(12, 1141)
     GPSADDBITS(6, eph._prn.number())
     GPSADDBITS(10, eph._TOC.gpsw())
@@ -316,5 +316,5 @@
 
   int URA = indexFromAccuracy(eph._URA, eph.type());
-  BDSADDBITS(12, RTCM3ID_BDS)
+  BDSADDBITS(12, 1042)
   BDSADDBITS(6, eph._prn.number())
   BDSADDBITS(13, eph._TOC.bdsw())
Index: /trunk/BNC/src/RTCM3/gnss.h
===================================================================
--- /trunk/BNC/src/RTCM3/gnss.h	(revision 8999)
+++ /trunk/BNC/src/RTCM3/gnss.h	(revision 9000)
@@ -74,4 +74,5 @@
 #define BDS_FREQU_B1C       1575420000.0  /* Hz */
 #define BDS_FREQU_B2a       1176450000.0  /* Hz */
+#define BDS_FREQU_B2b       1207140000.0  /* Hz */
 #define BDS_WAVELENGTH_B1   (LIGHTSPEED / BDS_FREQU_B1)  /* m */
 #define BDS_WAVELENGTH_B2   (LIGHTSPEED / BDS_FREQU_B2)  /* m */
@@ -79,4 +80,5 @@
 #define BDS_WAVELENGTH_B1C  (LIGHTSPEED / BDS_FREQU_B1C) /* m */
 #define BDS_WAVELENGTH_B2a  (LIGHTSPEED / BDS_FREQU_B2a) /* m */
+#define BDS_WAVELENGTH_B2b  (LIGHTSPEED / BDS_FREQU_B2b) /* m */
 
 #define IRNSS_FREQU_L5      1176450000.0 /* Hz */
@@ -87,5 +89,3 @@
 #define R2R_PI          3.1415926535898
 
-#define RTCM3ID_BDS 1042
-
 #endif /* GNSS_H */
