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

Last change on this file since 3635 was 3635, checked in by mervart, 12 years ago
File size: 3.8 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 sigmaCode = settingsToDouble("pppSigmaCode", 5.0);
53 sigmaPhase = 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
68 pppCorrMount = settings.value("pppCorrMount").toString();
69 nmeaFile = settings.value("nmeaFile").toString();
70 antexFile = settings.value("pppAntex").toString();
71 antennaName = settings.value("pppAntenna").toString();
72
73 pppMode = settings.value("pppSPP").toString() == "PPP";
74 rnxAppend = settingsChecked("rnxAppend");
75 usePhase = settingsChecked("pppUsePhase");
76 estTropo = settingsChecked("pppEstTropo");
77 useGlonass = settingsChecked("pppGLONASS");
78 useGalileo = settingsChecked("pppGalileo");
79
80 if (!refCrdSet()) quickStart = 0.0;
81 if (!pppMode) corrSync = 0.0;
82}
83
84// Destructor
85////////////////////////////////////////////////////////////////////////////
86t_pppOpt::~t_pppOpt() {
87}
88
89// Settings Value with Default
90////////////////////////////////////////////////////////////////////////////
91double t_pppOpt::settingsToDouble(const QByteArray& keyName,
92 double defaultValue) const {
93 bncSettings settings;
94 if (settings.value(keyName).toString().isEmpty()) {
95 return defaultValue;
96 }
97 else {
98 return settings.value(keyName).toDouble();
99 }
100}
101
102// Settings Checked
103////////////////////////////////////////////////////////////////////////////
104bool t_pppOpt::settingsChecked(const QByteArray& keyName) const {
105 bncSettings settings;
106 if (Qt::CheckState(settings.value(keyName).toInt()) == Qt::Checked) {
107 return true;
108 }
109 else {
110 return false;
111 }
112}
Note: See TracBrowser for help on using the repository browser.