Index: trunk/BNC/bnchelp.html
===================================================================
--- trunk/BNC/bnchelp.html	(revision 2340)
+++ trunk/BNC/bnchelp.html	(revision 2341)
@@ -988,9 +988,17 @@
 <p><a name="pppmount"><h4>3.11.1 Mountpoint - optional</h4></p>
 <p>
-Specify a mountpoint if you want BNC to derive coordinates for the affected rover position through a PPP solution.
+Specify a mountpoint if you want BNC to derive coordinates for the affected rover position through a Point Positioning solution. 
+</p>
+<p>
+Furthermore, specify the Point Positioning method you want to apply. Options are 
+<ul>
+<li> Precise Point Positioning (PPP, default), and </li>
+<li> Single Point Positioning (SPP).</li>
+</ul>
+Note that a plain SPP solution does not require to pull a stream carrying Broadcast Ephemeris Corrections. It only needs Broadcast Ephemeris.
 </p>
 
 <p><a name="pppopt"><h4>3.11.2 Options</h4></p>
-BNC allows to use different PPP processing options depending on the capability of the involved receiver and the application in mind.
+BNC allows to use different Point Positioning processing options depending on the capability of the involved receiver and the application in mind.
 </p>
 
@@ -1002,5 +1010,5 @@
 <p><a name="pppphase"><h4>3.11.2.2 Use Phase Obs - optional</h4></p>
 <p>
-By default BNC applies a PPP solution using an ionosphere free P3 linear combination of code observations. Tick 'Use phase obs' for an ionosphere free L3 linear combination of phase observations.
+By default BNC applies a Point Positioning solution using an ionosphere free P3 linear combination of code observations. Tick 'Use phase obs' for an ionosphere free L3 linear combination of phase observations.
 </p>
 
@@ -1019,10 +1027,10 @@
 <p><a name="pppglo"><h4>3.11.2.4 Use GLONASS - optional</h4></p>
 <p>
-By default BNC does not process GLONASS observations in PPP mode. Tick 'Use GLONASS' to use GPS and GLONASS observations for estimating coordinates in Precise Point Positioning mode.
+By default BNC does not process GLONASS observations when in Point Positioning mode. Tick 'Use GLONASS' to use GPS and GLONASS observations for estimating coordinates in Point Positioning mode.
 </p>
 
 <p><a name="pppnmearef"><h4>3.11.3 Plot Origin - optional</h4></p>
 <p>
-Select an origin for North/East/Up time series plots in the 'PPP Plot' tab. Note that this makes only sense for a stationary receiver. Available options are
+Select an origin for North/East/Up time series plots of derived coordinates in the 'PPP Plot' tab. Note that this makes only sense for a stationary receiver. Available options are
 <ul>
 <li>'Start position', meaning that BNC will refer time series plots to the first estimated position.
@@ -1036,5 +1044,5 @@
 <p><a name="pppnmeaout"><h4>3.11.4 NMEA</h4></p>
 <p>
-BNC allows to output results from Precise Point Positioning in NMEA format. The NMEA messages generated are
+BNC allows to output results from Point Positioning in NMEA format. The NMEA messages generated are
 <ul>
 <li> one leading GPRMC message which carries only date and time information, plus</li>
@@ -1045,10 +1053,10 @@
 <p><a name="pppnmeafile"><h4>3.11.4.1 File - optional</h4></p>
 <p>
-Specify the full path to a file where Precise Point Positioning results are saved as NMEA messages. The generated NMEA file begins with a single GPRMC message which carries only date and time information. The default value for 'File (full path)' is an empty option field, meaning that BNC will not saved NMEA messages into a file.
+Specify the full path to a file where Point Positioning results are saved as NMEA messages. The generated NMEA file begins with a single GPRMC message which carries only date and time information. The default value for 'File (full path)' is an empty option field, meaning that BNC will not saved NMEA messages into a file.
 </p>
 
 <p><a name="pppnmeaport"><h4>3.11.4.2 Port - optional</h4></p>
 <p>
-Specify the IP port number of a local port where Precise Point Positioning results become available as NMEA messages. The default value for 'Port' is an empty option field, meaning that BNC does not provide NMEA messsages vi IP port. Note that the NMEA file output and the NMEA IP port output are the same. 
+Specify the IP port number of a local port where Point Positioning results become available as NMEA messages. The default value for 'Port' is an empty option field, meaning that BNC does not provide NMEA messsages vi IP port. Note that the NMEA file output and the NMEA IP port output are the same. 
 </p>
 
@@ -1697,4 +1705,5 @@
 <tr><td>waitTime=5</td><td>Feed Engine: Wait for full epoch</td></tr>
 <tr><td>pppMount=</td><td>PPP Client: Mountpoint</td></tr>
+<tr><td>pppSPP=</td><td>PPP Client: PPP/SPP</td></tr>
 <tr><td>pppStatic=0</td><td>PPP Client: Static mode</td></tr>
 <tr><td>pppUsePhase=0</td><td>PPP Client: Use phase data </td></tr>
Index: trunk/BNC/bncpppclient.cpp
===================================================================
--- trunk/BNC/bncpppclient.cpp	(revision 2340)
+++ trunk/BNC/bncpppclient.cpp	(revision 2341)
@@ -336,5 +336,5 @@
       t_bias* bb = 0;
       if (_bias.contains(prn)) {
-        bb = _bias.value(prn); 
+        bb = _bias.value(prn);
       }
       else {
@@ -352,8 +352,8 @@
 	in >> bType >> bValue;
         if      (bType ==  0) {
-          bb->p1c1 = -bValue;
+          bb->p1c1 = -bValue * t_CST::c ; // Weber
 	}
         else if (bType == 10) {
-          bb->p1p2 = -bValue;
+          bb->p1p2 = -bValue * t_CST::c ; // Weber
 	}
       }
@@ -377,6 +377,8 @@
                               ColumnVector& xc, ColumnVector& vv, bool& corr) {
 
-  const bool   CORR_REQUIRED = true;
+//const bool   CORR_REQUIRED = true;
+  bncSettings settings;
   const double MAXAGE        = 120.0;
+
 
   corr = false;
@@ -386,5 +388,6 @@
     ee->position(tt.gpsw(), tt.gpssec(), xc.data(), vv.data());
 
-    if (CORR_REQUIRED) {
+//  if (CORR_REQUIRED) {
+    if (settings.value("pppSPP").toString() == "PPP") {
       if (_corr.contains(prn)) {
         t_corr* cc = _corr.value(prn);
@@ -414,8 +417,8 @@
   RSW_to_XYZ(xc.Rows(1,3), vv, raoHlp, dx);
 
-  xc[0] -= dx[0];
-  xc[1] -= dx[1];
-  xc[2] -= dx[2];
-  xc[3] -= cc->dClk;
+    xc[0] -= dx[0];
+    xc[1] -= dx[1];
+    xc[2] -= dx[2];
+    xc[3] -= cc->dClk;
 
   // Relativistic Correction
Index: trunk/BNC/bncsettings.cpp
===================================================================
--- trunk/BNC/bncsettings.cpp	(revision 2340)
+++ trunk/BNC/bncsettings.cpp	(revision 2341)
@@ -77,5 +77,5 @@
     setValue("waitTime",         "5");
     setValue("pppMount",         "");
-    setValue("pppNavi",          "");
+    setValue("pppSPP",           "PPP");
     setValue("pppStatic",        "");
     setValue("pppUsePhase",      "");
Index: trunk/BNC/bncwindow.cpp
===================================================================
--- trunk/BNC/bncwindow.cpp	(revision 2340)
+++ trunk/BNC/bncwindow.cpp	(revision 2341)
@@ -350,7 +350,11 @@
     _pppOriginComboBox->setCurrentIndex(ij);
   }
-  _pppNaviCheckBox     = new QCheckBox();
-  _pppNaviCheckBox->setCheckState(Qt::CheckState(
-                                    settings.value("pppNavi").toInt()));
+  _pppSPPComboBox = new QComboBox();
+  _pppSPPComboBox->setEditable(false);
+  _pppSPPComboBox->addItems(QString("PPP,SPP").split(","));
+  int ik = _pppSPPComboBox->findText(settings.value("pppSPP").toString());
+  if (ik != -1) {
+    _pppSPPComboBox->setCurrentIndex(ik);
+  }
   _pppStaticCheckBox   = new QCheckBox();
   _pppStaticCheckBox->setCheckState(Qt::CheckState(
@@ -447,5 +451,5 @@
   _serialHeightNMEALineEdit->setWhatsThis(tr("<p>Specify an approximate 'Height' above mean sea level in meter for your VRS to simulate an inital NMEA-GGA message.</p><p>The setting of this option is ignored in case of streams coming from physical reference stations.</p>"));
   _pppMountLineEdit->setWhatsThis(tr("<p>Specify a mountpoint if you want BNC to estimate coordinates for the affected receiver position through a PPP solution.</p><p>Note that PPP in BNC requires to also pull a stream carrying RTCM Version 3 satellite orbit and clock corrections to Broadcast Ephemeris referring to the satellites' Antenna Phase Centers (APC). Stream CLK11 on NTRIP broadcaster www.igs-ip.net is an example.</p><p>Pulling in addition a third stream carrying Broadcast Ephemeris messages in high repetition rate is suggested if such messages are comeing from the receiver only in low repetition rate or dont come at all from there.</p>"));
-  _pppNaviCheckBox->setWhatsThis(tr("<p>Don't apply any Broadcast Ephemeris Corrections, carry out plain Navigation Solution.</p>"));
+  _pppSPPComboBox->setWhatsThis(tr("<p>Choose between plain Single Point Positioning (SPP) and Precise Point Positioning (PPP).</p><p>Note that SPP doesn not require to pull a stream of Broadcast Ephemeris Corrections.</p>"));
   _pppStaticCheckBox->setWhatsThis(tr("<p>By default BNC considers the rover receiver as mobile.</p><p>Tick 'Static' to consider a static observation sitatuion and adapt appropriate filter characteristics for that.</p>"));
   _pppUsePhaseCheckBox->setWhatsThis(tr("<p>By default BNC applies a PPP solution using an ionosphere free P3 linear combination of code observations.</p><p>Tick 'Use phase obs' for an ionosphere free L3 linear combination of phase observations.</p>"));
@@ -696,9 +700,9 @@
   _pppNMEAPortLineEdit->setMaximumWidth(14*ww);
   _pppOriginComboBox->setMaximumWidth(14*ww);
+  _pppSPPComboBox->setMaximumWidth(8*ww);
   pppLayout->setColumnMinimumWidth(0,14*ww);
   pppLayout->addWidget(new QLabel("Mountpoint"),             0, 0);
   pppLayout->addWidget(_pppMountLineEdit,                    0, 1, 1, 2);
-  pppLayout->addWidget(_pppNaviCheckBox,                     0, 3);
-  pppLayout->addWidget(new QLabel("Navigation solution"),    0, 4);
+  pppLayout->addWidget(_pppSPPComboBox,                      0, 4);
   pppLayout->addWidget(new QLabel("Options"),                1, 0);
   pppLayout->addWidget(_pppStaticCheckBox,                   1, 1);
@@ -722,5 +726,4 @@
   pppLayout->addWidget(new QLabel("Port"),                   3, 7);
   pppLayout->addWidget(_pppNMEAPortLineEdit,                 3, 8);
-//pppLayout->addWidget(_pppNMEAPortLineEdit,                 3, 8, 1, 1);
   pppLayout->addWidget(new QLabel("Coordinates from Precise Point Positioning (PPP)."),4, 0,1,15);
   pppLayout->addWidget(new QLabel("    "),                   5, 0);
@@ -1034,5 +1037,5 @@
   settings.setValue("miscMount",   _miscMountLineEdit->text());
   settings.setValue("pppMount",    _pppMountLineEdit->text());
-  settings.setValue("pppNavi",     _pppNaviCheckBox->checkState());
+  settings.setValue("pppSPP",      _pppSPPComboBox->currentText());
   settings.setValue("nmeaFile",    _pppNMEALineEdit->text());
   settings.setValue("nmeaPort",    _pppNMEAPortLineEdit->text());
@@ -1580,5 +1583,5 @@
      || sender() == _pppOriginComboBox) {
     if (!_pppMountLineEdit->text().isEmpty()) {
-      _pppNaviCheckBox->setPalette(palette_white);
+      _pppSPPComboBox->setPalette(palette_white);
       _pppNMEALineEdit->setPalette(palette_white);
       _pppNMEAPortLineEdit->setPalette(palette_white);
@@ -1591,5 +1594,5 @@
       _pppGLONASSCheckBox->setPalette(palette_white);
       _pppOriginComboBox->setPalette(palette_white);
-      _pppNaviCheckBox->setEnabled(true);
+      _pppSPPComboBox->setEnabled(true);
       _pppNMEALineEdit->setEnabled(true);
       _pppNMEAPortLineEdit->setEnabled(true);
@@ -1619,5 +1622,5 @@
       }
     } else {
-      _pppNaviCheckBox->setPalette(palette_gray);
+      _pppSPPComboBox->setPalette(palette_gray);
       _pppNMEALineEdit->setPalette(palette_gray);
       _pppNMEAPortLineEdit->setPalette(palette_gray);
@@ -1630,5 +1633,5 @@
       _pppGLONASSCheckBox->setPalette(palette_gray);
       _pppOriginComboBox->setPalette(palette_gray);
-      _pppNaviCheckBox->setEnabled(false);
+      _pppSPPComboBox->setEnabled(false);
       _pppNMEALineEdit->setEnabled(false);
       _pppNMEAPortLineEdit->setEnabled(false);
Index: trunk/BNC/bncwindow.h
===================================================================
--- trunk/BNC/bncwindow.h	(revision 2340)
+++ trunk/BNC/bncwindow.h	(revision 2341)
@@ -119,5 +119,4 @@
     QLineEdit* _pppRefCrdYLineEdit;
     QLineEdit* _pppRefCrdZLineEdit;
-    QCheckBox* _pppNaviCheckBox;
     QCheckBox* _pppStaticCheckBox;
     QCheckBox* _pppUsePhaseCheckBox;
@@ -129,4 +128,5 @@
     QLineEdit* _rnxScrpLineEdit;
     QLineEdit* _logFileLineEdit;
+    QComboBox* _pppSPPComboBox;
     QComboBox* _rnxIntrComboBox;
     QComboBox* _ephIntrComboBox;
