source: ntrip/trunk/BNC/pppopt.cpp@ 3636

Last change on this file since 3636 was 3636, checked in by mervart, 12 years ago
File size: 4.1 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: t_pppOpt
30 *
31 * Purpose: Options for Precise Point Positioning
32 *
33 * Author: L. Mervart
34 *
35 * Created: 22-Jan-2012
36 *
37 * Changes:
38 *
39 * -----------------------------------------------------------------------*/
40
41#include <iostream>
42#include "pppopt.h"
43#include "bncsettings.h"
44
45using namespace std;
46
47// Constructor
48////////////////////////////////////////////////////////////////////////////
49t_pppOpt::t_pppOpt() {
50 bncSettings settings;
51
52 sigP3 = settingsToDouble("pppSigmaCode", 5.0);
53 sigL3 = settingsToDouble("pppSigmaPhase", 0.02);
54 sigCrd0 = settingsToDouble("pppSigCrd0", 100.0);
55 sigCrdP = settingsToDouble("pppSigCrdP", 100.0);
56 sigTrp0 = settingsToDouble("pppSigTrp0", 0.1);
57 sigTrpP = settingsToDouble("pppSigTrpP", 1e-6);
58 refCrd[0] = settingsToDouble("pppRefCrdX");
59 refCrd[1] = settingsToDouble("pppRefCrdY");
60 refCrd[2] = settingsToDouble("pppRefCrdZ");
61 antEccNEU[0] = settingsToDouble("pppRefdN");
62 antEccNEU[1] = settingsToDouble("pppRefdE");
63 antEccNEU[2] = settingsToDouble("pppRefdU");
64 maxSolGap = settingsToDouble("pppMaxSolGap");
65 quickStart = settingsToDouble("pppQuickStart");
66 corrSync = settingsToDouble("pppSync");
67 pppAverage = settingsToDouble("pppAverage") * 60.0;
68 if (pppAverage < 0.0) {
69 pppAverage = 0.0;
70 }
71 else if (pppAverage > 86400.0) {
72 pppAverage = 86400.0;
73 }
74
75 pppCorrMount = settings.value("pppCorrMount").toString();
76 nmeaFile = settings.value("nmeaFile").toString();
77 antexFile = settings.value("pppAntex").toString();
78 antennaName = settings.value("pppAntenna").toString();
79
80 pppMode = settings.value("pppSPP").toString() == "PPP";
81 rnxAppend = settingsChecked("rnxAppend");
82 usePhase = settingsChecked("pppUsePhase");
83 estTropo = settingsChecked("pppEstTropo");
84 useGlonass = settingsChecked("pppGLONASS");
85 useGalileo = settingsChecked("pppGalileo");
86
87 if (!refCrdSet()) quickStart = 0.0;
88 if (!pppMode) corrSync = 0.0;
89
90 sigGalileoOffset0 = 1000.0;
91 sigGalileoOffsetP = 0.0;
92 sigClk0 = 1000.0;
93 sigAmb0 = 1000.0;
94}
95
96// Destructor
97////////////////////////////////////////////////////////////////////////////
98t_pppOpt::~t_pppOpt() {
99}
100
101// Settings Value with Default
102////////////////////////////////////////////////////////////////////////////
103double t_pppOpt::settingsToDouble(const QByteArray& keyName,
104 double defaultValue) const {
105 bncSettings settings;
106 if (settings.value(keyName).toString().isEmpty()) {
107 return defaultValue;
108 }
109 else {
110 return settings.value(keyName).toDouble();
111 }
112}
113
114// Settings Checked
115////////////////////////////////////////////////////////////////////////////
116bool t_pppOpt::settingsChecked(const QByteArray& keyName) const {
117 bncSettings settings;
118 if (Qt::CheckState(settings.value(keyName).toInt()) == Qt::Checked) {
119 return true;
120 }
121 else {
122 return false;
123 }
124}
Note: See TracBrowser for help on using the repository browser.