Index: trunk/BNC/RTCM/GPSDecoder.h
===================================================================
--- trunk/BNC/RTCM/GPSDecoder.h	(revision 1268)
+++ trunk/BNC/RTCM/GPSDecoder.h	(revision 1269)
@@ -158,5 +158,5 @@
   QList<int>       _typeList;  // RTCM   message types
   QList<int>       _epochList; // Broadcast corrections
-  QStringList      _antType;   // RTCMv3 antenna descriptor
+  QStringList      _antType;   // RTCM   antenna descriptor
   QList<t_antInfo> _antList;   // RTCM   antenna XYZ
 };
Index: trunk/BNC/RTCM/RTCM2Decoder.cpp
===================================================================
--- trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 1268)
+++ trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 1269)
@@ -183,12 +183,39 @@
     }
 
+    else if ( _PP.ID() == 23 ) {
+      _msg23.extract(_PP);
+    }
+
+    else if ( _PP.ID() == 24 ) {
+      _msg24.extract(_PP);
+    }
+
     // Output for RTCM scan
-    if ( _PP.ID() == 3 ) {
-      _antList.push_back(t_antInfo());
-
-      this->getStaCrd(_antList.back().xx, _antList.back().yy, _antList.back().zz);
-
-      _antList.back().type     = t_antInfo::APC;
-      _antList.back().message  = _PP.ID();
+    if     ( _PP.ID() == 3 ) {
+      if ( _msg03.validMsg ) {
+	_antList.push_back(t_antInfo());
+	
+	this->getStaCrd(_antList.back().xx, _antList.back().yy, _antList.back().zz);
+	
+	_antList.back().type     = t_antInfo::APC;
+	_antList.back().message  = _PP.ID();
+      }
+    }
+    else if ( _PP.ID() == 23 ) {
+      if ( _msg23.validMsg ) {
+	_antType.push_back(_msg23.antType.c_str());
+      }
+    }
+    else if ( _PP.ID() == 24 ) {
+      if ( _msg24.validMsg ) {
+	_antList.push_back(t_antInfo());
+	
+	_antList.back().xx = _msg24.x;
+	_antList.back().yy = _msg24.y;
+	_antList.back().zz = _msg24.z;
+	
+	_antList.back().type     = t_antInfo::ARP;
+	_antList.back().message  = _PP.ID();
+      }
     }
   }
Index: trunk/BNC/RTCM/RTCM2Decoder.h
===================================================================
--- trunk/BNC/RTCM/RTCM2Decoder.h	(revision 1268)
+++ trunk/BNC/RTCM/RTCM2Decoder.h	(revision 1269)
@@ -133,4 +133,6 @@
     rtcm2::RTCM2_03           _msg03;
     rtcm2::RTCM2_22           _msg22;
+    rtcm2::RTCM2_23           _msg23;
+    rtcm2::RTCM2_24           _msg24;
     rtcm2::RTCM2_2021         _msg2021;
     std::map<std::string, t_ephList*> _ephList;
Index: trunk/BNC/RTCM/RTCM2_2021.h
===================================================================
--- trunk/BNC/RTCM/RTCM2_2021.h	(revision 1268)
+++ trunk/BNC/RTCM/RTCM2_2021.h	(revision 1269)
@@ -66,5 +66,7 @@
 class RTCM2_22 {
  public:
-  RTCM2_22() { }
+  RTCM2_22() { 
+    validMsg = false;
+  }
   
   void extract(const RTCM2packet& P);
