Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 4385)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 4386)
@@ -347,5 +347,5 @@
                   const char* codetype = gnssData.codetype[iSat][iEntry];
                   if (codetype) {
-                    // cout << prn.toAscii().data() << " " << codetype[1] << endl;
+                    cout << prn.toAscii().data() << " " << codetype << endl;
                   }
 
Index: trunk/BNC/src/bncrinex.cpp
===================================================================
--- trunk/BNC/src/bncrinex.cpp	(revision 4385)
+++ trunk/BNC/src/bncrinex.cpp	(revision 4386)
@@ -433,6 +433,7 @@
           _out << "S    8 C1C L1C D1C S1C C1W L1W D1W S1W                      SYS / # / OBS TYPES" << endl;
           _out << "E    8 C1  L1  D1  S1  C5  L5  D5  S5                       SYS / # / OBS TYPES" << endl;
-          _out << "J   20 C1C L1C D1C S1C C1W L1W D1W S1W C2P L2P D2P S2P C2X  SYS / # / OBS TYPES" << endl;
-          _out << "       L2X D2X S2X C5  L5  D5  S5                           SYS / # / OBS TYPES" << endl;
+          _out << "J   16 C1C L1C D1C S1C C1X L1X D1X S1X C2X L2X D2X S2X C5   SYS / # / OBS TYPES" << endl;
+          _out << "       L5  D5  S5                                           SYS / # / OBS TYPES" << endl;
+          _out << "C    4 C2I L2I D2I S2I                                      SYS / # / OBS TYPES" << endl;
         }
         else { 
@@ -509,6 +510,7 @@
       _out << "S    8 C1C L1C D1C S1C C1W L1W D1W S1W                      SYS / # / OBS TYPES" << endl;
       _out << "E    8 C1  L1  D1  S1  C5  L5  D5  S5                       SYS / # / OBS TYPES" << endl;
-      _out << "J   20 C1C L1C D1C S1C C1W L1W D1W S1W C2P L2P D2P S2P C2X  SYS / # / OBS TYPES" << endl;
-      _out << "       L2X D2X S2X C5  L5  D5  S5                           SYS / # / OBS TYPES" << endl;
+      _out << "J   16 C1C L1C D1C S1C C1X L1X D1X S1X C2X L2X D2X S2X C5   SYS / # / OBS TYPES" << endl;
+      _out << "       L5  D5  S5                                           SYS / # / OBS TYPES" << endl;
+      _out << "C    4 C2I L2I D2I S2I                                      SYS / # / OBS TYPES" << endl;
     }
     else {
@@ -700,78 +702,83 @@
       << setw(2) << setfill('0') << obs.satNum << setfill(' ');
 
-  if      (obs.satSys == 'G' || obs.satSys == 'J') { // GPS or QZSS
-    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1C
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1P
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.S1P << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.P2  << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.L2P
-        << lli2 << ' ';
-    str << setw(14) << setprecision(3) << obs.D2P << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.S2P << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.C2  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L2C
-        << lli2 << ' ';
-    str << setw(14) << setprecision(3) << obs.D2C << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.S2C << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.C5  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L5
-        << lli5 << ' ';
-    str << setw(14) << setprecision(3) << obs.D5  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S5;
+  if      (obs.satSys == 'G') { // GPS
+    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  // C1C
+        << setw(14) << setprecision(3) << obs.L1C << lli1 << ' '  // L1C
+        << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  // D1C
+        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '  // S1C
+        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  // C1W
+        << setw(14) << setprecision(3) << obs.L1P << lli1 << ' '  // L1W
+        << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '  // D1W
+        << setw(14) << setprecision(3) << obs.S1P << ' '  << ' '  // S1W
+        << setw(14) << setprecision(3) << obs.P2  << ' '  << ' '  // C2P
+        << setw(14) << setprecision(3) << obs.L2P << lli2 << ' '  // L2P
+        << setw(14) << setprecision(3) << obs.D2P << ' '  << ' '  // D2P
+        << setw(14) << setprecision(3) << obs.S2P << ' '  << ' '  // S2P
+        << setw(14) << setprecision(3) << obs.C2  << ' '  << ' '  // C2X
+        << setw(14) << setprecision(3) << obs.L2C << lli2 << ' '  // L2X
+        << setw(14) << setprecision(3) << obs.D2C << ' '  << ' '  // D2X
+        << setw(14) << setprecision(3) << obs.S2C << ' '  << ' '  // S2X
+        << setw(14) << setprecision(3) << obs.C5  << ' '  << ' '  // C5 
+        << setw(14) << setprecision(3) << obs.L5  << lli5 << ' '  // L5 
+        << setw(14) << setprecision(3) << obs.D5  << ' '  << ' '  // D5 
+        << setw(14) << setprecision(3) << obs.S5;                 // S5 
   }
   else if (obs.satSys == 'R') { // Glonass
-    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1C
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1P
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S1P << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.P2  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L2P
-        << lli2 << ' ';
-    str << setw(14) << setprecision(3) << obs.D2P << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S2P << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.C2  << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.L2C
-        << lli2 << ' ';
-    str << setw(14) << setprecision(3) << obs.D2C << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S2C;
+    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  // C1C
+        << setw(14) << setprecision(3) << obs.L1C << lli1 << ' '  // L1C
+        << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  // D1C
+        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '  // S1C
+        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  // C1P
+        << setw(14) << setprecision(3) << obs.L1P << lli1 << ' '  // L1P
+        << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '  // D1P
+        << setw(14) << setprecision(3) << obs.S1P << ' '  << ' '  // S1P
+        << setw(14) << setprecision(3) << obs.P2  << ' '  << ' '  // C2P
+        << setw(14) << setprecision(3) << obs.L2P << lli2 << ' '  // L2P
+        << setw(14) << setprecision(3) << obs.D2P << ' '  << ' '  // D2P
+        << setw(14) << setprecision(3) << obs.S2P << ' '  << ' '  // S2P
+        << setw(14) << setprecision(3) << obs.C2  << ' '  << ' '  // C2C
+        << setw(14) << setprecision(3) << obs.L2C << lli2 << ' '  // L2C
+        << setw(14) << setprecision(3) << obs.D2C << ' '  << ' '  // D2C
+        << setw(14) << setprecision(3) << obs.S2C;                // S2C
   }
   else if (obs.satSys == 'S') { // SBAS
-    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1C
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '
-        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1P
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S1P;
+    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  // C1C
+        << setw(14) << setprecision(3) << obs.L1C << lli1 << ' '  // L1C
+        << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  // D1C
+        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '  // S1C
+        << setw(14) << setprecision(3) << obs.P1  << ' '  << ' '  // C1W
+        << setw(14) << setprecision(3) << obs.L1P << lli1 << ' '  // L1W
+        << setw(14) << setprecision(3) << obs.D1P << ' '  << ' '  // D1W
+        << setw(14) << setprecision(3) << obs.S1P;                // S1W
   }
   else if (obs.satSys == 'E') { // Galileo
-    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L1C
-        << lli1 << ' ';
-    str << setw(14) << setprecision(3) << obs.D1C << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' ' 
-        << setw(14) << setprecision(3) << obs.C5  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.L5
-        << lli5 << ' ';
-    str << setw(14) << setprecision(3) << obs.D5  << ' '  << ' '  
-        << setw(14) << setprecision(3) << obs.S5;
+    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  // C1
+        << setw(14) << setprecision(3) << obs.L1C << lli1 << ' '  // L1
+        << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  // D1
+        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '  // S1
+        << setw(14) << setprecision(3) << obs.C5  << ' '  << ' '  // C5
+        << setw(14) << setprecision(3) << obs.L5  << lli5 << ' '  // L5
+        << setw(14) << setprecision(3) << obs.D5  << ' '  << ' '  // D5
+        << setw(14) << setprecision(3) << obs.S5;                 // S5
+  }
+  else if (obs.satSys == 'J') { // QZSS
+    str << setw(14) << setprecision(3) << obs.C1  << ' '  << ' '  // C1C
+        << setw(14) << setprecision(3) << obs.L1C << lli1 << ' '  // L1C
+        << setw(14) << setprecision(3) << obs.D1C << ' '  << ' '  // D1C
+        << setw(14) << setprecision(3) << obs.S1C << ' '  << ' '  // S1C
+        << setw(14) << setprecision(3) << obs.C2  << ' '  << ' '  // C2X
+        << setw(14) << setprecision(3) << obs.L2C << lli2 << ' '  // L2X
+        << setw(14) << setprecision(3) << obs.D2C << ' '  << ' '  // D2X
+        << setw(14) << setprecision(3) << obs.S2C << ' '  << ' '  // S2X
+        << setw(14) << setprecision(3) << obs.C5  << ' '  << ' '  // C5 
+        << setw(14) << setprecision(3) << obs.L5  << lli5 << ' '  // L5 
+        << setw(14) << setprecision(3) << obs.D5  << ' '  << ' '  // D5 
+        << setw(14) << setprecision(3) << obs.S5;                 // S5 
   }
   else if (obs.satSys == 'C') { // Compass
+    str << setw(14) << setprecision(3) << obs.C2  << ' '  << ' '  // C2I
+        << setw(14) << setprecision(3) << obs.L2C << lli2 << ' '  // L2I
+        << setw(14) << setprecision(3) << obs.D2C << ' '  << ' '  // D2I
+        << setw(14) << setprecision(3) << obs.S2C;                // S2I
   }
   return str.str();
