Index: trunk/BNC/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 2385)
+++ trunk/BNC/RTCM3/RTCM3Decoder.cpp	(revision 2386)
@@ -119,5 +119,5 @@
       decoded = true;
       if (_mode == unknown) {
-        _mode = corrections;
+        /////        _mode = corrections;
       }
     }
@@ -341,5 +341,5 @@
     }
     if (_mode == unknown && decoded) {
-      _mode = observations;
+      ////      _mode = observations;
     }
   }
Index: trunk/BNC/bncapp.cpp
===================================================================
--- trunk/BNC/bncapp.cpp	(revision 2385)
+++ trunk/BNC/bncapp.cpp	(revision 2386)
@@ -711,13 +711,16 @@
 void bncApp::writeRawData(const QByteArray& data) {
 
-////  QMutexLocker locker(&_mutex);
-////
-////  if (!_rawOutFile) {
-////    QByteArray rawOutFileName = "./bnc.raw";
-////    _rawOutFile = new QFile(rawOutFileName);
-////    _rawOutFile->open(QIODevice::WriteOnly);
-////  }
-////
-////  _rawOutFile->write(data);
-////  _rawOutFile->flush();
-}
+  QMutexLocker locker(&_mutex);
+
+  if (!_rawOutFile) {
+    bncSettings settings;
+    QString rawOutFileName = settings.value("rawOutFile").toString();
+    _rawOutFile = new QFile(rawOutFileName);
+    _rawOutFile->open(QIODevice::WriteOnly);
+  }
+
+  if (_rawOutFile) {
+    _rawOutFile->write(data);
+    _rawOutFile->flush();
+  }
+}
Index: trunk/BNC/bncgetthread.cpp
===================================================================
--- trunk/BNC/bncgetthread.cpp	(revision 2385)
+++ trunk/BNC/bncgetthread.cpp	(revision 2386)
@@ -84,4 +84,6 @@
                        rawInpFileName.lastIndexOf(QDir::separator())+1,4);  
 
+  _rawOutput = false;
+
   initialize();
 }
@@ -104,4 +106,9 @@
   _ntripVersion = ntripVersion;
 
+  bncSettings settings;
+  if (!settings.value("rawOutFile").toString().isEmpty()) {
+    _rawOutput = true;
+  }
+
   initialize();
 }
@@ -410,6 +417,8 @@
       // Output Data
       // -----------
-      bncApp* app = (bncApp*) qApp;
-      app->writeRawData(data); 
+      if (_rawOutput) {
+        bncApp* app = (bncApp*) qApp;
+        app->writeRawData(data); 
+      }
 
       if (_serialPort) {
Index: trunk/BNC/bncgetthread.h
===================================================================
--- trunk/BNC/bncgetthread.h	(revision 2385)
+++ trunk/BNC/bncgetthread.h	(revision 2386)
@@ -126,4 +126,5 @@
    QMutex          _mutex;
    bncPPPclient*   _PPPclient;
+   bool            _rawOutput;
 };
 
Index: trunk/BNC/bncwindow.cpp
===================================================================
--- trunk/BNC/bncwindow.cpp	(revision 2385)
+++ trunk/BNC/bncwindow.cpp	(revision 2386)
@@ -134,4 +134,5 @@
   // ---------------
   _logFileLineEdit    = new QLineEdit(settings.value("logFile").toString());
+  _rawOutFileLineEdit = new QLineEdit(settings.value("rawOutFile").toString());
   _rnxAppendCheckBox  = new QCheckBox();
   _rnxAppendCheckBox->setCheckState(Qt::CheckState(
@@ -529,6 +530,8 @@
   gLayout->addWidget(new QLabel("Auto start"),                   3, 0);
   gLayout->addWidget(_autoStartCheckBox,                         3, 1);
-  gLayout->addWidget(new QLabel("General settings for logfile, file handling, configuration on-the-fly, and auto-start."),4, 0, 1, 50, Qt::AlignLeft);
-  gLayout->addWidget(new QLabel("    "),5,0);
+  gLayout->addWidget(new QLabel("raw output file (full path)"),  4, 0);
+  gLayout->addWidget(_rawOutFileLineEdit,                        4, 1, 1,30);
+  gLayout->addWidget(new QLabel("General settings for logfile, file handling, configuration on-the-fly, and auto-start."),5, 0, 1, 50, Qt::AlignLeft);
+  gLayout->addWidget(new QLabel("    "),6,0);
   ggroup->setLayout(gLayout);
 
@@ -1035,4 +1038,5 @@
   settings.setValue("ephV3",       _ephV3CheckBox->checkState());
   settings.setValue("logFile",     _logFileLineEdit->text());
+  settings.setValue("rawOutFile",  _rawOutFileLineEdit->text());
   settings.setValue("miscMount",   _miscMountLineEdit->text());
   settings.setValue("pppMount",    _pppMountLineEdit->text());
Index: trunk/BNC/bncwindow.h
===================================================================
--- trunk/BNC/bncwindow.h	(revision 2385)
+++ trunk/BNC/bncwindow.h	(revision 2386)
@@ -128,4 +128,5 @@
     QLineEdit* _rnxScrpLineEdit;
     QLineEdit* _logFileLineEdit;
+    QLineEdit* _rawOutFileLineEdit;
     QComboBox* _pppSPPComboBox;
     QComboBox* _rnxIntrComboBox;
