Index: branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8946)
+++ branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp	(revision 8987)
@@ -150,9 +150,10 @@
     _t0  = 2020.0;
   }
-  // Transformation Parameters from IGb14 to SIRGAS2000 (Sonia Costa, BRA)
+  // Transformation Parameters from IGb14 to SIRGAS2000 (Thanks to Sonia Costa, BRA)
+  // June 29 2020: TX:-0.0027 m  TY:-0.0025 m  TZ:-0.0042 m  SCL:1.20 (ppb) no rotations and no rates.*/
   else if (_crdTrafo == "SIRGAS2000") {
-    _dx  =  0.0026;
-    _dy  =  0.0018;
-    _dz  = -0.0061;
+    _dx  = -0.0027;
+    _dy  = -0.0025;
+    _dz  = -0.0042;
 
     _dxr =  0.0000;
@@ -168,5 +169,5 @@
     _ozr =  0.000000;
 
-    _sc  = -1.00000;
+    _sc  =  1.20000;
     _scr =  0.00000;
     _t0  =  2000.0;
@@ -553,10 +554,11 @@
       else if (prn.system() == 'E') {
         sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-            + co.NumberOfSat[CLOCKORBIT_SATGALILEO];
+           + co.NumberOfSat[CLOCKORBIT_SATGALILEO];
         ++co.NumberOfSat[CLOCKORBIT_SATGALILEO];
       }
       else if (prn.system() == 'J') {
         sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-            + CLOCKORBIT_NUMGALILEO + co.NumberOfSat[CLOCKORBIT_SATQZSS];
+           + CLOCKORBIT_NUMGALILEO
+           + co.NumberOfSat[CLOCKORBIT_SATQZSS];
         ++co.NumberOfSat[CLOCKORBIT_SATQZSS];
       }
@@ -569,5 +571,6 @@
       else if (prn.system() == 'C') {
         sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-            + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS
+            + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+            + CLOCKORBIT_NUMSBAS
             + co.NumberOfSat[CLOCKORBIT_SATBDS];
         ++co.NumberOfSat[CLOCKORBIT_SATBDS];
@@ -594,27 +597,29 @@
         else if (prn.system() == 'R') {
           biasSat = bias.Sat + CLOCKORBIT_NUMGPS
-              + bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+                  + bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
           ++bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
         }
         else if (prn.system() == 'E') {
           biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-              + bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+                  + bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
           ++bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
         }
         else if (prn.system() == 'J') {
           biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-              + CLOCKORBIT_NUMGALILEO + bias.NumberOfSat[CLOCKORBIT_SATQZSS];
+                  + CLOCKORBIT_NUMGALILEO
+                  + bias.NumberOfSat[CLOCKORBIT_SATQZSS];
           ++bias.NumberOfSat[CLOCKORBIT_SATQZSS];
         }
         else if (prn.system() == 'S') {
           biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-              + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-              + bias.NumberOfSat[CLOCKORBIT_SATSBAS];
+                  + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                  + bias.NumberOfSat[CLOCKORBIT_SATSBAS];
           ++bias.NumberOfSat[CLOCKORBIT_SATSBAS];
         }
         else if (prn.system() == 'C') {
           biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-              + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS
-              + bias.NumberOfSat[CLOCKORBIT_SATBDS];
+                  + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                  + CLOCKORBIT_NUMSBAS
+                  + bias.NumberOfSat[CLOCKORBIT_SATBDS];
           ++bias.NumberOfSat[CLOCKORBIT_SATBDS];
         }
@@ -652,4 +657,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "1X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -660,4 +666,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "1P") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -708,4 +715,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "2X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -716,4 +724,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "2P") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -748,4 +757,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "5X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -756,4 +766,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
           }
         }
@@ -810,4 +821,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "4X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -818,4 +830,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "6A") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -834,4 +847,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "6X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -842,4 +856,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "3I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -858,4 +873,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "3X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -866,4 +882,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
           }
         }
@@ -896,4 +913,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "1X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -912,4 +930,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "5I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -928,4 +947,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "5X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -936,4 +956,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "7I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -952,4 +973,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "7X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -984,4 +1006,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "6A") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1008,4 +1031,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "6X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1024,4 +1048,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
           }
         }
@@ -1070,4 +1095,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "2X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1078,4 +1104,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "5I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1094,4 +1121,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "5X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1102,4 +1130,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "6S") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1118,4 +1147,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "6X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1166,4 +1196,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "6E") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1174,4 +1205,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "6Z") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1182,4 +1214,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
           }
         }
@@ -1212,4 +1245,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "5X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1220,4 +1254,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
           }
         }
@@ -1242,4 +1277,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "2X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1250,4 +1286,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "6I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1266,4 +1303,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "6X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1274,4 +1312,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "7I") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1290,4 +1329,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "7X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1298,4 +1338,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "1D") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1314,4 +1355,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "1X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1322,4 +1364,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#endif
             else if (it.key() == "5D") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1338,4 +1381,5 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#ifdef USE_SSR_RTCM
             else if (it.key() == "5X") {
               int ii = biasSat->NumberOfCodeBiases;
@@ -1346,47 +1390,63 @@
               biasSat->Biases[ii].Bias = it.value();
             }
+#elif USE_SSR_IGS
+            else if (it.key() == "1A") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPE_BDS_B1_A;
+              biasSat->Biases[ii].Bias = it.value();
           }
-        }
-      }
+            else if (it.key() == "6A") {
+              int ii = biasSat->NumberOfCodeBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = CODETYPE_BDS_B3_A;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+#endif
+          }
+        }
+      }
+      
       // Phase Biases
       // ------------
       struct PhaseBias::PhaseBiasSat* phasebiasSat = 0;
-//      if (!phaseBiasList.isEmpty()) { // to allow yaw angle without phase bias list
-        if (prn.system() == 'G') {
-          phasebiasSat = phasebias.Sat
-              + phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
-        }
-        else if (prn.system() == 'R') {
-          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-              + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
-        }
-        else if (prn.system() == 'E') {
-          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-              + CLOCKORBIT_NUMGLONASS
-              + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
-        }
-        else if (prn.system() == 'J') {
-          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-              + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
-              + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
-        }
-        else if (prn.system() == 'S') {
-          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-              + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
-              + CLOCKORBIT_NUMQZSS + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
-        }
-        else if (prn.system() == 'C') {
-          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-              + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO
-              + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS
-              + phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
-          ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
-        }
-      //}
+      if (prn.system()      == 'G') {
+        phasebiasSat = phasebias.Sat
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
+      }
+      else if (prn.system() == 'R') {
+        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+      }
+      else if (prn.system() == 'E') {
+        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+      }
+      else if (prn.system() == 'J') {
+        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                     + CLOCKORBIT_NUMGALILEO
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
+      }
+      else if (prn.system() == 'S') {
+        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                     + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
+      }
+      else if (prn.system() == 'C') {
+        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                     + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                     + CLOCKORBIT_NUMSBAS
+                     + phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
+        ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
+      }
 
       if (phasebiasSat) {
@@ -1478,4 +1538,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "2X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1489,4 +1550,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "2P") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1533,4 +1595,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "5X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1544,4 +1607,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "1S") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1566,4 +1630,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "1X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1577,4 +1642,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
           }
         }
@@ -1649,4 +1715,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "4X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1660,4 +1727,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "6A") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1682,4 +1750,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "6X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1693,4 +1762,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "3I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1715,4 +1785,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "3X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1726,4 +1797,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
           }
         }
@@ -1765,4 +1837,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "1X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1787,4 +1860,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "5I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1809,4 +1883,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "5X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1820,4 +1895,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "7I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1842,4 +1918,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "7X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1886,4 +1963,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "6A") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1919,4 +1997,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "6X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -1941,4 +2020,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
           }
         }
@@ -2001,4 +2081,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "2X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2011,4 +2092,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "5I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2033,4 +2115,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "5X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2044,4 +2127,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "6S") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2066,4 +2150,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "6X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2077,5 +2162,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
-            else if (pbSig.type == "1X") {
+                        else if (pbSig.type == "1X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
               if (ii >= CLOCKORBIT_NUMBIAS)
@@ -2132,4 +2217,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "6E") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2143,4 +2229,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "6Z") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2154,4 +2241,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
           }
         }
@@ -2192,4 +2280,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "5X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2203,4 +2292,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
           }
         }
@@ -2231,4 +2321,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "2X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2242,4 +2333,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "6I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2264,4 +2356,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "6X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2275,4 +2368,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "7I") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2297,4 +2391,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "7X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2307,4 +2402,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "1D") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2327,4 +2423,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "1X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2337,4 +2434,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#endif
             else if (pbSig.type == "5D") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2357,4 +2455,5 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#ifdef USE_SSR_RTCM
             else if (pbSig.type == "5X") {
               int ii = phasebiasSat->NumberOfPhaseBiases;
@@ -2367,4 +2466,26 @@
               phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
             }
+#elif USE_SSR_IGS
+            else if (pbSig.type == "1A") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPE_BDS_B1_A;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
+            }
+            else if (pbSig.type == "6A") {
+              int ii = phasebiasSat->NumberOfPhaseBiases;
+              if (ii >= CLOCKORBIT_NUMBIAS)
+                break;
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = CODETYPE_BDS_B3_A;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
+            }
+#endif
           }
         }
@@ -2372,4 +2493,5 @@
     }
   }
+
 
   QByteArray hlpBufferCo;
@@ -2525,5 +2647,5 @@
       || bias.NumberOfSat[CLOCKORBIT_SATBDS] > 0) {
     char obuffer[CLOCKORBIT_BUFFERSIZE];
-    int len = MakeCodeBias(&bias, BTYPE_AUTO, 0, obuffer, sizeof(obuffer));
+    int len = MakeCodeBias(&bias, CBTYPE_AUTO, 0, obuffer, sizeof(obuffer));
     if (len > 0) {
       hlpBufferBias = QByteArray(obuffer, len);
