Index: trunk/BNC/src/RTCM/GPSDecoder.cpp
===================================================================
--- trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 5374)
+++ trunk/BNC/src/RTCM/GPSDecoder.cpp	(revision 5375)
@@ -189,5 +189,5 @@
     }
     else if (rnxStr[2] == 'X') {
-      if (satSys == 'C') {
+      if (satSys == 'C' || satSys == 'E') {
         res += GNSSENTRY_TYPEC1;
       }
@@ -210,5 +210,13 @@
       res += GNSSENTRY_TYPEC2;
     }
-    else if (QString("IQ").indexOf(rnxStr[2]) != -1) {
+    else if (rnxStr[2] == 'I') {
+      if (satSys == 'C') {
+        res += GNSSENTRY_TYPEC1;  // Compass: RINEX 3.01 "2I" corresponds to "1I" RINEX 3.02
+      }
+      else {
+        res += GNSSENTRY_TYPEC2;
+      }
+    }
+    else if (rnxStr[2] == 'Q') {
       res += GNSSENTRY_TYPEC2;
     }
Index: trunk/BNC/src/bnccore.cpp
===================================================================
--- trunk/BNC/src/bnccore.cpp	(revision 5374)
+++ trunk/BNC/src/bnccore.cpp	(revision 5375)
@@ -49,4 +49,6 @@
 #include "bncversion.h" 
 #include "RTCM3/ephemeris.h" 
+#include "rinex/rnxobsfile.h" 
+#include "rinex/rnxnavfile.h" 
 
 #ifdef USE_COMBINATION
@@ -464,6 +466,6 @@
       if (! (appendFlagGPS & QIODevice::Append)) {
         QString line;
-        line.sprintf(
-          "%9.2f%11sN: GPS NAV DATA%25sRINEX VERSION / TYPE\n", 2.10, "", "");
+        line.sprintf("%9.2f%11sN: GPS NAV DATA%25sRINEX VERSION / TYPE\n",
+                     t_rnxNavFile::defaultRnxNavVersion2, "", "");
         *_ephStreamGPS << line;
          
@@ -481,6 +483,6 @@
       if (! (appendFlagGlonass & QIODevice::Append)) {
         QString line;
-        line.sprintf(
-          "%9.2f%11sG: GLONASS NAV DATA%21sRINEX VERSION / TYPE\n",2.10,"","");
+        line.sprintf("%9.2f%11sG: GLONASS NAV DATA%21sRINEX VERSION / TYPE\n",
+                     t_rnxNavFile::defaultRnxNavVersion2, "", "");
         *_ephStreamGlonass << line;
         
@@ -507,6 +509,6 @@
   eph.set(ep);
 
-  QString strV2 = eph.toString(2.11);
-  QString strV3 = eph.toString(3.01);
+  QString strV2 = eph.toString(t_rnxNavFile::defaultRnxNavVersion2);
+  QString strV3 = eph.toString(t_rnxObsHeader::defaultRnxObsVersion3);
 
   printOutput(printFile, _ephStreamGPS, strV2, strV3);
@@ -515,11 +517,11 @@
 // Print One Glonass Ephemeris
 ////////////////////////////////////////////////////////////////////////////
-void t_bncCore::printGlonassEph(glonassephemeris* ep, bool printFile, const QString& staID) {
+void t_bncCore::printGlonassEph(glonassephemeris* ep, bool printFile, const QString& /* staID */) {
 
   t_ephGlo eph;
   eph.set(ep);
 
-  QString strV2 = eph.toString(2.11);
-  QString strV3 = eph.toString(3.01);
+  QString strV2 = eph.toString(t_rnxNavFile::defaultRnxNavVersion2);
+  QString strV3 = eph.toString(t_rnxObsHeader::defaultRnxObsVersion3);
 
   //// beg test Dirk
@@ -538,6 +540,6 @@
   eph.set(ep);
 
-  QString strV2 = eph.toString(2.11);
-  QString strV3 = eph.toString(3.01);
+  QString strV2 = eph.toString(t_rnxNavFile::defaultRnxNavVersion2);
+  QString strV3 = eph.toString(t_rnxObsHeader::defaultRnxObsVersion3);
 
   printOutput(printFile, _ephStreamGalileo, strV2, strV3);
Index: trunk/BNC/src/rinex/rnxnavfile.h
===================================================================
--- trunk/BNC/src/rinex/rnxnavfile.h	(revision 5374)
+++ trunk/BNC/src/rinex/rnxnavfile.h	(revision 5375)
@@ -39,4 +39,6 @@
  public:
   enum e_inpOut {input, output};
+  static const double defaultRnxNavVersion2 = 2.11;
+  static const double defaultRnxNavVersion3 = 3.01;
 
  private:
Index: trunk/BNC/src/rinex/rnxobsfile.h
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.h	(revision 5374)
+++ trunk/BNC/src/rinex/rnxobsfile.h	(revision 5375)
@@ -40,4 +40,7 @@
 class t_rnxObsHeader {
  public:
+  static const double defaultRnxObsVersion2 = 2.11;
+  static const double defaultRnxObsVersion3 = 3.02;
+
   t_rnxObsHeader();
   ~t_rnxObsHeader();
