Index: /trunk/BNC/RTCM/RTCM2Decoder.cpp
===================================================================
--- /trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 1166)
+++ /trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 1167)
@@ -79,4 +79,23 @@
   yy = _msg03.y + (_msg22.validMsg ? _msg22.dL1[1] : 0.0);
   zz = _msg03.z + (_msg22.validMsg ? _msg22.dL1[2] : 0.0);
+
+  return success;
+}
+
+//
+t_irc RTCM2Decoder::getStaCrd(double& xx, double& yy, double& zz,
+                              double& dx1, double& dy1, double& dz1,
+                              double& dx2, double& dy2, double& dz2) {
+  xx = _msg03.x;
+  yy = _msg03.y;
+  zz = _msg03.z;
+
+  dx1 = (_msg22.validMsg ? _msg22.dL1[0] : 0.0);
+  dy1 = (_msg22.validMsg ? _msg22.dL1[1] : 0.0);
+  dz1 = (_msg22.validMsg ? _msg22.dL1[2] : 0.0);
+
+  dx2 = (_msg22.validMsg ? _msg22.dL2[0] : 0.0);
+  dy2 = (_msg22.validMsg ? _msg22.dL2[1] : 0.0);
+  dz2 = (_msg22.validMsg ? _msg22.dL2[2] : 0.0);
 
   return success;
Index: /trunk/BNC/RTCM/RTCM2Decoder.h
===================================================================
--- /trunk/BNC/RTCM/RTCM2Decoder.h	(revision 1166)
+++ /trunk/BNC/RTCM/RTCM2Decoder.h	(revision 1167)
@@ -46,4 +46,8 @@
     t_irc getStaCrd(double& xx, double& yy, double& zz);
 
+    t_irc getStaCrd(double& xx, double& yy, double& zz,
+                    double& dx1, double& dy1, double& dz1,
+                    double& dx2, double& dy2, double& dz2);
+
     const rtcm2::RTCM2_2021& msg2021() const { return _msg2021; }
 
Index: /trunk/BNC/RTCM/RTCM2_2021.cpp
===================================================================
--- /trunk/BNC/RTCM/RTCM2_2021.cpp	(revision 1166)
+++ /trunk/BNC/RTCM/RTCM2_2021.cpp	(revision 1167)
@@ -223,4 +223,8 @@
   dL1[1] = P.getBits( 8, 8) * dL1unit;
   dL1[2] = P.getBits(16, 8) * dL1unit;
+
+  dL2[0] = 0.0;
+  dL2[1] = 0.0;
+  dL2[2] = 0.0;
 }
 
Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 1166)
+++ /trunk/BNC/bncgetthread.cpp	(revision 1167)
@@ -734,4 +734,31 @@
 	    bool dump = true;
 
+	    RTCM2Decoder* decoder2 = dynamic_cast<RTCM2Decoder*>(_decoder);
+	    if ( decoder2 && !_rnx_set_position ) {
+	      double stax, stay, staz;
+	      double dL1[3], dL2[3];
+	      if ( decoder2->getStaCrd(stax, stay, staz,
+                                       dL1[0], dL1[1], dL1[2], 
+                                       dL2[0], dL2[1], dL2[2]) == success ) {
+                QByteArray msg;
+                QTextStream out(&msg);
+                out.setRealNumberNotation(QTextStream::FixedNotation);
+                out.setRealNumberPrecision(5);
+                ////	_rnx->setApproxPos(stax, stay, staz);
+                out << "STA " << staID()
+                    << ' '    << qSetFieldWidth(15) << stax
+                    << ' '    << qSetFieldWidth(15) << stay
+                    << ' '    << qSetFieldWidth(15) << staz
+                    << " L1 " << qSetFieldWidth(10) << dL1[0]
+                    << ' '    << qSetFieldWidth(10) << dL1[1]
+                    << ' '    << qSetFieldWidth(10) << dL1[2]
+                    << " L2 " << qSetFieldWidth(10) << dL2[0]
+                    << ' '    << qSetFieldWidth(10) << dL2[1]
+                    << ' '    << qSetFieldWidth(10) << dL2[2] << endl;
+	    	_rnx_set_position = true;
+                emit newMessage(msg);
+              }
+            }
+
 	    ////RTCM2Decoder* decoder2 = dynamic_cast<RTCM2Decoder*>(_decoder);
 	    ////if ( decoder2 && !_rnx_set_position ) {
