GLOCNavEph_T.cpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 
26 //==============================================================================
27 //
28 // This software was developed by Applied Research Laboratories at the
29 // University of Texas at Austin, under contract to an agency or agencies
30 // within the U.S. Department of Defense. The U.S. Government retains all
31 // rights to use, duplicate, distribute, disclose, or release this software.
32 //
33 // Pursuant to DoD Directive 523024
34 //
35 // DISTRIBUTION STATEMENT A: This software has been approved for public
36 // release, distribution is unlimited.
37 //
38 //==============================================================================
39 #include <math.h>
40 #include "TestUtil.hpp"
41 #include "GLOCNavEph.hpp"
42 #include "CivilTime.hpp"
43 #include "GLONASSTime.hpp"
44 #include "YDSTime.hpp"
45 #include "TimeString.hpp"
46 #include "Angle.hpp"
47 #include "Position.hpp"
48 #include "GLOCBits.hpp"
49 #include "DebugTrace.hpp"
50 
51 using namespace std;
52 
53 namespace gnsstk
54 {
55  std::ostream& operator<<(std::ostream& s, gnsstk::NavMessageType e)
56  {
57  s << StringUtils::asString(e);
58  return s;
59  }
60  std::ostream& operator<<(std::ostream& s, gnsstk::GLOCSatType e)
61  {
62  s << StringUtils::asString(e);
63  return s;
64  }
65  std::ostream& operator<<(std::ostream& s, gnsstk::GLOCRegime e)
66  {
67  s << StringUtils::asString(e);
68  return s;
69  }
70 }
71 
73 {
74 public:
75  unsigned constructorTest();
76  unsigned validateTest();
77  unsigned getXvtExactTest();
78  unsigned getXvtSimpleTest();
79  unsigned getXvtLTTest();
80  unsigned getUserTimeTest();
81  unsigned fixFitTest();
82  unsigned haveLTDMPTest();
83 };
84 
85 
86 unsigned GLOCNavEph_T ::
88 {
89  TUDEF("GLOCNavEph", "GLOCNavEph");
91  gnsstk::Triple emptyTriple;
93  TUASSERTE(unsigned, (uint8_t)-1, uut.N4);
94  TUASSERTE(uint16_t, (uint16_t)-1, uut.NT);
96  TUASSERTE(unsigned, (uint8_t)-1, uut.PS);
97  TUASSERTE(uint16_t, (uint16_t)-1, uut.tb);
98  TUASSERTE(unsigned, (uint8_t)-1, uut.EjE);
99  TUASSERTE(unsigned, (uint8_t)-1, uut.EjT);
102  TUASSERTE(int, -1, uut.FjE);
103  TUASSERTE(int, -1, uut.FjT);
104  TUASSERTE(int, 1, std::isnan(uut.clkBias));
105  TUASSERTE(int, 1, std::isnan(uut.freqBias));
106  TUASSERTE(int, 1, std::isnan(uut.driftRate));
107  TUASSERTE(int, 1, std::isnan(uut.tauc));
108  TUASSERTE(int, 1, std::isnan(uut.taucdot));
109  TUASSERTE(gnsstk::Triple, emptyTriple, uut.pos);
110  TUASSERTE(gnsstk::Triple, emptyTriple, uut.vel);
111  TUASSERTE(gnsstk::Triple, emptyTriple, uut.acc);
112  TUASSERTE(gnsstk::Triple, emptyTriple, uut.apcOffset);
113  TUASSERTE(int, 1, std::isnan(uut.tauDelta));
114  TUASSERTE(int, 1, std::isnan(uut.tauGPS));
115  TUASSERTFE(60.0, uut.step);
116  TURETURN();
117 }
118 
119 
120 unsigned GLOCNavEph_T ::
122 {
123  TUDEF("GLOCNavEph", "validate");
124  gnsstk::GLOCNavEph uut;
126  TUASSERTE(bool, false, uut.validate());
127  uut.header.dataInvalid = false;
129  uut.header11.dataInvalid = false;
131  uut.header12.dataInvalid = false;
133  TUASSERTE(bool, true, uut.validate());
134  TURETURN();
135 }
136 
137 
138 unsigned GLOCNavEph_T ::
140 {
141  TUDEF("GLOCNavEph", "getXvt(exact)");
142  gnsstk::GLOCNavEph uut;
143  uut.pos[0] = 7003.008789;
144  uut.vel[0] = 0.7835417;
145  uut.acc[0] = 0;
146  uut.pos[1] = -12206.626953;
147  uut.vel[1] = 2.8042530;
148  uut.acc[1] = 1.7e-9;
149  uut.pos[2] = 21280.765625;
150  uut.vel[2] = 1.3525150;
151  uut.acc[2] = -5.41e-9;
152  uut.Toe = gnsstk::YDSTime(2012, 251, 11700); // 2021/07/09
153  gnsstk::Xvt got;
154  //DEBUGTRACE_ENABLE();
155  TUASSERTE(bool, true, uut.getXvt(uut.Toe, got));
156  TUASSERTFE(uut.pos[0]*1e3, got.x[0]);
157  TUASSERTFE(uut.pos[1]*1e3, got.x[1]);
158  TUASSERTFE(uut.pos[2]*1e3, got.x[2]);
159  TUASSERTFE(uut.vel[0]*1e3, got.v[0]);
160  TUASSERTFE(uut.vel[1]*1e3, got.v[1]);
161  TUASSERTFE(uut.vel[2]*1e3, got.v[2]);
162  TURETURN();
163 }
164 
165 
166 unsigned GLOCNavEph_T ::
168 {
169  TUDEF("GLOCNavEph", "getXvt(simple)");
170  gnsstk::GLOCNavEph uut;
171  uut.pos[0] = 7003.008789;
172  uut.vel[0] = 0.7835417;
173  uut.acc[0] = 0;
174  uut.pos[1] = -12206.626953;
175  uut.vel[1] = 2.8042530;
176  uut.acc[1] = 1.7e-9;
177  uut.pos[2] = 21280.765625;
178  uut.vel[2] = 1.3525150;
179  uut.acc[2] = -5.41e-9;
180  uut.Toe = gnsstk::YDSTime(2012, 251, 11700); // 2021/07/09
181  gnsstk::CommonTime toi = gnsstk::YDSTime(2012, 251, 12300);
182  gnsstk::Xvt got;
183  // DEBUGTRACE_ENABLE();
184  TUASSERTE(bool, true, uut.getXvt(toi, got));
185  // epsilon chosen based on the number of significant digits
186  // provided in the ICD example.
191  TUASSERTFEPS(7523174.853, got.x[0], 5e-3); // 1e-3);
192  TUASSERTFEPS(950.12609, got.v[0], 5e-5); // 1e-5);
193  TUASSERTFEPS(-10506962.176, got.x[1], 5e-1); // 1e-3);
194  TUASSERTFEPS(2855.68710, got.v[1], 5e-3); // 1e-5);
195  TUASSERTFEPS(21999239.866, got.x[2], 1); // 1e-3);
196  TUASSERTFEPS(1040.68137, got.v[2], 5e-3); // 1e-5);
197  // std::cerr << std::setprecision(15) << got << std::endl
198  // << "x: " << (7523174.853 - got.x[0]) << std::endl
199  // << "y: " << (-10506962.176 - got.x[1]) << std::endl
200  // << "z: " << (21999239.866 - got.x[2]) << std::endl
201  // << "x': " << (950.12609 - got.v[0]) << std::endl
202  // << "y': " << (2855.68710 - got.v[1]) << std::endl
203  // << "z': " << (1040.68137 - got.v[2]) << std::endl;
204  TURETURN();
205 }
206 
207 
208 unsigned GLOCNavEph_T ::
210 {
211  TUDEF("GLOCNavEph", "getXvt(long-term)");
212  gnsstk::GLOCNavEph uut;
213 
214  uut.pos[0] = 2290.0216875;
215  uut.vel[0] = -0.43945587147;
216  uut.acc[0] = -2.2591848392e-9;
217  uut.ltdmp.dax0 = -1.3642421e-12;
218  uut.ltdmp.ax1 = -1.6237011735e-13;
219  uut.ltdmp.ax2 = 1.7485470537e-16;
220  uut.ltdmp.ax3 = -1.0455562943e-20;
221  uut.ltdmp.ax4 = 5.3011452831e-26;
222  uut.pos[1] = 19879.8775810;
223  uut.vel[1] = 2.12254652940;
224  uut.acc[1] = 2.4629116524e-9;
225  uut.ltdmp.day0 = 1.1368684e-12;
226  uut.ltdmp.ay1 = 1.2870815524e-12;
227  uut.ltdmp.ay2 = 2.6054733458e-17;
228  uut.ltdmp.ay3 = -2.2786344334e-20;
229  uut.ltdmp.ay4 = 1.0112818152e-24;
230  uut.pos[2] = 15820.0775420;
231  uut.vel[2] = -2.61032191480;
232  uut.acc[2] = -3.3505784813e-9;
233  uut.ltdmp.daz0 = -1.5916158e-12;
234  uut.ltdmp.az1 = -1.3594680937e-13;
235  uut.ltdmp.az2 = -1.5930995672e-17;
236  uut.ltdmp.az3 = 1.1662419456e-20;
237  uut.ltdmp.az4 = -5.5518137243e-25;
238 
239  double dt = 45000.0 - 30600.0;
240  double ax = uut.ltdmp.dax0
241  + (uut.ltdmp.ax1*dt)
242  + (uut.ltdmp.ax2*dt*dt)
243  + (uut.ltdmp.ax3*dt*dt*dt)
244  + (uut.ltdmp.ax4*dt*dt*dt*dt);
245  DEBUGTRACE("ax = " << std::scientific << ax);
246 
247  // these two lines are needed to enable the code
248  uut.tb = uut.ltdmp.tb31 = uut.ltdmp.tb32 = 30600;
249  uut.header11.svid = uut.ltdmp.header31.svid = uut.ltdmp.header32.svid = 1;
250  uut.Toe = gnsstk::YDSTime(2013, 12, uut.tb); // 2013/01/12
251  gnsstk::CommonTime toi = gnsstk::YDSTime(2013, 12, 45000);
252  gnsstk::Xvt got;
253  // DEBUGTRACE_ENABLE();
254  TUASSERTE(bool, true, uut.getXvt(toi, got));
255  // epsilon chosen based on the number of significant digits
256  // provided in the ICD example.
261  TUASSERTFEPS(-5994716.3090, got.x[0], 5e-4); // 1e-4);
262  TUASSERTFEPS(-2219.22119660, got.v[0], 5e-7); // 1e-8);
263  TUASSERTFEPS(9242469.6773, got.x[1], 5e-3); // 1e-4);
264  TUASSERTFEPS(-2241.57215710, got.v[1], 5e-6); // 1e-8);
265  TUASSERTFEPS(-22981999.9270, got.x[2], 5e-3); // 1e-4);
266  TUASSERTFEPS(-325.35557997, got.v[2], 5e-7); // 1e-8);
267  TURETURN();
268 }
269 
270 
271 unsigned GLOCNavEph_T ::
273 {
274  TUDEF("GLOCNavEph", "getUserTime");
275  gnsstk::GLOCNavEph uut;
276  gnsstk::GLONASSTime t1(0,1452,5), t2(0,1452,8), t3(0,1452,11), t4(0,1452,14);
277  uut.header.xmit = t1;
278  uut.header11.xmit = t2;
279  uut.header12.xmit = t3;
281  uut.header.xmit = t3;
282  uut.header11.xmit = t1;
283  uut.header12.xmit = t2;
285  uut.header.xmit = t2;
286  uut.header11.xmit = t3;
287  uut.header12.xmit = t1;
289  TURETURN();
290 }
291 
292 
293 unsigned GLOCNavEph_T ::
295 {
296  TUDEF("GLOCNavEph", "fixFit");
297  gnsstk::GLOCNavEph uut;
298  gnsstk::GLONASSTime t1(0,1452,5), t4(0,1452,14);
299  gnsstk::CommonTime expLT(t4.convertToCommonTime() + 14400.0);
300  gnsstk::CommonTime expST(t4.convertToCommonTime() + 900.0);
301  uut.timeStamp = t1;
302  uut.Toe = t4;
303  TUCATCH(uut.fixFit());
304  TUASSERTE(gnsstk::CommonTime, t1.convertToCommonTime(), uut.beginFit);
305  TUASSERTE(gnsstk::CommonTime, expST, uut.endFit);
306  // check long term...
307  uut.ltdmp.header31.svid = uut.ltdmp.header32.svid = uut.header11.svid = 5;
308  uut.ltdmp.tb31 = uut.ltdmp.tb32 = 5;
309  uut.ltdmp.dax0 = uut.ltdmp.day0 = uut.ltdmp.daz0 =
310  uut.ltdmp.ax1 = uut.ltdmp.ay1 = uut.ltdmp.az1 =
311  uut.ltdmp.ax2 = uut.ltdmp.ay2 = uut.ltdmp.az2 =
312  uut.ltdmp.ax3 = uut.ltdmp.ay3 = uut.ltdmp.az3 =
313  uut.ltdmp.ax4 = uut.ltdmp.ay4 = 0;
314  uut.ltdmp.az4 = 1;
315  TUCATCH(uut.fixFit());
316  TUASSERTE(gnsstk::CommonTime, t1.convertToCommonTime(), uut.beginFit);
317  TUASSERTE(gnsstk::CommonTime, expLT, uut.endFit);
318  TURETURN();
319 }
320 
321 
322 unsigned GLOCNavEph_T ::
324 {
325  TUDEF("GLOCNavEph", "haveLTDMP");
326  gnsstk::GLOCNavEph uut;
327  TUASSERTE(bool, false, uut.haveLTDMP());
328  uut.header.svid = 9;
329  TUASSERTE(bool, false, uut.haveLTDMP());
330  uut.header11.svid = 9;
331  TUASSERTE(bool, false, uut.haveLTDMP());
332  uut.ltdmp.header31.svid = 9;
333  TUASSERTE(bool, false, uut.haveLTDMP());
334  uut.ltdmp.header32.svid = 9;
335  TUASSERTE(bool, true, uut.haveLTDMP());
336  TURETURN();
337 }
338 
339 
340 int main()
341 {
342  GLOCNavEph_T testClass;
343  unsigned errorTotal = 0;
344 
345  errorTotal += testClass.constructorTest();
346  errorTotal += testClass.validateTest();
347  // These tests fail but we don't have time to fix the problem(s) ATM.
348  errorTotal += testClass.getXvtExactTest();
349  errorTotal += testClass.getXvtSimpleTest();
350  errorTotal += testClass.getXvtLTTest();
351  errorTotal += testClass.getUserTimeTest();
352  errorTotal += testClass.fixFitTest();
353  errorTotal += testClass.haveLTDMPTest();
354 
355  std::cout << "Total Failures for " << __FILE__ << ": " << errorTotal
356  << std::endl;
357 
358  return errorTotal;
359 }
gnsstk::GLOCNavEph::Mj
GLOCSatType Mj
What satellite j is and what it transmits.
Definition: GLOCNavEph.hpp:138
YDSTime.hpp
gnsstk::GLOCNavEph::validate
bool validate() const override
Definition: GLOCNavEph.cpp:75
gnsstk::GLOCNavEph::RjT
GLOCRegime RjT
Regime for generation of clock data.
Definition: GLOCNavEph.hpp:144
gnsstk::GLOCNavEph::getUserTime
CommonTime getUserTime() const override
Definition: GLOCNavEph.cpp:196
gnsstk::GLOCNavEph::vel
Triple vel
Satellite velocity at tb in km/s.
Definition: GLOCNavEph.hpp:154
gnsstk::GLOCNavHeader::svid
uint8_t svid
Subject SV ID (j).
Definition: GLOCNavHeader.hpp:86
gnsstk::GLOCNavEph
Definition: GLOCNavEph.hpp:57
GLOCNavEph_T::validateTest
unsigned validateTest()
Definition: GLOCNavEph_T.cpp:121
gnsstk::GLOCNavEph::getXvt
bool getXvt(const CommonTime &when, Xvt &xvt, const ObsID &=ObsID()) override
Definition: GLOCNavEph.cpp:86
gnsstk::GLOCNavLTDMP::header32
GLOCNavHeader header32
Header (incl xmit time) data from string 32.
Definition: GLOCNavLTDMP.hpp:79
gnsstk::GLOCNavEph::PS
uint8_t PS
Number of strings from this type 10 to the next.
Definition: GLOCNavEph.hpp:139
gnsstk::GLOCNavEph::acc
Triple acc
Satellite acceleration at tb in km/s**2.
Definition: GLOCNavEph.hpp:155
TUCATCH
#define TUCATCH(STATEMENT)
Definition: TestUtil.hpp:193
gnsstk::GLOCNavEph::EjT
uint8_t EjT
Age of clock (6-hour intervals).
Definition: GLOCNavEph.hpp:142
gnsstk::GLOCNavEph::EjE
uint8_t EjE
Age of ephemeris (6-hour intervals).
Definition: GLOCNavEph.hpp:141
gnsstk::GLONASSTime::convertToCommonTime
CommonTime convertToCommonTime() const override
As it says, convert to a CommonTime object.
Definition: GLONASSTime.cpp:59
gnsstk::gloc::valPreamble
@ valPreamble
Definition: GLOCBits.hpp:79
gnsstk::YDSTime
Definition: YDSTime.hpp:58
gnsstk::GLOCNavEph::pos
Triple pos
Satellite position at tb in km.
Definition: GLOCNavEph.hpp:153
gnsstk::GLOCNavEph::Toe
CommonTime Toe
Reference time, combining N4, NT and tb.
Definition: GLOCNavEph.hpp:135
gnsstk::GLOCNavEph::tauDelta
double tauDelta
Offset of L3OCP time to L3OCD time.
Definition: GLOCNavEph.hpp:159
gnsstk::GLOCNavEph::RjE
GLOCRegime RjE
Regime for generation of ephemeris data.
Definition: GLOCNavEph.hpp:143
gnsstk::GLOCNavData::header
GLOCNavHeader header
Common data.
Definition: GLOCNavData.hpp:65
TUASSERTE
#define TUASSERTE(TYPE, EXP, GOT)
Definition: TestUtil.hpp:81
gnsstk::GLOCNavLTDMP::day0
double day0
Definition: GLOCNavLTDMP.hpp:86
gnsstk::GLOCNavHeader::dataInvalid
bool dataInvalid
Data validity flag (lj, false=valid).
Definition: GLOCNavHeader.hpp:88
GLOCNavEph_T::fixFitTest
unsigned fixFitTest()
Definition: GLOCNavEph_T.cpp:294
gnsstk::GLOCNavLTDMP::tb31
unsigned long tb31
Reference instant in Moscow time for string 31.
Definition: GLOCNavLTDMP.hpp:80
DEBUGTRACE
#define DEBUGTRACE(EXPR)
Definition: DebugTrace.hpp:119
gnsstk::GLOCNavHeader::preamble
uint32_t preamble
20 bit preamble for the message.
Definition: GLOCNavHeader.hpp:79
Angle.hpp
gnsstk::NavFit::endFit
CommonTime endFit
Time at end of fit interval.
Definition: NavFit.hpp:55
gnsstk::GLOCNavEph::apcOffset
Triple apcOffset
L3OC APC offset from center of mass.
Definition: GLOCNavEph.hpp:158
gnsstk::GLOCRegime::Unknown
@ Unknown
Unknown/Uninitialized value.
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
Position.hpp
gnsstk::Xvt::v
Triple v
satellite velocity in ECEF Cartesian, meters/second
Definition: Xvt.hpp:152
gnsstk::Triple
Definition: Triple.hpp:68
GLOCNavEph.hpp
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::GLOCNavEph::freqBias
double freqBias
Satellite relative frequency bias (gamma^j).
Definition: GLOCNavEph.hpp:148
gnsstk::GLOCNavLTDMP::dax0
double dax0
Definition: GLOCNavLTDMP.hpp:85
gnsstk::GLOCNavLTDMP::ay4
double ay4
Definition: GLOCNavLTDMP.hpp:98
gnsstk::NavData::timeStamp
CommonTime timeStamp
Definition: NavData.hpp:173
gnsstk::GLOCNavEph::header11
GLOCNavHeader header11
Header (incl xmit time) data from string 11.
Definition: GLOCNavEph.hpp:163
gnsstk::GLOCNavLTDMP::az4
double az4
Definition: GLOCNavLTDMP.hpp:99
gnsstk::GLOCNavEph::haveLTDMP
bool haveLTDMP() const
Definition: GLOCNavEph.hpp:132
gnsstk::GLONASSTime
Definition: GLONASSTime.hpp:59
gnsstk::GLOCNavLTDMP::ax3
double ax3
Definition: GLOCNavLTDMP.hpp:94
gnsstk::GLOCSatType
GLOCSatType
Values for Word M in the ephemeris (immediate) and almanac data.
Definition: GLOCSatType.hpp:47
gnsstk::Xvt::x
Triple x
Sat position ECEF Cartesian (X,Y,Z) meters.
Definition: Xvt.hpp:151
TestUtil.hpp
gnsstk::GLOCNavEph::taucdot
double taucdot
Rate of correction for GLONASS to Moscow time.
Definition: GLOCNavEph.hpp:151
gnsstk::GLOCNavLTDMP::tb32
unsigned long tb32
Reference instant in Moscow time for string 32.
Definition: GLOCNavLTDMP.hpp:81
TURETURN
#define TURETURN()
Definition: TestUtil.hpp:232
gnsstk::GLOCNavEph::fixFit
void fixFit()
Definition: GLOCNavEph.cpp:233
gnsstk::GLOCNavEph::clkBias
double clkBias
Satellite clock bias in sec (tau^j).
Definition: GLOCNavEph.hpp:147
gnsstk::GLOCNavEph::tauGPS
double tauGPS
Fractional part of offset from GPS to GLONASS time.
Definition: GLOCNavEph.hpp:160
GLOCNavEph_T::constructorTest
unsigned constructorTest()
Definition: GLOCNavEph_T.cpp:87
GLOCBits.hpp
gnsstk::GLOCNavEph::tauc
double tauc
Correction for GLONASS to Moscow time.
Definition: GLOCNavEph.hpp:150
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::GLOCNavLTDMP::ay3
double ay3
Definition: GLOCNavLTDMP.hpp:95
gnsstk::GLOCNavLTDMP::daz0
double daz0
Definition: GLOCNavLTDMP.hpp:87
gnsstk::GLOCNavLTDMP::ax1
double ax1
Definition: GLOCNavLTDMP.hpp:88
gnsstk::GLOCNavEph::FjE
int8_t FjE
Accuracy factors dependent on ephemeris errors.
Definition: GLOCNavEph.hpp:145
gnsstk::GLOCRegime
GLOCRegime
Regime for data generation (RjE, RjT, see ICD 5.2.2.8).
Definition: GLOCRegime.hpp:47
TUASSERTFEPS
#define TUASSERTFEPS(EXP, GOT, EPS)
Definition: TestUtil.hpp:126
gnsstk::NavFit::beginFit
CommonTime beginFit
Time at beginning of fit interval.
Definition: NavFit.hpp:54
gnsstk::GLOCNavLTDMP::header31
GLOCNavHeader header31
Header (incl xmit time) data from string 31.
Definition: GLOCNavLTDMP.hpp:78
gnsstk::Xvt
Definition: Xvt.hpp:60
CivilTime.hpp
TUDEF
#define TUDEF(CLASS, METHOD)
Definition: TestUtil.hpp:56
GLOCNavEph_T
Definition: GLOCNavEph_T.cpp:72
gnsstk::GLOCNavEph::FjT
int8_t FjT
Accuracy factors dependent on clock errors.
Definition: GLOCNavEph.hpp:146
GLONASSTime.hpp
std::operator<<
std::ostream & operator<<(std::ostream &s, gnsstk::StringUtils::FFLead v)
Definition: FormattedDouble_T.cpp:44
gnsstk::GLOCNavLTDMP::az2
double az2
Definition: GLOCNavLTDMP.hpp:93
GLOCNavEph_T::haveLTDMPTest
unsigned haveLTDMPTest()
Definition: GLOCNavEph_T.cpp:323
gnsstk::GLOCNavLTDMP::ay1
double ay1
Definition: GLOCNavLTDMP.hpp:89
gnsstk::GLOCNavLTDMP::az3
double az3
Definition: GLOCNavLTDMP.hpp:96
gnsstk::GLOCNavEph::N4
uint8_t N4
Number of leap years since 1996.
Definition: GLOCNavEph.hpp:136
GLOCNavEph_T::getXvtSimpleTest
unsigned getXvtSimpleTest()
Definition: GLOCNavEph_T.cpp:167
main
int main()
Definition: GLOCNavEph_T.cpp:340
gnsstk::GLOCSatType::Unknown
@ Unknown
Unknown/Uninitialized value.
DebugTrace.hpp
std
Definition: Angle.hpp:142
gnsstk::GLOCNavLTDMP::ax4
double ax4
Definition: GLOCNavLTDMP.hpp:97
gnsstk::NavMessageType
NavMessageType
Identify different types of navigation message data.
Definition: NavMessageType.hpp:59
GLOCNavEph_T::getXvtLTTest
unsigned getXvtLTTest()
Definition: GLOCNavEph_T.cpp:209
gnsstk::GLOCNavEph::ltdmp
GLOCNavLTDMP ltdmp
Long-term dynamic model parameters.
Definition: GLOCNavEph.hpp:161
TUASSERTFE
#define TUASSERTFE(EXP, GOT)
Definition: TestUtil.hpp:103
gnsstk::GLOCNavEph::NT
uint16_t NT
Day within four-year interval N4.
Definition: GLOCNavEph.hpp:137
gnsstk::GLOCNavEph::driftRate
double driftRate
Half rate of relative deviation of carrier freq.
Definition: GLOCNavEph.hpp:149
gnsstk::GLOCNavHeader::xmit
CommonTime xmit
Transmit time of the string.
Definition: GLOCNavHeader.hpp:78
gnsstk::GLOCNavLTDMP::az1
double az1
Definition: GLOCNavLTDMP.hpp:90
GLOCNavEph_T::getUserTimeTest
unsigned getUserTimeTest()
Definition: GLOCNavEph_T.cpp:272
gnsstk::GLOCNavLTDMP::ax2
double ax2
Definition: GLOCNavLTDMP.hpp:91
gnsstk::GLOCNavLTDMP::ay2
double ay2
Definition: GLOCNavLTDMP.hpp:92
GLOCNavEph_T::getXvtExactTest
unsigned getXvtExactTest()
Definition: GLOCNavEph_T.cpp:139
gnsstk::GLOCNavEph::header12
GLOCNavHeader header12
Header (incl xmit time) data from string 12.
Definition: GLOCNavEph.hpp:164
gnsstk::GLOCNavEph::step
double step
Definition: GLOCNavEph.hpp:169
gnsstk::GLOCNavEph::tb
unsigned long tb
Instant in Moscow time this data relates to.
Definition: GLOCNavEph.hpp:140
TimeString.hpp


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:39