Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 6594)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 6595)
@@ -78,4 +78,5 @@
   connect(this, SIGNAL(newGalileoEph(t_ephGal)), BNC_CORE, SLOT(slotNewGalileoEph(t_ephGal)));
   connect(this, SIGNAL(newSBASEph(t_ephSBAS)),   BNC_CORE, SLOT(slotNewSBASEph(t_ephSBAS)));
+  connect(this, SIGNAL(newCompassEph(t_ephCompass)), BNC_CORE, SLOT(slotNewCompassEph(t_ephCompass)));
 
   // Mode can be either observations or corrections
@@ -410,4 +411,12 @@
             emit newSBASEph(eph);
           }
+
+          // COMPASS Ephemeris
+          // -----------------
+          else if (rr == 63) {
+            decoded = true;
+//            t_ephCompass eph; eph.set(&parser.ephemerisCompass);
+//            emit newCompassEph(eph);
+          }
         }
       }
Index: trunk/BNC/src/RTCM3/RTCM3Decoder.h
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.h	(revision 6594)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.h	(revision 6595)
@@ -52,4 +52,5 @@
   void newSBASEph(t_ephSBAS eph);
   void newGalileoEph(t_ephGal eph);
+  void newCompassEph(t_ephCompass eph);
 
  private:
Index: trunk/BNC/src/bnccore.cpp
===================================================================
--- trunk/BNC/src/bnccore.cpp	(revision 6594)
+++ trunk/BNC/src/bnccore.cpp	(revision 6595)
@@ -250,4 +250,11 @@
 }
 
+// New Compass Ephemeris
+////////////////////////////////////////////////////////////////////////////
+void t_bncCore::slotNewCompassEph(t_ephCompass eph) {
+  if (checkPrintEph(&eph) == success) {
+    emit newCompassEph(eph);
+  }
+}
 
 // Print Header of the output File(s)
Index: trunk/BNC/src/bnccore.h
===================================================================
--- trunk/BNC/src/bnccore.h	(revision 6594)
+++ trunk/BNC/src/bnccore.h	(revision 6595)
@@ -80,4 +80,5 @@
   void slotNewGalileoEph(t_ephGal);
   void slotNewSBASEph(t_ephSBAS);
+  void slotNewCompassEph(t_ephCompass);
   void slotNewOrbCorrections(QList<t_orbCorr>);
   void slotNewClkCorrections(QList<t_clkCorr>);
@@ -93,4 +94,5 @@
   void newSBASEph(t_ephSBAS eph);
   void newGalileoEph(t_ephGal eph);
+  void newCompassEph(t_ephCompass eph);
   void newOrbCorrections(QList<t_orbCorr>);
   void newClkCorrections(QList<t_clkCorr>);
Index: trunk/BNC/src/bncephuser.cpp
===================================================================
--- trunk/BNC/src/bncephuser.cpp	(revision 6594)
+++ trunk/BNC/src/bncephuser.cpp	(revision 6595)
@@ -61,4 +61,7 @@
     connect(BNC_CORE, SIGNAL(newSBASEph(t_ephSBAS)),
             this, SLOT(slotNewSBASEph(t_ephSBAS)), Qt::DirectConnection);
+
+    connect(BNC_CORE, SIGNAL(newCompassEph(t_ephCompass)),
+            this, SLOT(slotNewCompassEph(t_ephCompass)), Qt::DirectConnection);
   }
 }
@@ -98,4 +101,10 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncEphUser::slotNewSBASEph(t_ephSBAS eph) {
+  putNewEph(&eph, false);
+}
+
+// New Compass Ephemeris
+////////////////////////////////////////////////////////////////////////////
+void bncEphUser::slotNewCompassEph(t_ephCompass eph) {
   putNewEph(&eph, false);
 }
Index: trunk/BNC/src/bncephuser.h
===================================================================
--- trunk/BNC/src/bncephuser.h	(revision 6594)
+++ trunk/BNC/src/bncephuser.h	(revision 6595)
@@ -42,4 +42,5 @@
   void slotNewGalileoEph(t_ephGal);
   void slotNewSBASEph(t_ephSBAS);
+  void slotNewCompassEph(t_ephCompass);
 
  public:
