Changeset 10503 in ntrip


Ignore:
Timestamp:
Jun 7, 2024, 11:41:06 AM (6 months ago)
Author:
stuerze
Message:

add an docoder-string ZERO2FILE

Location:
trunk/BNC/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bnccaster.cpp

    r10355 r10503  
    312312           QString("Decoding %1 stream(s)").arg(_staIDs.size()).toLatin1(), true) );
    313313  if (_staIDs.size() == 0) {
    314     emit(newMessage("bncCaster: Last get thread terminated", true));
    315314    emit getThreadsFinished();
    316315  }
  • trunk/BNC/src/bncgetthread.cpp

    r10470 r10503  
    334334    connect((RTCM3Decoder*) newDecoder, SIGNAL(newMessage(QByteArray,bool)),
    335335        this, SIGNAL(newMessage(QByteArray,bool)));
    336   } else if (_format.indexOf("ZERO") != -1) {
    337     emit(newMessage(_staID + ": Get data in original format", true));
    338     _decoder = new bncZeroDecoder(_staID);
    339   } else if (_format.indexOf("RTNET") != -1) {
     336  } else if (_format == "ZERO") {
     337    emit(newMessage(_staID + ": Forward data in original format", true));
     338    _decoder = new bncZeroDecoder(_staID, false);
     339  }
     340  else if (_format == "ZERO2FILE") {
     341    emit(newMessage(_staID + ": Get data in original format and store it", true));
     342    _decoder = new bncZeroDecoder(_staID, true);
     343  }
     344  else if (_format.indexOf("RTNET") != -1) {
    340345    emit(newMessage(_staID + ": Get data in RTNet format", true));
    341346    _decoder = new bncRtnetDecoder();
  • trunk/BNC/src/bnchelp.html

    r10461 r10503  
    14551455The screenshot below shows an example setup of BNC when converting streams to RINEX. Streams are coming from Ntrip Broadcaster
    14561456<a href="http://igs-ip.net:2101" target="_blank">http://igs-ip.net:2101</a>.
    1457 Specifying a decoder string 'ZERO' would mean to not convert the affected stream but save its content as received.
     1457Specifying a decoder string 'ZERO2FILE' would mean to not convert the affected stream but save its content as received.
    14581458On Wed Oct  5 2022 that would result for the Mountpoint 'FFMJ00DEU0' into a file named 'FFMJ00DEU0_221005'.
    14591459</p>
     
    34103410BNC can output streams related to the above specified 'Mountpoint' through a TCP/IP port of your local host.
    34113411Enter a port number to activate this function. The stream content remains untouched. BNC does not decode or reformat the data for this output.
     3412If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to <ul>
     3413<li> 'ZERO' (forward the raw data) or </li>
     3414<li> 'ZERO2File' (forward and store the raw data)</li> </ul> in addition.
    34123415</p>
    34133416
     
    53185321      enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.</li>
    53195322  <li>In case you need to log the raw data as it is, BNC allows users to by-pass its decoders and directly save the input in daily logfiles.
    5320       To do this, specify the decoder string as 'ZERO'. The generated filenames are created from the characters of the streams mountpoints plus
    5321       two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0 to 'ZERO' and
     5323      To do this, specify the decoder string as 'ZERO2FILE'. The generated filenames are created from the characters of the streams mountpoints plus
     5324      two-digit numbers each for year, month, and day. Example: Setting the 'decoder' string for mountpoint WTZZ00DEU0 to 'ZERO2FILE' and
    53225325      running BNC on December 01, 2022 would save raw data in a file named WTZZ00DEU0_221201.</li>
     5326 <li> BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel'
     5327      through a TCP/IP port of your local host. In this case, the stream content remains untouched; BNC does not decode or reformat the data for this output.
     5328      If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data only) or 'ZERO2FILE' (forward and store the raw data) in addition.</li>
    53235329  <li>BNC can also retrieve streams from virtual reference stations (VRS). To initiate these streams, an approximate rover position needs to be sent
    53245330      in NMEA format to the Ntrip Broadcaster. In return, a user-specific data stream is generated, typically by Network RTK software.
     
    55185524  <li>Enter the IP port number of the stream providing host.</li>
    55195525  <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    5520   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', and 'ZERO'.</li>
     5526  <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    55215527  <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    55225528  <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
     
    55365542  <li>Enter the local port number where the UDP stream arrives.</li>
    55375543  <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    5538   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', and 'ZERO'.</li>
     5544  <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    55395545  <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    55405546  <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
     
    55505556<ul>
    55515557  <li>Specify a mountpoint. Recommended is a 9-character station ID. Example: FFMJ00DEU</li>
    5552   <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', and 'ZERO'.</li>
     5558  <li>Specify the stream format. Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</li>
    55535559  <li>Enter the approximate latitude of the stream providing rover in degrees. Example: 50.09.</li>
    55545560  <li>Enter the approximate longitude of the stream providing rover in degrees. Example: 8.66.</li>
  • trunk/BNC/src/bncipport.cpp

    r10062 r10503  
    8383  _ipPortLineEdit->setWhatsThis(tr("<p>Enter the IP port number of the stream providing host.</p>"));
    8484  _ipMountLineEdit->setWhatsThis(tr("<p>Specify a mountpoint.</p><p>Recommended is a 9-character station ID.<br>Example: FFMJ01DEU</p>"));
    85   _ipFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', RTNET, and 'ZERO'.</p>"));
     85  _ipFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', RTNET, 'ZERO' and 'ZERO2FILE'.</p>"));
    8686  _ipLatLineEdit->setWhatsThis(tr("<p>Enter the approximate latitude of the stream providing receiver in degrees.<p></p>Example: 45.32</p>"));
    8787  _ipLonLineEdit->setWhatsThis(tr("<p>Enter the approximate longitude of the stream providing receiver in degrees.<p></p>Example: -15.20</p>"));
  • trunk/BNC/src/bncserialport.cpp

    r10062 r10503  
    100100  // --------------------------------------
    101101  _serialMountpointLineEdit->setWhatsThis(tr("<p>BNC allows to retrieve streams via serial port without using the Ntrip transport protocol.</p><p>Specify a mountpoint. Recommended is a 9-character station ID.<br>Example: FFMJ01DEU</p>"));
    102   _serialFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', 'RTNET', and 'ZERO'.</p>"));
     102  _serialFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</p>"));
    103103  _serialLatLineEdit->setWhatsThis(tr("<p>Enter the approximate latitude of the stream providing receiver in degrees.<p></p>Example: 45.32</p>"));
    104104  _serialLonLineEdit->setWhatsThis(tr("<p>Enter the approximate latitude of the stream providing receiver in degrees.<p></p>Example: 45.32</p>"));
  • trunk/BNC/src/bncudpport.cpp

    r10062 r10503  
    8181  _ipPortLineEdit->setWhatsThis(tr("<p>BNC allows to pick up streams arriving directly at one of the local host's UDP ports without using the Ntrip transport protocol.</p><p>Enter the local port number where the UDP stream arrives.</p>"));
    8282  _ipMountLineEdit->setWhatsThis(tr("<p>Specify a mountpoint.</p><p>Recommended is a 9-character station ID.<br>Example: FFMJ01DEU</p>"));
    83   _ipFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', 'RTNET', and 'ZERO'.</p>"));
     83  _ipFormatLineEdit->setWhatsThis(tr("<p>Specify the stream format.</p><p>Available options are 'RTCM_2', 'RTCM_3', 'RTNET', 'ZERO' and 'ZERO2FILE'.</p>"));
    8484  _ipLatLineEdit->setWhatsThis(tr("<p>Enter the approximate latitude of the stream providing receiver in degrees.<p></p>Example: 45.32</p>"));
    8585  _ipLonLineEdit->setWhatsThis(tr("<p>Enter the approximate longitude of the stream providing receiver in degrees.<p></p>Example: -15.20</p>"));
  • trunk/BNC/src/bncwindow.cpp

    r10479 r10503  
    15001500  _miscIntrComboBox->setWhatsThis(tr("<p>BNC can average latencies per stream over a certain period of GPS time. The resulting mean latencies are recorded in the 'Log' tab at the end of each 'Log latency' interval together with results of a statistical evaluation (approximate number of covered epochs, data gaps).</p><p>Select a 'Log latency' interval or select the empty option field if you do not want BNC to log latencies and statistical information. <i>[key: miscIntr]</i></p>"));
    15011501  _miscScanRTCMCheckBox->setWhatsThis(tr("<p>Tick 'Scan RTCM' to log the numbers of incoming message types as well as contained antenna coordinates, antenna height, and antenna descriptor.</p><p>In case of RTCM Version 3 MSM streams, BNC will also log contained RINEX Version 3 observation types. <i>[key: miscScanRTCM]</i></p>"));
    1502   _miscPortLineEdit->setWhatsThis(tr("<p>BNC can output an incoming stream through an IP port of your local host.</p><p>Specify a port number to activate this function. <i>[key: miscPort]</i></p>"));
     1502  _miscPortLineEdit->setWhatsThis(tr("<p>BNC can output an incoming stream through an IP port of your local host.</p><p>Specify a port number to activate this function. In this case, the stream content remains untouched; BNC does not decode or reformat the data for this output.</p><p> If the decoder string is not an accepted one ('RTCM_2.x', 'RTCM_3.x' and 'RTNET'), please change the decoder string to <ul>"
     1503      "<li> 'ZERO' (forward the raw data) or </li>"
     1504      "<li> 'ZERO2File' (forward and store the raw data)</li> </ul> in addition. <i>[key: miscPort]</i></p>"));
    15031505
    15041506  // WhatsThis, PPP (1)
     
    16421644  // WhatsThis, Streams Canvas
    16431645  // -------------------------
    1644   _mountPointsTable->setWhatsThis(tr("<p>Streams selected for retrieval are listed in the 'Streams' section. Clicking on 'Add Stream' button opens a window that allows the user to select data streams from an Ntrip Broadcaster according to their mountpoints. To remove a stream from the 'Streams' list, highlight it by clicking on it and hit the 'Delete Stream' button. You can also remove multiple streams by highlighting them using +Shift and +Ctrl.</p><p>BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' as given in the source-table. BNC allows users to change this selection by editing the decoder string. Double click on the 'decoder' field, enter your preferred decoder and then hit Enter. Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.</p><p>In case you need to log raw data as is, BNC allows to by-pass its decoders and directly save the input in daily log files. To do this specify the decoder string as 'ZERO'.</p><p>BNC can also retrieve streams from virtual reference stations (VRS). VRS streams are indicated by a 'yes' in the 'nmea' column. To initiate such stream, the approximate latitude/longitude rover position is sent to the Ntrip Broadcaster together with an approximation for the height. Default values for latitude and longitude can be change according to your requirement. Double click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. <i>[key: mountPoints]</i></p>"));
     1646  _mountPointsTable->setWhatsThis(tr("<p>Streams selected for retrieval are listed in the 'Streams' section. "
     1647      "Clicking on 'Add Stream' button opens a window that allows the user to select data streams from an Ntrip Broadcaster "
     1648      "according to their mountpoints. To remove a stream from the 'Streams' list, highlight it by clicking on it "
     1649      "and hit the 'Delete Stream' button. You can also remove multiple streams by highlighting them using +Shift and +Ctrl.</p><p>"
     1650      "BNC automatically allocates one of its internal decoders to a stream based on the stream's 'format' as given in the source-table. "
     1651      "BNC allows users to change this selection by editing the decoder string. "
     1652      "Double click on the 'decoder' field, enter your preferred decoder and then hit Enter. "
     1653      "Accepted decoder strings are 'RTCM_2.x', 'RTCM_3.x' and 'RTNET'.</p><p>"
     1654      "In case you need to log raw data as is, BNC allows to by-pass its decoders and directly save the input in daily log files. "
     1655      "To do this, specify the decoder string as 'ZERO2FILE'.</p><p>"
     1656      "BNC allows as well to forward streams related to the specified 'Mountpoint' on top of the 'Miscellaneous Panel' "
     1657      "through a TCP/IP port of your local host. "
     1658      "In this case, the stream content remains untouched; BNC does not decode or reformat the data for this output. "
     1659      "If the decoder string is not an accepted one, please change the decoder string to 'ZERO' (forward the raw data only) or 'ZERO2FILE' (forward and store the raw data) in addition.</p><p>"
     1660      "BNC can also retrieve streams from virtual reference stations (VRS). VRS streams are indicated by a 'yes' in the 'nmea' column. "
     1661      "To initiate such stream, the approximate latitude/longitude rover position is sent to the Ntrip Broadcaster "
     1662      "together with an approximation for the height. Default values for latitude and longitude can be change according to your requirement. "
     1663      "Double click on 'lat' and 'long' fields, enter the values you wish to send and then hit Enter. <i>[key: mountPoints]</i></p>"));
    16451664  _actAddMountPoints->setWhatsThis(tr("<p>Add stream(s) to selection presented in the 'Streams' canvas.</p>"));
    16461665  _actDeleteMountPoints->setWhatsThis(tr("<p>Delete stream(s) from selection presented in the 'Streams' canvas.</p>"));
  • trunk/BNC/src/bnczerodecoder.cpp

    r8203 r10503  
    3535 * Created:    24-Apr-2007
    3636 *
    37  * Changes:   
     37 * Changes:
    3838 *
    3939 * -----------------------------------------------------------------------*/
     
    4747
    4848// Constructor
    49 ////////////////////////////////////////////////////////////////////////
    50 bncZeroDecoder::bncZeroDecoder(const QString& fileName) {
     49////////////////////////////////////////////////////////////////////////
     50bncZeroDecoder::bncZeroDecoder(const QString& fileName, bool writeFile) {
     51  _writeFile = writeFile;
    5152
    52   bncSettings settings;
    53   QString path = settings.value("rnxPath").toString();
    54   expandEnvVar(path);
     53  if (_writeFile) {
     54    bncSettings settings;
     55    QString path = settings.value("rnxPath").toString();
     56    expandEnvVar(path);
    5557
    56   if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {
    57     path += QDir::separator();
     58    if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {
     59      path += QDir::separator();
     60    }
     61
     62    _fileName = path + fileName;
    5863  }
    59 
    60   _fileName = path + fileName;
    6164
    6265  _out = 0;
     
    6467
    6568// Destructor
    66 //////////////////////////////////////////////////////////////////////// 
     69////////////////////////////////////////////////////////////////////////
    6770bncZeroDecoder::~bncZeroDecoder() {
    6871  delete _out;
     
    7073
    7174// Reopen Output File
    72 //////////////////////////////////////////////////////////////////////// 
     75////////////////////////////////////////////////////////////////////////
    7376void bncZeroDecoder::reopen() {
    7477  QDate currDate = currentDateAndTimeGPS().date();
    7578  if (!_out || _fileDate != currDate) {
    7679    delete _out;
    77     QByteArray fileName = 
     80    QByteArray fileName =
    7881           (_fileName + "_" + currDate.toString("yyMMdd")).toLatin1();
    7982    bncSettings settings;
     
    8992
    9093// Decode Method
    91 //////////////////////////////////////////////////////////////////////// 
     94////////////////////////////////////////////////////////////////////////
    9295t_irc bncZeroDecoder::Decode(char* buffer, int bufLen, vector<string>& errmsg) {
    9396  errmsg.clear();
    94   reopen();
    95   _out->write(buffer, bufLen);
    96   _out->flush();
     97  if (_writeFile) {
     98    reopen();
     99    _out->write(buffer, bufLen);
     100    _out->flush();
     101  }
    97102  return success;
    98103}
  • trunk/BNC/src/bnczerodecoder.h

    r5738 r10503  
    3232class bncZeroDecoder: public GPSDecoder {
    3333 public:
    34   bncZeroDecoder(const QString& fileName);
     34  bncZeroDecoder(const QString& fileName, bool writeFile);
    3535  ~bncZeroDecoder();
    3636  virtual t_irc Decode(char* buffer, int bufLen, std::vector<std::string>& errmsg);
     
    4040  std::ofstream* _out;
    4141  QDate          _fileDate;
     42  bool           _writeFile;
    4243};
    4344
Note: See TracChangeset for help on using the changeset viewer.