source: ntrip/trunk/BNC/src/GPSDecoder.cpp @ 8372

Last change on this file since 8372 was 8372, checked in by stuerze, 15 months ago

minor changes to allow 10 Hz observation data processing (latency checker) and resampling (RINEX files, feed engine)

File size: 3.0 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25/* -------------------------------------------------------------------------
26 * BKG NTRIP Client
27 * -------------------------------------------------------------------------
28 *
29 * Class:      GPSDecoder
30 *
31 * Purpose:    Decoder Base Class
32 *
33 * Author:     L. Mervart
34 *
35 * Created:    16-Dec-2011
36 *
37 * Changes:
38 *
39 * -----------------------------------------------------------------------*/
40
41#include <iomanip>
42#include <cmath>
43
44#include "GPSDecoder.h"
45#include "bncsettings.h"
46#include "bncrinex.h"
47#include "bncutils.h"
48
49using namespace std;
50
51// Constructor
52//////////////////////////////////////////////////////////////////////////////
53GPSDecoder::GPSDecoder() {
54  _rnx = 0;
55}
56
57// Destructor
58//////////////////////////////////////////////////////////////////////////////
59GPSDecoder::~GPSDecoder() {
60  delete _rnx;
61}
62
63// Initialize RINEX Writer
64//////////////////////////////////////////////////////////////////////////////
65void GPSDecoder::initRinex(const QByteArray& staID, const QUrl& mountPoint,
66                           const QByteArray& latitude,
67                           const QByteArray& longitude, const QByteArray& nmea,
68                           const QByteArray& ntripVersion) {
69  if (_rnx) {
70    return;
71  }
72  bncSettings settings;
73  if ( !settings.value("rnxPath").toString().isEmpty() ) {
74    _rnx = new bncRinex(staID, mountPoint, latitude, longitude,
75                        nmea, ntripVersion);
76  }
77}
78
79// Write RINEX Epoch
80//////////////////////////////////////////////////////////////////////////////
81void GPSDecoder::dumpRinexEpoch(const t_satObs& obs, const QByteArray& format) {
82  if (_rnx) {
83    int sec = int(nint(obs._time.gpssec()*10));
84    if (_rnx->samplingRate() == 0 || sec % (_rnx->samplingRate()*10) == 0) {
85      _rnx->deepCopy(obs);
86    }
87    _rnx->dumpEpoch(format, obs._time);
88  }
89}
90
91// Set RINEX Reconnect Flag
92//////////////////////////////////////////////////////////////////////////////
93void GPSDecoder::setRinexReconnectFlag(bool flag) {
94  if (_rnx) {
95    _rnx->setReconnectFlag(flag);
96  }
97}
98
Note: See TracBrowser for help on using the repository browser.