Index: trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 7936)
+++ trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 7940)
@@ -714,13 +714,20 @@
     case CODETYPEGALILEO_E1_B:      return "1B";
     case CODETYPEGALILEO_E1_C:      return "1C";
+    case CODETYPEGALILEO_E1_BC:     return "1X";
+    case CODETYPEGALILEO_E1_ABC:    return "1Z";
     case CODETYPEGALILEO_E5A_I:     return "5I";
     case CODETYPEGALILEO_E5A_Q:     return "5Q";
+    case CODETYPEGALILEO_E5A_IQ:    return "5X";
     case CODETYPEGALILEO_E5B_I:     return "7I";
     case CODETYPEGALILEO_E5B_Q:     return "7Q";
+    case CODETYPEGALILEO_E5B_IQ:    return "7X";
     case CODETYPEGALILEO_E5_I:      return "8I";
     case CODETYPEGALILEO_E5_Q:      return "8Q";
+    case CODETYPEGALILEO_E5_IQ:     return "8X";
     case CODETYPEGALILEO_E6_A:      return "6A";
     case CODETYPEGALILEO_E6_B:      return "6B";
     case CODETYPEGALILEO_E6_C:      return "6C";
+    case CODETYPEGALILEO_E6_BC:     return "6X";
+    case CODETYPEGALILEO_E6_ABC:    return "6Z";
     default: return "";
     }
@@ -732,7 +739,7 @@
     case CODETYPEQZSS_L1C_P:        return "1L";
     case CODETYPEQZSS_L1C_DP:       return "1X";
-    case CODETYPEQZSS_L2_CM:        return "2S";
-    case CODETYPEQZSS_L2_CL:        return "2L";
-    case CODETYPEQZSS_L2_CML:       return "2X";
+    case CODETYPEQZSS_L2C_M:        return "2S";
+    case CODETYPEQZSS_L2C_L:        return "2L";
+    case CODETYPEQZSS_L2C_ML:       return "2X";
     case CODETYPEQZSS_L5_I:         return "5I";
     case CODETYPEQZSS_L5_Q:         return "5Q";
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h	(revision 7936)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h	(revision 7940)
@@ -167,20 +167,27 @@
   CODETYPEGALILEO_E1_B       = 1,
   CODETYPEGALILEO_E1_C       = 2,
+  CODETYPEGALILEO_E1_BC      = 3,
+  CODETYPEGALILEO_E1_ABC     = 4,
   CODETYPEGALILEO_E5A_I      = 5,
   CODETYPEGALILEO_E5A_Q      = 6,
+  CODETYPEGALILEO_E5A_IQ     = 7,
   CODETYPEGALILEO_E5B_I      = 8,
   CODETYPEGALILEO_E5B_Q      = 9,
+  CODETYPEGALILEO_E5B_IQ     = 10,
   CODETYPEGALILEO_E5_I       = 11,
   CODETYPEGALILEO_E5_Q       = 12,
+  CODETYPEGALILEO_E5_IQ      = 13,
   CODETYPEGALILEO_E6_A       = 14,
   CODETYPEGALILEO_E6_B       = 15,
   CODETYPEGALILEO_E6_C       = 16,
+  CODETYPEGALILEO_E6_BC      = 17,
+  CODETYPEGALILEO_E6_ABC     = 18,
 
   CODETYPEQZSS_L1_CA         = 0,
   CODETYPEQZSS_L1C_D         = 1,
   CODETYPEQZSS_L1C_P         = 2,
-  CODETYPEQZSS_L2_CM         = 3,
-  CODETYPEQZSS_L2_CL         = 4,
-  CODETYPEQZSS_L2_CML        = 5,
+  CODETYPEQZSS_L2C_M         = 3,
+  CODETYPEQZSS_L2C_L         = 4,
+  CODETYPEQZSS_L2C_ML        = 5,
   CODETYPEQZSS_L5_I          = 6,
   CODETYPEQZSS_L5_Q          = 7,
Index: trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 7936)
+++ trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 7940)
@@ -765,4 +765,20 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+            else if (it.key() == "1X") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E1_BC;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+            else if (it.key() == "1Z") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E1_ABC;
+              biasSat->Biases[ii].Bias = it.value();
+            }
             else if (it.key() == "5I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -781,4 +797,12 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+            else if (it.key() == "5X") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E5A_IQ;
+              biasSat->Biases[ii].Bias = it.value();
+            }
             else if (it.key() == "7I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -797,4 +821,12 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+            else if (it.key() == "7X") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E5B_IQ;
+              biasSat->Biases[ii].Bias = it.value();
+            }
             else if (it.key() == "8I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -813,4 +845,12 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+            else if (it.key() == "8X") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E5_IQ;
+              biasSat->Biases[ii].Bias = it.value();
+            }
             else if (it.key() == "6A") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -835,4 +875,20 @@
               biasSat->NumberOfCodeBiases += 1;
               biasSat->Biases[ii].Type = CODETYPEGALILEO_E6_C;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+            else if (it.key() == "6X") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E6_BC;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+            else if (it.key() == "6Z") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGALILEO_E6_ABC;
               biasSat->Biases[ii].Bias = it.value();
             }
@@ -880,5 +936,5 @@
                 break;
               biasSat->NumberOfCodeBiases += 1;
-              biasSat->Biases[ii].Type = CODETYPEQZSS_L2_CM;
+              biasSat->Biases[ii].Type = CODETYPEQZSS_L2C_M;
               biasSat->Biases[ii].Bias = it.value();
             }
@@ -888,5 +944,5 @@
                 break;
               biasSat->NumberOfCodeBiases += 1;
-              biasSat->Biases[ii].Type = CODETYPEQZSS_L2_CL;
+              biasSat->Biases[ii].Type = CODETYPEQZSS_L2C_L;
               biasSat->Biases[ii].Bias = it.value();
             }
@@ -896,5 +952,5 @@
                 break;
               biasSat->NumberOfCodeBiases += 1;
-              biasSat->Biases[ii].Type = CODETYPEQZSS_L2_CML;
+              biasSat->Biases[ii].Type = CODETYPEQZSS_L2C_ML;
               biasSat->Biases[ii].Bias = it.value();
             }
@@ -1390,4 +1446,30 @@
                   pbSig.discCount;
             }
+            else if (pbSig.type == "1X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E1_BC;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
+            else if (pbSig.type == "1Z") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E1_ABC;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
             else if (pbSig.type == "5I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1416,4 +1498,17 @@
                   pbSig.discCount;
             }
+            else if (pbSig.type == "5X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E5A_IQ;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
             else if (pbSig.type == "7I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1442,4 +1537,17 @@
                   pbSig.discCount;
             }
+            else if (pbSig.type == "7X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E5B_IQ;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
             else if (pbSig.type == "8I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1468,4 +1576,17 @@
                   pbSig.discCount;
             }
+            else if (pbSig.type == "8X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E5_IQ;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
             else if (pbSig.type == "6A") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1500,4 +1621,30 @@
               phasebiasSat->NumberOfPhaseBiases += 1;
               phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E6_C;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
+            else if (pbSig.type == "6X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E6_BC;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }
+            else if (pbSig.type == "6Z") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGALILEO_E6_ABC;
               phasebiasSat->Biases[ii].Bias = pbSig.bias;
               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
@@ -1570,5 +1717,5 @@
                 break;
               phasebiasSat->NumberOfPhaseBiases += 1;
-              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2_CM;
+              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2C_M;
               phasebiasSat->Biases[ii].Bias = pbSig.bias;
               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
@@ -1583,5 +1730,5 @@
                 break;
               phasebiasSat->NumberOfPhaseBiases += 1;
-              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2_CL;
+              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2C_L;
               phasebiasSat->Biases[ii].Bias = pbSig.bias;
               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
@@ -1596,5 +1743,5 @@
                 break;
               phasebiasSat->NumberOfPhaseBiases += 1;
-              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2_CML;
+              phasebiasSat->Biases[ii].Type = CODETYPEQZSS_L2C_ML;
               phasebiasSat->Biases[ii].Bias = pbSig.bias;
               phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.intInd;
