Index: branches/BNC_2.12/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h
===================================================================
--- branches/BNC_2.12/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h	(revision 8002)
+++ branches/BNC_2.12/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.h	(revision 8005)
@@ -158,4 +158,7 @@
   CODETYPEGPS_L5_Q           = 15,
   CODETYPEGPS_L5_IQ          = 16,
+  CODETYPEGPS_L1C_D          = 17,
+  CODETYPEGPS_L1C_P          = 18,
+  CODETYPEGPS_L1C_DP         = 19,
 
   CODETYPEGLONASS_L1_CA      = 0,
@@ -167,20 +170,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: branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8002)
+++ branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8005)
@@ -601,4 +601,28 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+            else if (it.key() == "1S") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGPS_L1C_D;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+            else if (it.key() == "1L") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPEGPS_L1C_P;
+              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 = CODETYPEGPS_L1C_DP;
+              biasSat->Biases[ii].Bias = it.value();
+            }
             else if (it.key() == "1P") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -765,4 +789,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 +821,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 +845,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 +869,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 +899,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 +960,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 +968,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 +976,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();
             }
@@ -1131,4 +1211,43 @@
                   pbSig.discCount;
             }
+                        else if (pbSig.type == "1S") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGPS_L1C_D;
+              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 == "1L") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGPS_L1C_P;
+              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 == "1X") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPEGPS_L1C_P;
+              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 == "1P") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1390,4 +1509,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 +1561,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 +1600,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 +1639,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;
@@ -1507,4 +1691,30 @@
                   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;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator =
+                  pbSig.wlInd;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter =
+                  pbSig.discCount;
+            }            
           }
         }
@@ -1570,5 +1780,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 +1793,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 +1806,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;
