Index: /trunk/BNC/src/bncmain.cpp
===================================================================
--- /trunk/BNC/src/bncmain.cpp	(revision 9888)
+++ /trunk/BNC/src/bncmain.cpp	(revision 9889)
@@ -230,6 +230,6 @@
       "   PPP/snxtroIntr  {SINEX troposphere file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n"
       "   PPP/snxtroSampl {SINEX troposphere file sampling rate [character string: 1 sec|5 sec|10 sec|30 sec|60 sec|300 sec]}\n"
-      "   PPP/snxtroAc    {SINEX troposphere Analysis Center [character string]}\n"
-      "   PPP/snxtroSol   {SINEX troposphere solution ID [character string]}\n"
+      "   PPP/snxtroAc    {SINEX troposphere Analysis Center [3-char string]}\n"
+      "   PPP/snxtroSol   {SINEX troposphere solution ID [1-char]}\n"
       "\n"
       "PPP Client Panel 2 keys:\n"
Index: /trunk/BNC/src/bncoutf.cpp
===================================================================
--- /trunk/BNC/src/bncoutf.cpp	(revision 9888)
+++ /trunk/BNC/src/bncoutf.cpp	(revision 9889)
@@ -155,4 +155,15 @@
       addition = QString("_ABS");
     }
+    if (_extension.contains("tro") || _extension.contains("TRO")) {
+      QString site = baseName.left(9);
+      bncSettings settings;
+      QString ac  = settings.value("PPP/snxtroAc").toString();
+      QString sol = settings.value("PPP/snxtroSol").toString();
+      baseName.replace(0,3,ac);
+      baseName.replace(3,1,sol);
+      baseName.replace(4,3,"DEM");
+      baseName.replace(7,3,"RTS");
+      addition = QString("_%1_TRO").arg(site);
+    }
   if (_extension.count(".") == 2) {
     _extension.replace(0,1,"_");
Index: /trunk/BNC/src/bncsinextro.cpp
===================================================================
--- /trunk/BNC/src/bncsinextro.cpp	(revision 9888)
+++ /trunk/BNC/src/bncsinextro.cpp	(revision 9889)
@@ -31,5 +31,5 @@
   : bncoutf(sklFileName, intr, sampl) {
 
-  _opt       = opt;
+  _opt   = opt;
   _sampl =  sampl;
 
@@ -81,6 +81,36 @@
   QString epo  = QString("%1").arg(numEpochs, 5, 10, QLatin1Char('0'));
   QString ac   = QString("%1").arg(settings.value("PPP/snxtroAc").toString(),3,QLatin1Char(' '));
-  QString sol  = QString("%1").arg(settings.value("PPP/snxtroSol").toString(),4,QLatin1Char(' '));
-  QString corr = settings.value("PPP/corrMount").toString();
+  QString sol  = QString("   %1").arg(settings.value("PPP/snxtroSol").toString(),1,QLatin1Char(' '));
+  QString corr = "";
+  if      (settings.value("PPP/dataSource").toString() == "Real-Time Streams") {
+    corr = settings.value("PPP/corrMount").toString();
+  }
+  else if (settings.value("PPP/dataSource").toString() == "RINEX Files") {
+    corr = settings.value("PPP/corrFile").toString();
+  }
+
+  QString signalPriorities = QString::fromStdString(_opt->_signalPriorities);
+  if (!signalPriorities.size()) {
+    signalPriorities = "G:12&CWPSLX R:12&CP E:1&CBX E:5&QIX C:26&IQX";
+  }
+  QStringList priorList = signalPriorities.split(" ", QString::SkipEmptyParts);
+  QStringList frqStrList;
+  for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) {
+    t_frequency::type frqType = static_cast<t_frequency::type>(iFreq);
+    char frqSys = t_frequency::toString(frqType)[0];
+    char frqNum = t_frequency::toString(frqType)[1];
+    QStringList hlp;
+    for (int ii = 0; ii < priorList.size(); ii++) {
+      if (priorList[ii].indexOf(":") != -1) {
+        hlp = priorList[ii].split(":", QString::SkipEmptyParts);
+        if (hlp.size() == 2 && hlp[0].length() == 1 && hlp[0][0] == frqSys) {
+          hlp = hlp[1].split("&", QString::SkipEmptyParts);
+        }
+        if (hlp.size() == 2 && hlp[0].indexOf(frqNum) != -1) {
+          frqStrList.append(QString("%1%2").arg(frqSys).arg(frqNum));
+        }
+      }
+    }
+  }
 
   _out << "%=TRO 2.00 " << ac.toStdString() << " "
@@ -93,6 +123,6 @@
   _out << " OUTPUT             " << "Total Troposphere Zenith Path Delay Product" << endl;
   _out << " SOFTWARE           " <<  BNCPGMNAME <<  endl;
-  _out << " INPUT              " << "Ntrip streams, additional Orbit and Clock information from "
-                                 << corr.toStdString() <<endl;
+  _out << " INPUT              " << "Observations_: " << _opt->_roverName.substr(0,9)
+                                 << ", SSR corrections: "  << corr.toStdString() << endl;
   _out << "-FILE/REFERENCE" << endl << endl;
 
@@ -114,6 +144,6 @@
   }
   _out << "+SITE/ID" << endl;
-  _out << "*CODE PT DOMES____ T _STATION DESCRIPTION__ APPROX_LON_ APPROX_LAT_ _APP_H_" << endl;
-  _out << " " << _opt->_roverName.substr(0,4) << "  A           P "
+  _out << "*CODE      PT DOMES____ T _STATION DESCRIPTION__ APPROX_LON_ APPROX_LAT_ _APP_H_" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A           P "
        << country.toStdString() << "                   "
        << QString(" %1").arg(lonD, 3, 10, QLatin1Char(' ')).toStdString()
@@ -129,6 +159,6 @@
   if (!_opt->_recNameRover.empty()) {
     _out << "+SITE/RECEIVER" << endl;
-    _out << "*SITE PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__ FIRMWARE___" << endl;
-    _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
+    _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__ FIRMWARE___" << endl;
+    _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
          << startTime.toStdString() << " " << endTime.toStdString()
          << QString(" %1").arg(_opt->_recNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
@@ -138,6 +168,6 @@
 
   _out << "+SITE/ANTENNA" << endl;
-  _out << "*SITE PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__" << endl;
-  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
+  _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ DESCRIPTION_________ S/N__" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
        << startTime.toStdString() << " " << endTime.toStdString() << " "
        << _opt->_antNameRover << " -----" << endl;
@@ -151,9 +181,11 @@
       _out << "*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____" << endl;
       _out << QString(" %1").arg(_opt->_antNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
-           <<  " -----"
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::G1).toStdString()
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::G2).toStdString()
-           <<  " ---------"
-        << endl;
+           <<  " -----";
+           for (int i = 0; i < frqStrList.size(); ++i) {
+             if (frqStrList.at(i).contains('G')) {//cout << frqStrList.at(i).toStdString() << endl;
+               _out << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::toInt(frqStrList.at(i).toStdString())).toStdString();
+             }
+           }
+      _out << " ---------" << endl;
       _out << "-SITE/GPS_PHASE_CENTER" << endl << endl;
     }
@@ -163,9 +195,11 @@
       _out << "*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____" << endl;
       _out << QString(" %1").arg(_opt->_antNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
-           <<  " -----"
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::R1).toStdString()
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::R2).toStdString()
-           <<  " ---------"
-        << endl;
+           <<  " -----";
+           for (int i = 0; i < frqStrList.size(); ++i) {
+             if (frqStrList.at(i).contains('R')) {//cout << frqStrList.at(i).toStdString() << endl;
+               _out << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::toInt(frqStrList.at(i).toStdString())).toStdString();
+             }
+           }
+      _out << " ---------" << endl;
       _out << "-SITE/GLONASS_PHASE_CENTER" << endl << endl;
     }
@@ -175,8 +209,11 @@
       _out << "*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____" << endl;
       _out << QString(" %1").arg(_opt->_antNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
-           <<  " -----"
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::E1).toStdString()
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::E5).toStdString()
-        << endl;
+           <<  " -----";
+           for (int i = 0; i < frqStrList.size(); ++i) {
+             if (frqStrList.at(i).contains('E')) {//cout << frqStrList.at(i).toStdString() << endl;
+               _out << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::toInt(frqStrList.at(i).toStdString())).toStdString();
+             }
+           }
+      _out << " ---------" << endl;
       _out << "-SITE/GALILEO_PHASE_CENTER" << endl << endl;
     }
@@ -186,8 +223,11 @@
       _out << "*DESCRIPTION_________ S/N__ L1->ARP(m)__________ L2->ARP(m)__________ AZ_EL____" << endl;
       _out << QString(" %1").arg(_opt->_antNameRover.c_str(), 20,QLatin1Char(' ')).toStdString()
-           <<  " -----"
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::C2).toStdString()
-           << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::C6).toStdString()
-        << endl;
+               <<  " -----";
+               for (int i = 0; i < frqStrList.size(); ++i) {
+                 if (frqStrList.at(i).contains('C')) {//cout << frqStrList.at(i).toStdString() << endl;
+                   _out << _antex->pcoSinexString(_opt->_antNameRover, t_frequency::toInt(frqStrList.at(i).toStdString())).toStdString();
+                 }
+               }
+      _out << " ---------" << endl;
       _out << "-SITE/BEIDOU_PHASE_CENTER" << endl << endl;
     }
@@ -198,6 +238,6 @@
   _out << "+SITE/ECCENTRICITY" << endl;
   _out << "*                                             UP______ NORTH___ EAST____" << endl;
-  _out << "*SITE PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________" << endl;
-  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P "
+  _out << "*SITE      PT SOLN T DATA_START__ DATA_END____ AXE ARP->BENCHMARK(M)_________" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P "
        << startTime.toStdString() << " " << endTime.toStdString() << " UNE"
        << QString("%1").arg(_opt->_neuEccRover(3), 9, 'f', 4, QLatin1Char(' ')).toStdString()
@@ -207,10 +247,10 @@
 
   _out << "+TROP/COORDINATES" << endl;
-  _out << "*SITE PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK" << endl;
-  _out << " " << _opt->_roverName.substr(0,4) << "  A "  <<  sol.toStdString() << " P"
+  _out << "*SITE      PT SOLN T STA_X_______ STA_Y_______ STA_Z_______ SYSTEM REMARK" << endl;
+  _out << " " << _opt->_roverName.substr(0,9) << "  A "  <<  sol.toStdString() << " P"
        << QString(" %1").arg(_opt->_xyzAprRover(1), 12, 'f', 3, QLatin1Char(' ')).toStdString()
        << QString(" %1").arg(_opt->_xyzAprRover(2), 12, 'f', 3, QLatin1Char(' ')).toStdString()
        << QString(" %1").arg(_opt->_xyzAprRover(3), 12, 'f', 3, QLatin1Char(' ')).toStdString()
-       << " ITRF14 " << ac.toStdString() << endl;
+       << " IGS20 " << ac.toStdString() << endl;
   _out << "-TROP/COORDINATES"<< endl << endl;
 
@@ -228,5 +268,5 @@
 
   _out << "+TROP/SOLUTION" << endl;
-  _out << "*SITE EPOCH_______ TROTOT STDEV" << endl;
+  _out << "*SITE      EPOCH_______ TROTOT STDEV" << endl;
 }
 
@@ -246,5 +286,5 @@
   if ((reopen(GPSWeek, GPSWeeks) == success) &&
       (fmod(daysec, double(_sampl)) == 0.0)) {
-    _out << ' '  << staID.left(4).data() << ' ' << time.toStdString() << ' '
+    _out << ' '  << staID.left(9).data() << ' ' << time.toStdString() << ' '
          << noshowpos << setw(6) << setprecision(1) << trotot * 1000.0
          << noshowpos << setw(6) << setprecision(1) << stdev  * 1000.0 << endl;
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp	(revision 9888)
+++ /trunk/BNC/src/bncwindow.cpp	(revision 9889)
@@ -1467,7 +1467,8 @@
   _pppWidgets._corrFile->setWhatsThis(tr("<p>Specify the Broadcast Ephemeris Corrections file as saved beforehand using BNC.</p><p>If you don't specify corrections by this option, BNC will fall back to Single Point Positioning (SPP, positioning from RINEX Obs and RINEX Nav files only) instead of doing PPP. <i>[key: PPP/corrFile]</i></p>"));
   _pppWidgets._ionoFile->setWhatsThis(tr("<p>Specify the VTEC file as saved beforehand using BNC.</p><p>If you don't specify corrections by this option, BNC will use VTEC informations from the Corrections file, if available. <i>[key: PPP/ionoFile]</i></p>"));
-  _pppWidgets._antexFile->setWhatsThis(tr("<p>Observations in RTCM streams or RINEX files should be referred to the receiver's and to the satellite's Antenna Phase Center (APC) and therefore be corrected for<ul><li>Receiver APC offsets</li><li>Receiver APC variations</li><li>Satellite APC offsets.</li></ul> Specify the full path to an IGS 'ANTEX file' which contains APC offsets and variations.</p><p>If you don't specify an 'ANTEX file' then observations will not be corrected for APC offsets and variations. <i>[key: PPP/antexFile]</i></p>"));
-  _pppWidgets._crdFile->setWhatsThis(tr("<p>Enter the full path to an ASCII file which specifies the streams or files of those stations you want to process. Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per station with the following parameters separated by blank character:<p><ul><li>Specify the station either by<ul><li>the 'Mountpoint' of the station's RTCM stream (when in real-time PPP mode), or</li><li>the 4-charater station ID of the RINEX Observations file (when in post processing PPP mode).</li></ul></li><li>Approximate X,Y,Z coordinate of station's Antenna Reference Point [m] (ARP, specify '0.0 0.0 0.0' if unknown).</li><li>North, East and Up component of antenna eccentricity [m] (specify '0.0 0.0 0.0' if unknown).</li><li>20 Characters describing the antenna type and radome following the IGS 'ANTEX file' standard (leave blank if unknown).</li><li>Receiver type following the naming conventions for IGS equipment.</li></ul></p><p>Records with exclamation mark '!' in the first column or blank records will be interpreted as comment lines and ignored. <i>[key: PPP/crdFile]</i></p>"));
-  _pppWidgets._logPath->setWhatsThis(tr("<p>Specify a directory for saving daily PPP logfiles. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no PPP logficorrMountles shall be produced. <i>[key: PPP/logPath]</i></p>"));
+  _pppWidgets._antexFile->setWhatsThis(tr("<p>Observations in RTCM streams or RINEX files should be referred to the receiver's and to the satellite's Antenna Phase Center (APC) and therefore be corrected for<ul><li>Receiver APC offsets and variations</li><li>Satellite APC offsets and variations.</li></ul> Specify the full path to an IGS 'ANTEX file' which contains APC offsets and variations for satellites and receiver.</p> <i>[key: PPP/antexFile]</i></p>"));
+  _pppWidgets._crdFile->setWhatsThis(tr("<p>Enter the full path to an ASCII file which specifies the streams or files of those stations you want to process. Specifying a 'Coordinates file' is optional. If it exists, it should contain one record per station with the following parameters separated by blank character:</p><ul><li>Specify the station either by:<ul><li>the 'Mountpoint' of the station's RTCM stream (in real-time PPP mode), or</li><li>the 9-char station ID of the RINEX Version 3 or 4 Observations file (in post processing PPP mode), or </li><li>the 4-char station ID of the RINEX Version 2 Observations file (in post processing PPP mode).</li></ul><li>Approximate X,Y,Z coordinate of station's Antenna Reference Point [m] (ARP, specify '0.0 0.0 0.0' if unknown).</li><li>North, East and Up component of antenna eccentricity [m] (specify '0.0 0.0 0.0' if unknown). </li><li>20 Characters describing the antenna type and radome following the IGS 'ANTEX file' standard (leave blank if unknown).</li><li>Receiver type following the naming conventions for IGS equipment.</li></ul>Records with exclamation mark '!' in the first column or blank records will be interpreted as comment lines and ignored.. <i>[key: PPP/crdFile]</i></p>"));
+  _pppWidgets._blqFile->setWhatsThis(tr("<p>Specify the full path to a 'BLQ file' containing the ocean loading coefficients for different stations. These coefficients can be obtained from the ocean loading service under request trough the web site http://holt.oso.chalmers.se/loading/. <i>[key: PPP/blqFile]</i></p>"));
+  _pppWidgets._logPath->setWhatsThis(tr("<p>Specify a directory for saving daily PPP logfiles. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no PPP logfiles shall be produced. <i>[key: PPP/logPath]</i></p>"));
   _pppWidgets._nmeaPath->setWhatsThis(tr("<p>Specify a directory for saving coordinates in daily NMEA files. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no NMEA file shall be produced. <i>[key: PPP/nmeaPath]</i></p>"));
   _pppWidgets._snxtroPath->setWhatsThis(tr("<p>Specify a directory for saving SINEX Troposphere files. If the specified directory does not exist, BNC will not create such files.</p><p>Default is an empty option field, meaning that no SINEX Troposphere files shall be produced. <i>[key: PPP/snxtroPath]</i></p>"));
@@ -1475,5 +1476,5 @@
   _pppWidgets._snxtroSampl->setWhatsThis(tr("<p>Select a 'Sampling' rate for saving troposphere parameters. <i>[key: PPP/snxtroSampl]</i></p>"));
   _pppWidgets._snxtroAc->setWhatsThis(tr("<p>Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere files. <i>[key: PPP/snxtroAc]</i></p>"));
-  _pppWidgets._snxtroSol->setWhatsThis(tr("<p>Specify a 4-character solution ID to allow a distinction between different solutions per AC. <i>[key: PPP/snxtroSol]</i></p>"));
+  _pppWidgets._snxtroSol->setWhatsThis(tr("<p>Specify a 1-character solution ID to allow a distinction between different solutions per AC. <i>[key: PPP/snxtroSol]</i></p>"));
 
 
@@ -1484,6 +1485,6 @@
   _pppWidgets._lcGalileo->setWhatsThis(tr("<p>Specify which kind of Galileo observations you want to use</p><p><ul><li>Specifying 'Pi' means that you request BNC to use code data of two frequencies.</li><li>Specifying'Li' means that you request BNC to use phase data of two frequencies.</li> <li>Specifying'Pi&Li' means that you request BNC to use both, code and phase data of two frequencies.</li></ul></p><p>Specifying 'no' means that you don't want BNC to use Galileo data. <i>[key: PPP/lcGalileo]</i></p>"));
   _pppWidgets._lcBDS->setWhatsThis(tr("<p>Specify which kind of BDS observations you want to use</p><p><ul><li>Specifying 'Pi' means that you request BNC to use code data from two frequencies.</li><li>Specifying'Li' means that you request BNC to use phase data of two frequencies.</li> <li>Specifying'Pi&Li' means that you request BNC to use both, code and phase data of two frequencies.</li></ul></p><p>Specifying 'no' means that you don't want BNC to use BDS data. <i>[key: PPP/lcBDS]</i></p>"));
-  _pppWidgets._modelObs->setWhatsThis(tr("<p>Specify which kind of PPP model you want to use:</p><p><ul><li>Iopnosphere-free PPP</li><li>Uncombined PPP</li><li>PPP-RTK (recommended for test purposes only because of an incomplete standardized SSR model)</li><li>DCM with Code or Phase Biases</li><li></p><p>[key: PPP/modelObs]</i></p>"));
-  _pppWidgets._pseudoObs->setWhatsThis(tr("<p>Specify which kind of pseudo observations you want to use. Please note, pseudo observations regarding the Ionosphere are useful, as soon as the ionospheric information is more accurate than the code data accuracy. <i>[key: PPP/pseudoObs]</i></p>"));
+  _pppWidgets._modelObs->setWhatsThis(tr("<p>Specify which kind of PPP model you want to use:</p><p><ul><li>Uncombined PPP</li><li>Iopnosphere-free PPP</li><li>PPP-RTK (currently not activated because of an incomplete standardized SSR model)</li><li>DCM with Code or Phase Biases</li><li></p><p>[key: PPP/modelObs]</i></p>"));
+  _pppWidgets._pseudoObs->setWhatsThis(tr("<p>Specify whether pseudo observations regarding the Ionosphere shall be used. Please note, this is useful, as soon as the ionospheric information is more accurate than the code data accuracy. <i>[key: PPP/pseudoObs]</i></p>"));
   _pppWidgets._sigmaC1->setWhatsThis(tr("<p>Enter a Sigma for GPS C1 code observations in meters.</p><p>The higher the sigma you enter, the less the contribution of GPS C1 code observations to a PPP solution from combined code and phase data. 2.0 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma C1 = 2.0' <i>[key: PPP/sigmaC1]</i></p>"));
   _pppWidgets._sigmaL1->setWhatsThis(tr("<p>Enter a Sigma for GPS L1 phase observations in meters.</p><p>The higher the sigma you enter, the less the contribution of GPS L1 phase observations to a PPP solutions from combined code and phase data. 0.02 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma L1 = 0.02' <i>[key: PPP/sigmaL1]</i></p>"));
Index: /trunk/BNC/src/pppRun.cpp
===================================================================
--- /trunk/BNC/src/pppRun.cpp	(revision 9888)
+++ /trunk/BNC/src/pppRun.cpp	(revision 9889)
@@ -222,5 +222,5 @@
       snxtroFileSkl += QDir::separator();
     }
-    snxtroFileSkl = snxtroFileSkl + ID9 + "${V3PROD}" + distStr + ".tra";
+    snxtroFileSkl = snxtroFileSkl + ID9 + '_' + "${V3PROD}" + distStr + ".tro";
     sampl = settings.value("PPP/snxtroSampl").toString().split("sec").first().toInt();
     intr  = settings.value("PPP/snxtroIntr").toString();
