PNBBDSD2NavDataFactory_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 <iostream>
40 #include <sstream>
41 #include <iterator>
42 #include "FactoryCounter.hpp"
44 #include "TestUtil.hpp"
45 #include "BDSD2NavTimeOffset.hpp"
46 #include "BDSD2NavHealth.hpp"
47 #include "BDSD2NavEph.hpp"
48 #include "BDSD2NavAlm.hpp"
49 #include "BDSD2NavIono.hpp"
50 #include "BDSD2NavISC.hpp"
51 #include "TimeString.hpp"
52 #include "CivilTime.hpp"
53 
54 using namespace std;
55 
56 // avoid having to type out template params over and over.
58 
59 namespace gnsstk
60 {
61  std::ostream& operator<<(std::ostream& s, SVHealth h)
62  {
63  s << StringUtils::asString(h);
64  return s;
65  }
66 }
67 
69 {
70  string rv;
71  for (const auto& i : nmts)
72  {
73  rv = rv + " " + gnsstk::StringUtils::asString(i);
74  }
75  return rv;
76 }
77 
78 
79 
81 {
82 public:
85  unsigned foreignTest();
87  unsigned filterTest(const gnsstk::NavMessageTypeSet& nmts);
89  unsigned filterTests();
91  unsigned addDataValidityTest();
92  unsigned processAlmTest();
93  unsigned processEphTest();
94  unsigned processSF5Pg35Test();
95  unsigned processSF5Pg36Test();
96  unsigned processSF5Pg101Test();
97  unsigned processSF5Pg102Test();
98  unsigned processSF5Pg116Test();
99  unsigned isAlmDefaultTest();
100 
101 #include "D2NavTestDataDecl.hpp"
102 };
103 
104 
107 {
108 #include "D2NavTestDataDef.hpp"
109 }
110 
111 
114 {
115  TUDEF("PNBBDSD2NavDataFactory", "addData");
116  BDSFactoryCounter fc(testFramework);
122  gnsstk::PackedNavBitsPtr nonBDS = std::make_shared<gnsstk::PackedNavBits>(
123  gloSid, gloid, gloNav, "XX", navD2SF1p001ct);
124  gnsstk::NavDataPtrList navOut;
125  // should refuse non-BDS data
126  TUASSERTE(bool, false, uut.addData(nonBDS, navOut));
127  TURETURN();
128 }
129 
130 
133 {
134  TUDEF("PNBBDSD2NavDataFactory", "addData("+asString(nmts)+")");
135  BDSFactoryCounter fc(testFramework);
137  gnsstk::NavDataPtrList navOut;
138  TUCATCH(uut.setTypeFilter(nmts));
139  fc.setInc(nmts);
140  TUASSERTE(bool, true, uut.addData(navD2SF1p001, navOut));
141  fc.validateResults(navOut, __LINE__, 2, 0, 0, 0, 1, 0, 1);
142  TUASSERTE(bool, true, uut.addData(navD2SF2p001, navOut));
143  fc.validateResults(navOut, __LINE__);
144  TUASSERTE(bool, true, uut.addData(navD2SF3p001, navOut));
145  fc.validateResults(navOut, __LINE__);
146  TUASSERTE(bool, true, uut.addData(navD2SF4p001, navOut));
147  fc.validateResults(navOut, __LINE__);
148  TUASSERTE(bool, true, uut.addData(navD2SF5p001, navOut));
149  fc.validateResults(navOut, __LINE__);
150  TUASSERTE(bool, true, uut.addData(navD2SF1p002, navOut));
151  fc.validateResults(navOut, __LINE__, 1, 0, 0, 0, 0, 1);
152  TUASSERTE(bool, true, uut.addData(navD2SF2p002, navOut));
153  fc.validateResults(navOut, __LINE__);
154  TUASSERTE(bool, true, uut.addData(navD2SF3p002, navOut));
155  fc.validateResults(navOut, __LINE__);
156  TUASSERTE(bool, true, uut.addData(navD2SF4p002, navOut));
157  fc.validateResults(navOut, __LINE__);
158  TUASSERTE(bool, true, uut.addData(navD2SF5p002, navOut));
159  fc.validateResults(navOut, __LINE__);
160  TUASSERTE(bool, true, uut.addData(navD2SF1p003, navOut));
161  fc.validateResults(navOut, __LINE__);
162  TUASSERTE(bool, true, uut.addData(navD2SF2p003, navOut));
163  fc.validateResults(navOut, __LINE__);
164  TUASSERTE(bool, true, uut.addData(navD2SF3p003, navOut));
165  fc.validateResults(navOut, __LINE__);
166  TUASSERTE(bool, true, uut.addData(navD2SF4p003, navOut));
167  fc.validateResults(navOut, __LINE__);
168  TUASSERTE(bool, true, uut.addData(navD2SF5p003, navOut));
169  fc.validateResults(navOut, __LINE__);
170  TUASSERTE(bool, true, uut.addData(navD2SF1p004, navOut));
171  fc.validateResults(navOut, __LINE__);
172  TUASSERTE(bool, true, uut.addData(navD2SF2p004, navOut));
173  fc.validateResults(navOut, __LINE__);
174  TUASSERTE(bool, true, uut.addData(navD2SF3p004, navOut));
175  fc.validateResults(navOut, __LINE__);
176  TUASSERTE(bool, true, uut.addData(navD2SF4p004, navOut));
177  fc.validateResults(navOut, __LINE__);
178  TUASSERTE(bool, true, uut.addData(navD2SF5p004, navOut));
179  fc.validateResults(navOut, __LINE__);
180  TUASSERTE(bool, true, uut.addData(navD2SF1p005, navOut));
181  fc.validateResults(navOut, __LINE__);
182  TUASSERTE(bool, true, uut.addData(navD2SF2p005, navOut));
183  fc.validateResults(navOut, __LINE__);
184  TUASSERTE(bool, true, uut.addData(navD2SF3p005, navOut));
185  fc.validateResults(navOut, __LINE__);
186  TUASSERTE(bool, true, uut.addData(navD2SF4p005, navOut));
187  fc.validateResults(navOut, __LINE__);
188  TUASSERTE(bool, true, uut.addData(navD2SF5p005, navOut));
189  fc.validateResults(navOut, __LINE__);
190  TUASSERTE(bool, true, uut.addData(navD2SF1p006, navOut));
191  fc.validateResults(navOut, __LINE__);
192  TUASSERTE(bool, true, uut.addData(navD2SF2p006, navOut));
193  fc.validateResults(navOut, __LINE__);
194  TUASSERTE(bool, true, uut.addData(navD2SF3p006, navOut));
195  fc.validateResults(navOut, __LINE__);
196  TUASSERTE(bool, true, uut.addData(navD2SF4p006, navOut));
197  fc.validateResults(navOut, __LINE__);
198  TUASSERTE(bool, true, uut.addData(navD2SF5p006, navOut));
199  fc.validateResults(navOut, __LINE__);
200  TUASSERTE(bool, true, uut.addData(navD2SF1p007, navOut));
201  fc.validateResults(navOut, __LINE__);
202  TUASSERTE(bool, true, uut.addData(navD2SF5p007, navOut));
203  fc.validateResults(navOut, __LINE__);
204  TUASSERTE(bool, true, uut.addData(navD2SF1p008, navOut));
205  fc.validateResults(navOut, __LINE__);
206  TUASSERTE(bool, true, uut.addData(navD2SF5p008, navOut));
207  fc.validateResults(navOut, __LINE__);
208  TUASSERTE(bool, true, uut.addData(navD2SF1p009, navOut));
209  fc.validateResults(navOut, __LINE__);
210  TUASSERTE(bool, true, uut.addData(navD2SF5p009, navOut));
211  fc.validateResults(navOut, __LINE__);
212  TUASSERTE(bool, true, uut.addData(navD2SF1p010, navOut));
213  fc.validateResults(navOut, __LINE__, 1, 0, 1);
214  TUASSERTE(bool, true, uut.addData(navD2SF5p010, navOut));
215  fc.validateResults(navOut, __LINE__);
216  TUASSERTE(bool, true, uut.addData(navD2SF5p011, navOut));
217  fc.validateResults(navOut, __LINE__);
218  TUASSERTE(bool, true, uut.addData(navD2SF5p012, navOut));
219  fc.validateResults(navOut, __LINE__);
220  TUASSERTE(bool, true, uut.addData(navD2SF5p013, navOut));
221  fc.validateResults(navOut, __LINE__);
222  TUASSERTE(bool, true, uut.addData(navD2SF5p014, navOut));
223  fc.validateResults(navOut, __LINE__);
224  TUASSERTE(bool, true, uut.addData(navD2SF5p015, navOut));
225  fc.validateResults(navOut, __LINE__);
226  TUASSERTE(bool, true, uut.addData(navD2SF5p016, navOut));
227  fc.validateResults(navOut, __LINE__);
228  TUASSERTE(bool, true, uut.addData(navD2SF5p017, navOut));
229  fc.validateResults(navOut, __LINE__);
230  TUASSERTE(bool, true, uut.addData(navD2SF5p018, navOut));
231  fc.validateResults(navOut, __LINE__);
232  TUASSERTE(bool, true, uut.addData(navD2SF5p019, navOut));
233  fc.validateResults(navOut, __LINE__);
234  TUASSERTE(bool, true, uut.addData(navD2SF5p020, navOut));
235  fc.validateResults(navOut, __LINE__);
236  TUASSERTE(bool, true, uut.addData(navD2SF5p021, navOut));
237  fc.validateResults(navOut, __LINE__);
238  TUASSERTE(bool, true, uut.addData(navD2SF5p022, navOut));
239  fc.validateResults(navOut, __LINE__);
240  TUASSERTE(bool, true, uut.addData(navD2SF5p023, navOut));
241  fc.validateResults(navOut, __LINE__);
242  TUASSERTE(bool, true, uut.addData(navD2SF5p024, navOut));
243  fc.validateResults(navOut, __LINE__);
244  TUASSERTE(bool, true, uut.addData(navD2SF5p025, navOut));
245  fc.validateResults(navOut, __LINE__);
246  TUASSERTE(bool, true, uut.addData(navD2SF5p026, navOut));
247  fc.validateResults(navOut, __LINE__);
248  TUASSERTE(bool, true, uut.addData(navD2SF5p027, navOut));
249  fc.validateResults(navOut, __LINE__);
250  TUASSERTE(bool, true, uut.addData(navD2SF5p028, navOut));
251  fc.validateResults(navOut, __LINE__);
252  TUASSERTE(bool, true, uut.addData(navD2SF5p029, navOut));
253  fc.validateResults(navOut, __LINE__);
254  TUASSERTE(bool, true, uut.addData(navD2SF5p030, navOut));
255  fc.validateResults(navOut, __LINE__);
256  TUASSERTE(bool, true, uut.addData(navD2SF5p031, navOut));
257  fc.validateResults(navOut, __LINE__);
258  TUASSERTE(bool, true, uut.addData(navD2SF5p032, navOut));
259  fc.validateResults(navOut, __LINE__);
260  TUASSERTE(bool, true, uut.addData(navD2SF5p033, navOut));
261  fc.validateResults(navOut, __LINE__);
262  TUASSERTE(bool, true, uut.addData(navD2SF5p034, navOut));
263  fc.validateResults(navOut, __LINE__);
264  TUASSERTE(bool, true, uut.addData(navD2SF5p035, navOut));
265  fc.validateResults(navOut, __LINE__, 19, 0, 0, 0, 19);
266  TUASSERTE(bool, true, uut.addData(navD2SF5p036, navOut));
267  fc.validateResults(navOut, __LINE__, 11, 0, 0, 0, 11);
268  TUASSERTE(bool, true, uut.addData(navD2SF5p037, navOut));
269  fc.validateResults(navOut, __LINE__, 1, 1);
270  TUASSERTE(bool, true, uut.addData(navD2SF5p038, navOut));
271  fc.validateResults(navOut, __LINE__, 1, 1);
272  TUASSERTE(bool, true, uut.addData(navD2SF5p039, navOut));
273  fc.validateResults(navOut, __LINE__, 1, 1);
274  TUASSERTE(bool, true, uut.addData(navD2SF5p040, navOut));
275  fc.validateResults(navOut, __LINE__, 1, 1);
276  TUASSERTE(bool, true, uut.addData(navD2SF5p041, navOut));
277  fc.validateResults(navOut, __LINE__, 1, 1);
278  TUASSERTE(bool, true, uut.addData(navD2SF5p042, navOut));
279  fc.validateResults(navOut, __LINE__, 1, 1);
280  TUASSERTE(bool, true, uut.addData(navD2SF5p043, navOut));
281  fc.validateResults(navOut, __LINE__); // no alm, toa mismatch
282  TUASSERTE(bool, true, uut.addData(navD2SF5p044, navOut));
283  fc.validateResults(navOut, __LINE__, 1, 1);
284  TUASSERTE(bool, true, uut.addData(navD2SF5p045, navOut));
285  fc.validateResults(navOut, __LINE__, 1, 1);
286  TUASSERTE(bool, true, uut.addData(navD2SF5p046, navOut));
287  fc.validateResults(navOut, __LINE__, 1, 1);
288  TUASSERTE(bool, true, uut.addData(navD2SF5p047, navOut));
289  fc.validateResults(navOut, __LINE__, 1, 1);
290  TUASSERTE(bool, true, uut.addData(navD2SF5p048, navOut));
291  fc.validateResults(navOut, __LINE__, 1, 1);
292  TUASSERTE(bool, true, uut.addData(navD2SF5p049, navOut));
293  fc.validateResults(navOut, __LINE__, 1, 1);
294  TUASSERTE(bool, true, uut.addData(navD2SF5p050, navOut));
295  fc.validateResults(navOut, __LINE__); // no alm, toa mismatch
296  TUASSERTE(bool, true, uut.addData(navD2SF5p051, navOut));
297  fc.validateResults(navOut, __LINE__, 1, 1);
298  TUASSERTE(bool, true, uut.addData(navD2SF5p052, navOut));
299  fc.validateResults(navOut, __LINE__, 1, 1);
300  TUASSERTE(bool, true, uut.addData(navD2SF5p053, navOut));
301  fc.validateResults(navOut, __LINE__, 1, 1);
302  TUASSERTE(bool, true, uut.addData(navD2SF5p054, navOut));
303  fc.validateResults(navOut, __LINE__, 1, 1);
304  TUASSERTE(bool, true, uut.addData(navD2SF5p055, navOut));
305  fc.validateResults(navOut, __LINE__, 1, 1);
306  TUASSERTE(bool, true, uut.addData(navD2SF5p056, navOut));
307  fc.validateResults(navOut, __LINE__, 1, 1);
308  TUASSERTE(bool, true, uut.addData(navD2SF5p057, navOut));
309  fc.validateResults(navOut, __LINE__, 1, 1);
310  TUASSERTE(bool, true, uut.addData(navD2SF5p058, navOut));
311  fc.validateResults(navOut, __LINE__, 1, 1);
312  TUASSERTE(bool, true, uut.addData(navD2SF5p059, navOut));
313  fc.validateResults(navOut, __LINE__, 1, 1);
314  TUASSERTE(bool, true, uut.addData(navD2SF5p060, navOut));
315  fc.validateResults(navOut, __LINE__, 1, 1);
316  TUASSERTE(bool, true, uut.addData(navD2SF5p061, navOut));
317  fc.validateResults(navOut, __LINE__);
318  TUASSERTE(bool, true, uut.addData(navD2SF5p062, navOut));
319  fc.validateResults(navOut, __LINE__);
320  TUASSERTE(bool, true, uut.addData(navD2SF5p063, navOut));
321  fc.validateResults(navOut, __LINE__);
322  TUASSERTE(bool, true, uut.addData(navD2SF5p064, navOut));
323  fc.validateResults(navOut, __LINE__);
324  TUASSERTE(bool, true, uut.addData(navD2SF5p065, navOut));
325  fc.validateResults(navOut, __LINE__);
326  TUASSERTE(bool, true, uut.addData(navD2SF5p066, navOut));
327  fc.validateResults(navOut, __LINE__);
328  TUASSERTE(bool, true, uut.addData(navD2SF5p067, navOut));
329  fc.validateResults(navOut, __LINE__);
330  TUASSERTE(bool, true, uut.addData(navD2SF5p068, navOut));
331  fc.validateResults(navOut, __LINE__);
332  TUASSERTE(bool, true, uut.addData(navD2SF5p069, navOut));
333  fc.validateResults(navOut, __LINE__);
334  TUASSERTE(bool, true, uut.addData(navD2SF5p070, navOut));
335  fc.validateResults(navOut, __LINE__);
336  TUASSERTE(bool, true, uut.addData(navD2SF5p071, navOut));
337  fc.validateResults(navOut, __LINE__);
338  TUASSERTE(bool, true, uut.addData(navD2SF5p072, navOut));
339  fc.validateResults(navOut, __LINE__);
340  TUASSERTE(bool, true, uut.addData(navD2SF5p073, navOut));
341  fc.validateResults(navOut, __LINE__);
342  TUASSERTE(bool, true, uut.addData(navD2SF5p074, navOut));
343  fc.validateResults(navOut, __LINE__);
344  TUASSERTE(bool, true, uut.addData(navD2SF5p075, navOut));
345  fc.validateResults(navOut, __LINE__);
346  TUASSERTE(bool, true, uut.addData(navD2SF5p076, navOut));
347  fc.validateResults(navOut, __LINE__);
348  TUASSERTE(bool, true, uut.addData(navD2SF5p077, navOut));
349  fc.validateResults(navOut, __LINE__);
350  TUASSERTE(bool, true, uut.addData(navD2SF5p078, navOut));
351  fc.validateResults(navOut, __LINE__);
352  TUASSERTE(bool, true, uut.addData(navD2SF5p079, navOut));
353  fc.validateResults(navOut, __LINE__);
354  TUASSERTE(bool, true, uut.addData(navD2SF5p080, navOut));
355  fc.validateResults(navOut, __LINE__);
356  TUASSERTE(bool, true, uut.addData(navD2SF5p081, navOut));
357  fc.validateResults(navOut, __LINE__);
358  TUASSERTE(bool, true, uut.addData(navD2SF5p082, navOut));
359  fc.validateResults(navOut, __LINE__);
360  TUASSERTE(bool, true, uut.addData(navD2SF5p083, navOut));
361  fc.validateResults(navOut, __LINE__);
362  TUASSERTE(bool, true, uut.addData(navD2SF5p084, navOut));
363  fc.validateResults(navOut, __LINE__);
364  TUASSERTE(bool, true, uut.addData(navD2SF5p085, navOut));
365  fc.validateResults(navOut, __LINE__);
366  TUASSERTE(bool, true, uut.addData(navD2SF5p086, navOut));
367  fc.validateResults(navOut, __LINE__);
368  TUASSERTE(bool, true, uut.addData(navD2SF5p087, navOut));
369  fc.validateResults(navOut, __LINE__);
370  TUASSERTE(bool, true, uut.addData(navD2SF5p088, navOut));
371  fc.validateResults(navOut, __LINE__);
372  TUASSERTE(bool, true, uut.addData(navD2SF5p089, navOut));
373  fc.validateResults(navOut, __LINE__);
374  TUASSERTE(bool, true, uut.addData(navD2SF5p090, navOut));
375  fc.validateResults(navOut, __LINE__);
376  TUASSERTE(bool, true, uut.addData(navD2SF5p091, navOut));
377  fc.validateResults(navOut, __LINE__);
378  TUASSERTE(bool, true, uut.addData(navD2SF5p092, navOut));
379  fc.validateResults(navOut, __LINE__);
380  TUASSERTE(bool, true, uut.addData(navD2SF5p093, navOut));
381  fc.validateResults(navOut, __LINE__);
382  TUASSERTE(bool, true, uut.addData(navD2SF5p094, navOut));
383  fc.validateResults(navOut, __LINE__);
384  TUASSERTE(bool, true, uut.addData(navD2SF5p095, navOut));
385  fc.validateResults(navOut, __LINE__, 1, 1);
386  TUASSERTE(bool, true, uut.addData(navD2SF5p096, navOut));
387  fc.validateResults(navOut, __LINE__, 1, 1);
388  TUASSERTE(bool, true, uut.addData(navD2SF5p097, navOut));
389  fc.validateResults(navOut, __LINE__, 1, 1);
390  TUASSERTE(bool, true, uut.addData(navD2SF5p098, navOut));
391  fc.validateResults(navOut, __LINE__, 1, 1);
392  TUASSERTE(bool, true, uut.addData(navD2SF5p099, navOut));
393  fc.validateResults(navOut, __LINE__, 1, 1);
394  TUASSERTE(bool, true, uut.addData(navD2SF5p100, navOut));
395  fc.validateResults(navOut, __LINE__, 1, 1);
396  TUASSERTE(bool, true, uut.addData(navD2SF5p101, navOut));
397  fc.validateResults(navOut, __LINE__, 3, 0, 0, 3);
398  TUASSERTE(bool, true, uut.addData(navD2SF5p102, navOut));
399  fc.validateResults(navOut, __LINE__, 1, 0, 0, 1);
400  TUASSERTE(bool, true, uut.addData(navD2SF5p103, navOut));
401  fc.validateResults(navOut, __LINE__);
402  TUASSERTE(bool, true, uut.addData(navD2SF5p104, navOut));
403  fc.validateResults(navOut, __LINE__);
404  TUASSERTE(bool, true, uut.addData(navD2SF5p105, navOut));
405  fc.validateResults(navOut, __LINE__);
406  TUASSERTE(bool, true, uut.addData(navD2SF5p106, navOut));
407  fc.validateResults(navOut, __LINE__);
408  TUASSERTE(bool, true, uut.addData(navD2SF5p107, navOut));
409  fc.validateResults(navOut, __LINE__);
410  TUASSERTE(bool, true, uut.addData(navD2SF5p108, navOut));
411  fc.validateResults(navOut, __LINE__);
412  TUASSERTE(bool, true, uut.addData(navD2SF5p109, navOut));
413  fc.validateResults(navOut, __LINE__);
414  TUASSERTE(bool, true, uut.addData(navD2SF5p110, navOut));
415  fc.validateResults(navOut, __LINE__);
416  TUASSERTE(bool, true, uut.addData(navD2SF5p111, navOut));
417  fc.validateResults(navOut, __LINE__);
418  TUASSERTE(bool, true, uut.addData(navD2SF5p112, navOut));
419  fc.validateResults(navOut, __LINE__);
420  TUASSERTE(bool, true, uut.addData(navD2SF5p113, navOut));
421  fc.validateResults(navOut, __LINE__);
422  TUASSERTE(bool, true, uut.addData(navD2SF5p114, navOut));
423  fc.validateResults(navOut, __LINE__);
424  TUASSERTE(bool, true, uut.addData(navD2SF5p115, navOut));
425  fc.validateResults(navOut, __LINE__);
426  TUASSERTE(bool, true, uut.addData(navD2SF5p116, navOut));
427  fc.validateResults(navOut, __LINE__);
428  TUASSERTE(bool, true, uut.addData(navD2SF5p117, navOut));
429  fc.validateResults(navOut, __LINE__);
430  TUASSERTE(bool, true, uut.addData(navD2SF5p118, navOut));
431  fc.validateResults(navOut, __LINE__);
432  TUASSERTE(bool, true, uut.addData(navD2SF5p119, navOut));
433  fc.validateResults(navOut, __LINE__);
434  TUASSERTE(bool, true, uut.addData(navD2SF5p120, navOut));
435  fc.validateResults(navOut, __LINE__);
436  TURETURN();
437 }
438 
439 
442 {
443  TUDEF("PNBBDSD2NavDataFactory", "addData");
445  TURETURN();
446 }
447 
448 
451 {
452  TUDEF("PNBBDSD2NavDataFactory", "processAlm");
453  BDSFactoryCounter fc(testFramework);
455  gnsstk::NavMessageID nmidExp(
460  gnsstk::CommonTime toeExp = gnsstk::BDSWeekSecond(810,81920.0);
463  gnsstk::NavDataPtrList navOut;
464  gnsstk::BDSD2NavAlm *alm;
466  // First store the subframes with the extra necessary data.
467  TUASSERTE(bool, true, uut.addData(navD2SF5p036, navOut)); // WNa + health
468  navOut.clear();
469  // success, almanac data only
471  TUASSERTE(bool, true, uut.addData(navD2SF5p056, navOut));
472  for (const auto& i : navOut)
473  {
474  if ((alm = dynamic_cast<gnsstk::BDSD2NavAlm*>(i.get())) != nullptr)
475  {
476  // NavData fields
478  TUASSERTE(gnsstk::NavMessageID, nmidExp, alm->signal);
479  // OrbitData has no fields
480  // OrbitDataKepler fields
482  TUASSERTE(gnsstk::CommonTime, toeExp, alm->Toe);
483  TUASSERTE(gnsstk::CommonTime, toeExp, alm->Toc); // same value as toe
485  TUASSERTFE(0, alm->Cus);
486  TUASSERTFE(0, alm->Cuc);
487  TUASSERTFE(0, alm->Crc);
488  TUASSERTFE(0, alm->Crs);
489  TUASSERTFE(0, alm->Cic);
490  TUASSERTFE(0, alm->Cis);
491  TUASSERTFE(-0.49719715118408203125, alm->M0);
492  TUASSERTFE(0, alm->dn);
493  TUASSERTFE(0, alm->dndot);
494  TUASSERTFE(0.000812053680419921875, alm->ecc);
495  TUASSERTFE(5282.57958984375, alm->Ahalf);
496  TUASSERTFE(27905647.123033761978, alm->A);
497  TUASSERTFE(0, alm->Adot);
498  TUASSERTFE(-0.92198193073272705078, alm->OMEGA0);
499  TUASSERTFE(0.3077495574951171764, alm->i0);
500  TUASSERTFE(-0.18077933788299560547, alm->w);
501  TUASSERTFE(-2.182787284255027771e-09, alm->OMEGAdot);
502  TUASSERTFE(0, alm->idot);
503  TUASSERTFE(-0.00084781646728515625, alm->af0);
504  TUASSERTFE(1.0913936421275138855e-11, alm->af1);
505  TUASSERTFE(0, alm->af2);
506  TUASSERTE(gnsstk::CommonTime, beginExp, alm->beginFit);
507  TUASSERTE(gnsstk::CommonTime, endExp, alm->endFit);
508  // BDSD2NavData fields
509  TUASSERTE(uint32_t, 0x712, alm->pre);
510  TUASSERTE(uint32_t, 0, alm->rev);
511  TUASSERTE(unsigned, 5, alm->fraID);
512  TUASSERTE(uint32_t, 345765, alm->sow);
513  // BDSD2NavAlm fields
514  TUASSERTE(unsigned, 56, alm->pnum);
515  TUASSERTFE(0.0077495574951171875, alm->deltai);
516  TUASSERTFE(81920, alm->toa);
517  TUASSERTE(uint16_t, 88, alm->healthBits);
518  TUASSERTE(bool, false, alm->isDefault);
519  }
520  }
521  fc.validateResults(navOut, __LINE__, 1, 1);
522  TURETURN();
523 }
524 
525 
528 {
529  TUDEF("PNBBDSD2NavDataFactory", "processEph");
530  BDSFactoryCounter fc(testFramework);
532  gnsstk::NavMessageID nmidExp(
537  gnsstk::CommonTime toeExp = gnsstk::BDSWeekSecond(810,345600.0);
538  gnsstk::CommonTime beginExp = gnsstk::BDSWeekSecond(810,345614.0);
539  gnsstk::CommonTime endExp = gnsstk::BDSWeekSecond(810,352800.0);
540  gnsstk::NavDataPtrList navOut;
542  gnsstk::BDSD2NavEph *eph;
543  gnsstk::BDSD2NavIono *iono;
544  gnsstk::BDSD2NavISC *isc;
545  // success, health, ISC and health data only
546  TUASSERTE(bool, true, uut.processEph(1, navD2SF1p001, navOut));
547  for (const auto& i : navOut)
548  {
549  if ((hea = dynamic_cast<gnsstk::BDSD2NavHealth*>(i.get())) != nullptr)
550  {
552  // NavData fields
554  TUASSERTE(gnsstk::NavMessageID, nmidExp, hea->signal);
555  // NavHealthData has no fields
556  // BDSD2NavHealth
557  TUASSERTE(bool, false, hea->isAlmHealth);
558  TUASSERTE(bool, false, hea->satH1);
559  TUASSERTE(uint16_t, 255, hea->svHealth);
560  }
561  else if ((isc = dynamic_cast<gnsstk::BDSD2NavISC*>(i.get())) != nullptr)
562  {
564  // NavData fields
566  TUASSERTE(gnsstk::NavMessageID, nmidExp, isc->signal);
567  // InterSigCorr
568  TUASSERTE(bool, true, std::isnan(isc->isc));
569  // BDSD2NavISC
570  TUASSERTE(uint32_t, 0x712, isc->pre);
571  TUASSERTE(uint32_t, 0, isc->rev);
572  TUASSERTE(unsigned, 1, isc->fraID);
573  TUASSERTE(uint32_t, 345600, isc->sow);
574  TUASSERTFE(-5.6e-9, isc->tgd1);
575  TUASSERTFE(-1.01e-8, isc->tgd2);
576  }
577  }
578  fc.validateResults(navOut, __LINE__, 2, 0, 0, 0, 1, 0, 1);
579  // success, iono data only
580  TUASSERTE(bool, true, uut.processEph(2, navD2SF1p002, navOut));
581  for (const auto& i : navOut)
582  {
583  if ((iono = dynamic_cast<gnsstk::BDSD2NavIono*>(i.get())) != nullptr)
584  {
586  // NavData fields
588  TUASSERTE(gnsstk::NavMessageID, nmidExp, iono->signal);
589  // KlobucharIonoNavData
590  TUASSERTFE( 6.519258E-09, iono->alpha[0]);
591  TUASSERTFE( 2.98023223876953125e-08, iono->alpha[1]);
592  TUASSERTFE(-2.98023223876953125e-07, iono->alpha[2]);
593  TUASSERTFE( 4.17232513427734375e-07, iono->alpha[3]);
594  TUASSERTFE( 112640, iono->beta[0]);
595  TUASSERTFE( 180224, iono->beta[1]);
596  TUASSERTFE(-524288, iono->beta[2]);
597  TUASSERTFE( 458752, iono->beta[3]);
598  // BDSD2NavIono
599  TUASSERTE(uint32_t, 0x712, iono->pre);
600  TUASSERTE(uint32_t, 0, iono->rev);
601  TUASSERTE(unsigned, 1, iono->fraID);
602  TUASSERTE(uint32_t, 345603, iono->sow);
603  }
604  }
605  fc.validateResults(navOut, __LINE__, 1, 0, 0, 0, 0, 1);
606  // success, no further output at this time
607  TUASSERTE(bool, true, uut.processEph(3, navD2SF1p003, navOut));
608  fc.validateResults(navOut, __LINE__);
609  TUASSERTE(bool, true, uut.processEph(4, navD2SF1p004, navOut));
610  fc.validateResults(navOut, __LINE__);
611  TUASSERTE(bool, true, uut.processEph(5, navD2SF1p005, navOut));
612  fc.validateResults(navOut, __LINE__);
613  TUASSERTE(bool, true, uut.processEph(6, navD2SF1p006, navOut));
614  fc.validateResults(navOut, __LINE__);
615  TUASSERTE(bool, true, uut.processEph(7, navD2SF1p007, navOut));
616  fc.validateResults(navOut, __LINE__);
617  TUASSERTE(bool, true, uut.processEph(8, navD2SF1p008, navOut));
618  fc.validateResults(navOut, __LINE__);
619  TUASSERTE(bool, true, uut.processEph(9, navD2SF1p009, navOut));
620  fc.validateResults(navOut, __LINE__);
621  // success and we have an ephemeris.
622  TUASSERTE(bool, true, uut.processEph(10, navD2SF1p010, navOut));
623  for (const auto& i : navOut)
624  {
625  if ((eph = dynamic_cast<gnsstk::BDSD2NavEph*>(i.get())) != nullptr)
626  {
628  // NavData fields
630  TUASSERTE(gnsstk::NavMessageID, nmidExp, eph->signal);
631  // OrbitData has no fields
632  // OrbitDataKepler fields
634  TUASSERTE(gnsstk::CommonTime, toeExp, eph->Toe);
635  TUASSERTE(gnsstk::CommonTime, toeExp, eph->Toc); // same value as toe
637  TUASSERTFE(-7.9278834164142608643E-06, eph->Cus);
638  TUASSERTFE(-1.6712117940187454224E-05, eph->Cuc);
639  TUASSERTFE( 2.45484375E+02, eph->Crc);
640  TUASSERTFE(-5.05640625E+02, eph->Crs);
641  TUASSERTFE(-2.10944563E-07, eph->Cic);
642  TUASSERTFE( 8.05594027E-08, eph->Cis);
643  TUASSERTFE(-1.916523214107468176E+00, eph->M0);
644  TUASSERTFE(-6.54670127E-10, eph->dn);
645  TUASSERTFE(0, eph->dndot);
646  TUASSERTFE( 6.1676383484154939651E-04, eph->ecc);
647  TUASSERTFE(sqrt( 4.2164428143935076892E+07), eph->Ahalf);
648  TUASSERTFE( 4.2164428143935076892E+07, eph->A);
649  TUASSERTFE(0, eph->Adot);
650  TUASSERTFE(-3.1259749468667630268E+00, eph->OMEGA0);
651  TUASSERTFE( 8.6141192515002310004E-02, eph->i0);
652  TUASSERTFE( 1.3510960489050376498E+00, eph->w);
653  TUASSERTFE( 1.69721355E-09, eph->OMEGAdot);
654  TUASSERTFE( 3.9573076900000001079E-10, eph->idot);
655  TUASSERTFE(-2.7373037301003932953E-04, eph->af0);
656  TUASSERTFE( 3.71924713E-11, eph->af1);
657  TUASSERTFE( 0.00000000E+00, eph->af2);
658  TUASSERTE(gnsstk::CommonTime, beginExp, eph->beginFit);
659  TUASSERTE(gnsstk::CommonTime, endExp, eph->endFit);
660  // BDSD2NavData fields
661  TUASSERTE(uint32_t, 0x712, eph->pre);
662  TUASSERTE(uint32_t, 0, eph->rev);
663  TUASSERTE(unsigned, 1, eph->fraID);
664  TUASSERTE(uint32_t, 345600, eph->sow);
665  // BDSD2NavEph fields
666  TUASSERTE(bool, false, eph->satH1);
667  TUASSERTE(unsigned, 0, eph->aodc);
668  TUASSERTE(unsigned, 1, eph->aode);
669  TUASSERTE(unsigned, 0, eph->uraIndex);
670  TUASSERTFE(-5.6e-9, eph->tgd1);
671  TUASSERTFE(-1.01e-8, eph->tgd2);
672  }
673  }
674  fc.validateResults(navOut, __LINE__, 1, 0, 1);
675  TURETURN();
676 }
677 
678 
681 {
682  TUDEF("PNBBDSD2NavDataFactory", "processSF5Pg35");
683  BDSFactoryCounter fc(testFramework);
685  gnsstk::NavMessageID nmidExp(
690  gnsstk::NavDataPtrList navOut;
692  uint16_t expHea;
693  // success, health data only
694  TUASSERTE(bool, true, uut.processSF5Pg35(navD2SF5p035, navOut));
695  for (const auto& i : navOut)
696  {
697  if ((hea = dynamic_cast<gnsstk::BDSD2NavHealth*>(i.get())) != nullptr)
698  {
699  // NavData fields
701  TUASSERTE(gnsstk::NavMessageID, nmidExp, hea->signal);
702  // NavHealthData has no fields
703  // BDSD2NavHealth
704  TUASSERTE(bool, true, hea->isAlmHealth);
705  TUASSERTE(bool, true, hea->satH1);
706  if ((nmidExp.sat.id == 7) || (nmidExp.sat.id == 17))
707  expHea = 256;
708  else if ((nmidExp.sat.id == 15) || (nmidExp.sat.id == 18))
709  expHea = 510;
710  else if (nmidExp.sat.id >= 19)
711  expHea = 88;
712  else
713  expHea = 0;
714  TUASSERTE(uint16_t, expHea, hea->svHealth);
715  // While it's not strictly necessary that the results come
716  // in PRN order, they do currently and this statement
717  // addresses that fact.
718  nmidExp.sat.id++;
719  }
720  }
721  fc.validateResults(navOut, __LINE__, 19, 0, 0, 0, 19);
722  TURETURN();
723 }
724 
725 
728 {
729  TUDEF("PNBBDSD2NavDataFactory", "processSF5Pg36");
730  BDSFactoryCounter fc(testFramework);
732  gnsstk::NavMessageID nmidExp(
737  gnsstk::CommonTime toeExp = gnsstk::BDSWeekSecond(810,81920.0);
740  gnsstk::NavDataPtrList navOut;
741  gnsstk::BDSD2NavAlm *alm;
743  uint16_t expHea = 88;
744  // First store the subframes with almanacs that shouldn't be
745  // immediately returned. This is not in time order, which is
746  // atypical, but it is a more effective test.
747  TUASSERTE(bool, true, uut.addData(navD2SF5p056, navOut));
748  fc.validateResults(navOut, __LINE__);
749  TUASSERTE(bool, true, uut.processSF5Pg36(navD2SF5p036, navOut));
750  for (const auto& i : navOut)
751  {
752  if ((alm = dynamic_cast<gnsstk::BDSD2NavAlm*>(i.get())) != nullptr)
753  {
756  // NavData fields
758  gnsstk::SatID tmpSat = nmidExp.sat;
759  nmidExp.sat.id = 20;
760  TUASSERTE(gnsstk::NavMessageID, nmidExp, alm->signal);
761  nmidExp.sat = tmpSat;
762  // OrbitData has no fields
763  // OrbitDataKepler fields
765  TUASSERTE(gnsstk::CommonTime, toeExp, alm->Toe);
766  TUASSERTE(gnsstk::CommonTime, toeExp, alm->Toc); // same value as toe
768  TUASSERTFE(0, alm->Cus);
769  TUASSERTFE(0, alm->Cuc);
770  TUASSERTFE(0, alm->Crc);
771  TUASSERTFE(0, alm->Crs);
772  TUASSERTFE(0, alm->Cic);
773  TUASSERTFE(0, alm->Cis);
774  TUASSERTFE(-0.49719715118408203125, alm->M0);
775  TUASSERTFE(0, alm->dn);
776  TUASSERTFE(0, alm->dndot);
777  TUASSERTFE(0.000812053680419921875, alm->ecc);
778  TUASSERTFE(5282.57958984375, alm->Ahalf);
779  TUASSERTFE(27905647.123033761978, alm->A);
780  TUASSERTFE(0, alm->Adot);
781  TUASSERTFE(-0.92198193073272705078, alm->OMEGA0);
782  TUASSERTFE(0.3077495574951171764, alm->i0);
783  TUASSERTFE(-0.18077933788299560547, alm->w);
784  TUASSERTFE(-2.182787284255027771e-09, alm->OMEGAdot);
785  TUASSERTFE(0, alm->idot);
786  TUASSERTFE(-0.00084781646728515625, alm->af0);
787  TUASSERTFE(1.0913936421275138855e-11, alm->af1);
788  TUASSERTFE(0, alm->af2);
789  TUASSERTE(gnsstk::CommonTime, beginExp, alm->beginFit);
790  TUASSERTE(gnsstk::CommonTime, endExp, alm->endFit);
791  // BDSD2NavData fields
792  TUASSERTE(uint32_t, 0x712, alm->pre);
793  TUASSERTE(uint32_t, 0, alm->rev);
794  TUASSERTE(unsigned, 5, alm->fraID);
795  TUASSERTE(uint32_t, 345765, alm->sow);
796  // BDSD2NavAlm fields
797  TUASSERTE(unsigned, 56, alm->pnum);
798  TUASSERTFE(0.0077495574951171875, alm->deltai);
799  TUASSERTFE(81920, alm->toa);
800  TUASSERTE(uint16_t, 88, alm->healthBits);
801  TUASSERTE(bool, false, alm->isDefault);
802  }
803  else if ((hea = dynamic_cast<gnsstk::BDSD2NavHealth*>(i.get())) != nullptr)
804  {
806  // NavData fields
808  TUASSERTE(gnsstk::NavMessageID, nmidExp, hea->signal);
809  // NavHealthData has no fields
810  // BDSD2NavHealth
811  TUASSERTE(bool, true, hea->isAlmHealth);
812  TUASSERTE(bool, true, hea->satH1);
813  TUASSERTE(uint16_t, expHea, hea->svHealth);
814  // While it's not strictly necessary that the results come
815  // in PRN order, they do currently and this statement
816  // addresses that fact.
817  nmidExp.sat.id++;
818  }
819  }
820  fc.validateResults(navOut, __LINE__, 12, 1, 0, 0, 11);
821  TURETURN();
822 }
823 
824 
827 {
828  TUDEF("PNBBDSD2NavDataFactory", "processSF5Pg101");
829  BDSFactoryCounter fc(testFramework);
831  gnsstk::NavMessageID nmidExp(
836  gnsstk::CommonTime refTimeExp = gnsstk::BDSWeekSecond(810,0);
837  gnsstk::CommonTime effTimeExp;
838  gnsstk::NavDataPtrList navOut;
840  uint16_t expHea;
841  // success, time offset data only
842  TUASSERTE(bool, true, uut.processSF5Pg101(navD2SF5p101, navOut));
843  // Time systems are processed in the order they appear in the
844  // nav message. Doesn't need to be enforced, but doing so
845  // simplifies the validation of the output.
847  for (const auto& i : navOut)
848  {
849  if ((to = dynamic_cast<gnsstk::BDSD2NavTimeOffset*>(i.get())) != nullptr)
850  {
851  // NavData fields
853  TUASSERTE(gnsstk::NavMessageID, nmidExp, to->signal);
854  // TimeOffsetData has no fields
855  // StdNavTimeOffset
857  TUASSERTE(gnsstk::TimeSystem, expTS, to->tgt);
858  TUASSERTFE(0.0, to->a0);
859  TUASSERTFE(0.0, to->a1);
860  TUASSERTFE(0.0, to->a2);
861  TUASSERTFE(0.0, to->deltatLS);
862  TUASSERTE(gnsstk::CommonTime, refTimeExp, to->refTime);
863  TUASSERTE(gnsstk::CommonTime, effTimeExp, to->effTime);
864  TUASSERTFE(0.0, to->tot);
865  TUASSERTE(unsigned, 0, to->wnot);
866  TUASSERTE(unsigned, 0, to->wnLSF);
867  TUASSERTE(unsigned, 0, to->dn);
868  TUASSERTFE(0.0, to->deltatLSF);
869  // BDSD2NavTimeOffset has no fields, but we check validate here
870  TUCSM("validate");
871  TUASSERTE(bool, false, to->validate());
872  if (expTS == gnsstk::TimeSystem::GPS)
873  expTS = gnsstk::TimeSystem::GAL;
874  else if (expTS == gnsstk::TimeSystem::GAL)
875  expTS = gnsstk::TimeSystem::GLO;
876  TUCSM("processSF5Pg101");
877  }
878  }
879  fc.validateResults(navOut, __LINE__, 3, 0, 0, 3);
880  TURETURN();
881 }
882 
883 
886 {
887  TUDEF("PNBBDSD2NavDataFactory", "processSF5Pg102");
888  BDSFactoryCounter fc(testFramework);
890  gnsstk::NavMessageID nmidExp(
895  gnsstk::CommonTime refTimeExp = gnsstk::BDSWeekSecond(810,0);
896  // Seems strange that this would be in the future rather than the past.
897  gnsstk::CommonTime effTimeExp = gnsstk::BDSWeekSecond(829,518400);
898  gnsstk::NavDataPtrList navOut;
900  uint16_t expHea;
901  // success, time offset data only
902  TUASSERTE(bool, true, uut.processSF5Pg102(navD2SF5p102, navOut));
903  for (const auto& i : navOut)
904  {
905  if ((to = dynamic_cast<gnsstk::BDSD2NavTimeOffset*>(i.get())) != nullptr)
906  {
907  // NavData fields
909  TUASSERTE(gnsstk::NavMessageID, nmidExp, to->signal);
910  // TimeOffsetData has no fields
911  // StdNavTimeOffset
914  TUASSERTFE(-6.519258e-09, to->a0);
915  TUASSERTFE(0.0, to->a1);
916  TUASSERTFE(0.0, to->a2);
917  TUASSERTFE(4.0, to->deltatLS);
918  TUASSERTE(gnsstk::CommonTime, refTimeExp, to->refTime);
919  TUASSERTE(gnsstk::CommonTime, effTimeExp, to->effTime);
920  TUASSERTFE(0.0, to->tot);
921  TUASSERTE(unsigned, 0, to->wnot);
922  TUASSERTE(unsigned, 829, to->wnLSF);
923  TUASSERTE(unsigned, 6, to->dn);
924  TUASSERTFE(4.0, to->deltatLSF);
925  // BDSD2NavTimeOffset has no fields, but we check validate here
926  TUCSM("validate");
927  TUASSERTE(bool, true, to->validate());
928  TUCSM("processSF5Pg10");
929  }
930  }
931  fc.validateResults(navOut, __LINE__, 1, 0, 0, 1);
932  TURETURN();
933 }
934 
935 
938 {
939  TUDEF("PNBBDSD2NavDataFactory", "processSF5Pg116");
940  BDSFactoryCounter fc(testFramework);
942  gnsstk::NavDataPtrList navOut;
943  // We don't have any data with AmEpID=b11 but we can still test others.
944  TUASSERTE(bool, true, uut.addData(navD2SF5p100, navOut));
945  // success, no data
946  TUASSERTE(bool, true, uut.processSF5Pg116(navD2SF5p116, navOut));
947  fc.validateResults(navOut, __LINE__);
948  TURETURN();
949 }
950 
951 
954 {
955  TUDEF("PNBBDSD2NavDataFactory", "isAlmDefault");
957  TUASSERTE(bool, true, uut.isAlmDefault(navD2SF5p051));
958  TUASSERTE(bool, false, uut.isAlmDefault(navD2SF5p037));
959  TURETURN();
960 }
961 
962 
965 {
966  return filterTest(gnsstk::allNavMessageTypes) +
967  filterTest({gnsstk::NavMessageType::Almanac}) +
968  filterTest({gnsstk::NavMessageType::Ephemeris}) +
969  filterTest({gnsstk::NavMessageType::Health}) +
970  filterTest({gnsstk::NavMessageType::TimeOffset}) +
971  filterTest({gnsstk::NavMessageType::Iono}) +
972  filterTest({gnsstk::NavMessageType::ISC}) +
975 }
976 
977 int main()
978 {
979  PNBBDSD2NavDataFactory_T testClass;
980  unsigned errorTotal = 0;
981 
982  errorTotal += testClass.foreignTest();
983  errorTotal += testClass.filterTests();
984  errorTotal += testClass.addDataValidityTest();
985  errorTotal += testClass.processAlmTest();
986  errorTotal += testClass.processEphTest();
987  errorTotal += testClass.processSF5Pg35Test();
988  errorTotal += testClass.processSF5Pg36Test();
989  errorTotal += testClass.processSF5Pg101Test();
990  errorTotal += testClass.processSF5Pg102Test();
991  errorTotal += testClass.processSF5Pg116Test();
992  errorTotal += testClass.isAlmDefaultTest();
993 
994  std::cout << "Total Failures for " << __FILE__ << ": " << errorTotal
995  << std::endl;
996 
997  return errorTotal;
998 }
navD2SF5p090
gnsstk::PackedNavBitsPtr navD2SF5p090
Definition: D2NavTestDataDecl.hpp:72
main
int main()
Definition: PNBBDSD2NavDataFactory_T.cpp:977
gnsstk::NavMessageTypeSet
std::set< NavMessageType > NavMessageTypeSet
Set of message types, used by NavLibrary and NavDataFactory.
Definition: NavMessageType.hpp:76
navD2SF5p046
gnsstk::PackedNavBitsPtr navD2SF5p046
Definition: D2NavTestDataDecl.hpp:61
gnsstk::NavMessageType::ISC
@ ISC
Inter-signal corrections.
navD2SF5p115
gnsstk::PackedNavBitsPtr navD2SF5p115
Definition: D2NavTestDataDecl.hpp:78
TUCSM
#define TUCSM(METHOD)
Definition: TestUtil.hpp:59
gnsstk::OrbitDataKepler::idot
double idot
Rate of inclination angle (rad/sec)
Definition: OrbitDataKepler.hpp:193
navD2SF4p001
gnsstk::PackedNavBitsPtr navD2SF4p001
Definition: D2NavTestDataDecl.hpp:44
PNBBDSD2NavDataFactory_T::foreignTest
unsigned foreignTest()
Test that BDS doesn't process GLONASS data.
Definition: PNBBDSD2NavDataFactory_T.cpp:113
gnsstk::NavMessageID
Class used to identify/categorize navigation message data.
Definition: NavMessageID.hpp:52
navD2SF5p049
gnsstk::PackedNavBitsPtr navD2SF5p049
Definition: D2NavTestDataDecl.hpp:62
navD2SF5p085
gnsstk::PackedNavBitsPtr navD2SF5p085
Definition: D2NavTestDataDecl.hpp:71
PNBBDSD2NavDataFactory_T::processSF5Pg101Test
unsigned processSF5Pg101Test()
Definition: PNBBDSD2NavDataFactory_T.cpp:826
gnsstk::StdNavTimeOffset::deltatLSF
double deltatLSF
Current or future leap second count (UTC only).
Definition: StdNavTimeOffset.hpp:135
navD2SF5p015
gnsstk::PackedNavBitsPtr navD2SF5p015
Definition: D2NavTestDataDecl.hpp:53
gnsstk::BDSD2NavAlm::toa
double toa
Convenience storage of unqualified toa.
Definition: BDSD2NavAlm.hpp:80
navD2SF5p087
gnsstk::PackedNavBitsPtr navD2SF5p087
Definition: D2NavTestDataDecl.hpp:71
gnsstk::SatID::id
int id
Satellite identifier, e.g. PRN.
Definition: SatID.hpp:154
gnsstk::PackedNavBitsPtr
std::shared_ptr< PackedNavBits > PackedNavBitsPtr
Managed pointer for passing PackedNavBits around.
Definition: PackedNavBits.hpp:66
navD2SF5p094
gnsstk::PackedNavBitsPtr navD2SF5p094
Definition: D2NavTestDataDecl.hpp:73
gnsstk::PNBBDSD2NavDataFactory::processSF5Pg102
bool processSF5Pg102(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:730
navD2SF5p030
gnsstk::PackedNavBitsPtr navD2SF5p030
Definition: D2NavTestDataDecl.hpp:57
navD2SF5p120
gnsstk::PackedNavBitsPtr navD2SF5p120
Definition: D2NavTestDataDecl.hpp:80
gnsstk::PNBBDSD2NavDataFactory::processSF5Pg35
bool processSF5Pg35(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:558
navD2SF5p077
gnsstk::PackedNavBitsPtr navD2SF5p077
Definition: D2NavTestDataDecl.hpp:69
navD2SF5p018
gnsstk::PackedNavBitsPtr navD2SF5p018
Definition: D2NavTestDataDecl.hpp:54
navD2SF5p080
gnsstk::PackedNavBitsPtr navD2SF5p080
Definition: D2NavTestDataDecl.hpp:70
navD2SF5p096
gnsstk::PackedNavBitsPtr navD2SF5p096
Definition: D2NavTestDataDecl.hpp:74
navD2SF5p101
gnsstk::PackedNavBitsPtr navD2SF5p101
Definition: D2NavTestDataDecl.hpp:75
navD2SF3p006
gnsstk::PackedNavBitsPtr navD2SF3p006
Definition: D2NavTestDataDecl.hpp:50
navD2SF5p070
gnsstk::PackedNavBitsPtr navD2SF5p070
Definition: D2NavTestDataDecl.hpp:67
navD2SF1p009
gnsstk::PackedNavBitsPtr navD2SF1p009
Definition: D2NavTestDataDecl.hpp:51
gnsstk::CarrierBand::G1
@ G1
GLONASS G1.
TUCATCH
#define TUCATCH(STATEMENT)
Definition: TestUtil.hpp:193
navD2SF5p111
gnsstk::PackedNavBitsPtr navD2SF5p111
Definition: D2NavTestDataDecl.hpp:77
BDSD2NavEph.hpp
navD2SF5p011
gnsstk::PackedNavBitsPtr navD2SF5p011
Definition: D2NavTestDataDecl.hpp:52
gnsstk::OrbitDataKepler::Cis
double Cis
Sine inclination (rad)
Definition: OrbitDataKepler.hpp:180
gnsstk::OrbitDataKepler::A
double A
Semi-major axis (m)
Definition: OrbitDataKepler.hpp:186
navD2SF5p089
gnsstk::PackedNavBitsPtr navD2SF5p089
Definition: D2NavTestDataDecl.hpp:72
navD2SF5p034
gnsstk::PackedNavBitsPtr navD2SF5p034
Definition: D2NavTestDataDecl.hpp:58
navD2SF5p003
gnsstk::PackedNavBitsPtr navD2SF5p003
Definition: D2NavTestDataDecl.hpp:46
gnsstk::PNBNavDataFactory::setTypeFilter
virtual void setTypeFilter(const NavMessageTypeSet &nmts)
Definition: PNBNavDataFactory.cpp:54
gnsstk::OrbitDataKepler::af2
double af2
SV clock drift rate (sec/sec**2)
Definition: OrbitDataKepler.hpp:197
PNBBDSD2NavDataFactory_T::processAlmTest
unsigned processAlmTest()
Definition: PNBBDSD2NavDataFactory_T.cpp:450
navD2SF5p026
gnsstk::PackedNavBitsPtr navD2SF5p026
Definition: D2NavTestDataDecl.hpp:56
navD2SF5p102ct
gnsstk::CommonTime navD2SF5p102ct
Definition: D2NavTestDataDecl.hpp:113
gnsstk::OrbitDataKepler::ecc
double ecc
Eccentricity.
Definition: OrbitDataKepler.hpp:185
gnsstk::StdNavTimeOffset::src
TimeSystem src
Source time system.
Definition: StdNavTimeOffset.hpp:120
gnsstk::BDSD2NavIono::fraID
uint8_t fraID
The subframe ID (FraID) from word 1 of the subframe.
Definition: BDSD2NavIono.hpp:68
navD2SF1p002ct
gnsstk::CommonTime navD2SF1p002ct
Definition: D2NavTestDataDecl.hpp:82
navD2SF5p101ct
gnsstk::CommonTime navD2SF5p101ct
Definition: D2NavTestDataDecl.hpp:113
navD2SF5p062
gnsstk::PackedNavBitsPtr navD2SF5p062
Definition: D2NavTestDataDecl.hpp:65
FactoryCounter::setInc
void setInc(const gnsstk::NavMessageTypeSet &nmts)
Definition: FactoryCounter.hpp:96
navD2SF5p108
gnsstk::PackedNavBitsPtr navD2SF5p108
Definition: D2NavTestDataDecl.hpp:77
navD2SF1p003
gnsstk::PackedNavBitsPtr navD2SF1p003
Definition: D2NavTestDataDecl.hpp:45
navD2SF5p088
gnsstk::PackedNavBitsPtr navD2SF5p088
Definition: D2NavTestDataDecl.hpp:72
navD2SF4p004
gnsstk::PackedNavBitsPtr navD2SF4p004
Definition: D2NavTestDataDecl.hpp:47
TUASSERTE
#define TUASSERTE(TYPE, EXP, GOT)
Definition: TestUtil.hpp:81
navD2SF5p039
gnsstk::PackedNavBitsPtr navD2SF5p039
Definition: D2NavTestDataDecl.hpp:59
gnsstk::BDSD2NavIono::sow
uint32_t sow
Seconds of week from word 1-2 of the subframe.
Definition: BDSD2NavIono.hpp:69
navD2SF1p005
gnsstk::PackedNavBitsPtr navD2SF1p005
Definition: D2NavTestDataDecl.hpp:48
gnsstk::NavMessageID::messageType
NavMessageType messageType
Definition: NavMessageID.hpp:97
BDSD2NavAlm.hpp
gnsstk::NavSatelliteID
Definition: NavSatelliteID.hpp:57
gnsstk::BDSD2NavIono::pre
uint32_t pre
The preamble from word 1 of the subframe.
Definition: BDSD2NavIono.hpp:66
BDSD2NavTimeOffset.hpp
navD2SF3p001
gnsstk::PackedNavBitsPtr navD2SF3p001
Definition: D2NavTestDataDecl.hpp:43
gnsstk::allNavMessageTypes
const GNSSTK_EXPORT NavMessageTypeSet allNavMessageTypes
Definition: NavStatic.cpp:64
navD2SF5p112
gnsstk::PackedNavBitsPtr navD2SF5p112
Definition: D2NavTestDataDecl.hpp:78
navD2SF5p012
gnsstk::PackedNavBitsPtr navD2SF5p012
Definition: D2NavTestDataDecl.hpp:53
navD2SF5p050
gnsstk::PackedNavBitsPtr navD2SF5p050
Definition: D2NavTestDataDecl.hpp:62
gnsstk::BDSD2NavHealth::satH1
bool satH1
Ephemeris health (autonomous satellite health flag).
Definition: BDSD2NavHealth.hpp:101
gnsstk::OrbitDataKepler::OMEGAdot
double OMEGAdot
Rate of Rt ascension (rad/sec)
Definition: OrbitDataKepler.hpp:192
gnsstk::StdNavTimeOffset::tgt
TimeSystem tgt
Target time system.
Definition: StdNavTimeOffset.hpp:121
gnsstk::BDSD2NavEph::satH1
bool satH1
Autonomous satellite health flag.
Definition: BDSD2NavEph.hpp:115
navD2SF5p025
gnsstk::PackedNavBitsPtr navD2SF5p025
Definition: D2NavTestDataDecl.hpp:56
gnsstk::BDSD2NavEph::aodc
uint8_t aodc
Age of data - clock.
Definition: BDSD2NavEph.hpp:116
gnsstk::SatID
Definition: SatID.hpp:89
gnsstk::NavMessageType::Health
@ Health
SV health status information message.
gnsstk::NavFit::endFit
CommonTime endFit
Time at end of fit interval.
Definition: NavFit.hpp:55
gnsstk::NavDataPtrList
std::list< NavDataPtr > NavDataPtrList
Definition: NavData.hpp:75
navD2SF5p103
gnsstk::PackedNavBitsPtr navD2SF5p103
Definition: D2NavTestDataDecl.hpp:75
navD2SF5p059
gnsstk::PackedNavBitsPtr navD2SF5p059
Definition: D2NavTestDataDecl.hpp:64
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
gnsstk::OrbitDataKepler::Cuc
double Cuc
Cosine latitude (rad)
Definition: OrbitDataKepler.hpp:175
navD2SF5p009
gnsstk::PackedNavBitsPtr navD2SF5p009
Definition: D2NavTestDataDecl.hpp:52
gnsstk::BDSD2NavAlm::deltai
double deltai
Inclination in rad relative to 0.3*pi rad.
Definition: BDSD2NavAlm.hpp:79
navD2SF5p028
gnsstk::PackedNavBitsPtr navD2SF5p028
Definition: D2NavTestDataDecl.hpp:57
navD2SF5p119
gnsstk::PackedNavBitsPtr navD2SF5p119
Definition: D2NavTestDataDecl.hpp:79
navD2SF4p002
gnsstk::PackedNavBitsPtr navD2SF4p002
Definition: D2NavTestDataDecl.hpp:45
gnsstk::CommonTime::setTimeSystem
CommonTime & setTimeSystem(TimeSystem timeSystem)
Definition: CommonTime.hpp:195
gnsstk::BDSD2NavTimeOffset::validate
bool validate() const override
Definition: BDSD2NavTimeOffset.cpp:59
gnsstk::StdNavTimeOffset::deltatLS
double deltatLS
Current or past leap second count (UTC only).
Definition: StdNavTimeOffset.hpp:125
gnsstk::NavType::GloCivilF
@ GloCivilF
navD2SF5p117
gnsstk::PackedNavBitsPtr navD2SF5p117
Definition: D2NavTestDataDecl.hpp:79
navD2SF5p014
gnsstk::PackedNavBitsPtr navD2SF5p014
Definition: D2NavTestDataDecl.hpp:53
navD2SF5p040
gnsstk::PackedNavBitsPtr navD2SF5p040
Definition: D2NavTestDataDecl.hpp:60
navD2SF5p004
gnsstk::PackedNavBitsPtr navD2SF5p004
Definition: D2NavTestDataDecl.hpp:48
PNBBDSD2NavDataFactory_T::processEphTest
unsigned processEphTest()
Definition: PNBBDSD2NavDataFactory_T.cpp:527
gnsstk::BDSD2NavHealth::isAlmHealth
bool isAlmHealth
If true, svHealth is representative, otherwise satH1 is.
Definition: BDSD2NavHealth.hpp:99
gnsstk::OrbitDataKepler::w
double w
Argument of perigee (rad)
Definition: OrbitDataKepler.hpp:191
FactoryCounter::validateResults
void validateResults(gnsstk::NavDataPtrList &navOut, unsigned lineNo, size_t totalExp=0, unsigned almExp=0, unsigned ephExp=0, unsigned toExp=0, unsigned heaExp=0, unsigned ionoExp=0, unsigned iscExp=0, unsigned otherExp=0)
Definition: FactoryCounter.hpp:144
gnsstk::StdNavTimeOffset::wnot
unsigned wnot
Time data reference week number (storage only).
Definition: StdNavTimeOffset.hpp:129
navD2SF5p016
gnsstk::PackedNavBitsPtr navD2SF5p016
Definition: D2NavTestDataDecl.hpp:54
navD2SF5p069
gnsstk::PackedNavBitsPtr navD2SF5p069
Definition: D2NavTestDataDecl.hpp:67
navD2SF5p021
gnsstk::PackedNavBitsPtr navD2SF5p021
Definition: D2NavTestDataDecl.hpp:55
gnsstk::OrbitDataKepler::Toe
CommonTime Toe
Orbit epoch.
Definition: OrbitDataKepler.hpp:171
navD2SF5p035
gnsstk::PackedNavBitsPtr navD2SF5p035
Definition: D2NavTestDataDecl.hpp:58
gnsstk::OrbitDataKepler::Crs
double Crs
Sine radius (m)
Definition: OrbitDataKepler.hpp:178
gnsstk::SVHealth
SVHealth
Identify different types of SV health states.
Definition: SVHealth.hpp:52
gnsstk::NavData::signal
NavMessageID signal
Source signal identification for this navigation message data.
Definition: NavData.hpp:175
navD2SF5p071
gnsstk::PackedNavBitsPtr navD2SF5p071
Definition: D2NavTestDataDecl.hpp:67
navD2SF5p068
gnsstk::PackedNavBitsPtr navD2SF5p068
Definition: D2NavTestDataDecl.hpp:67
navD2SF1p007
gnsstk::PackedNavBitsPtr navD2SF1p007
Definition: D2NavTestDataDecl.hpp:50
gnsstk::StdNavTimeOffset::wnLSF
unsigned wnLSF
Leap second reference week number (UTC only).
Definition: StdNavTimeOffset.hpp:133
navD2SF3p003
gnsstk::PackedNavBitsPtr navD2SF3p003
Definition: D2NavTestDataDecl.hpp:46
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::StdNavTimeOffset::a1
double a1
Drift coefficient of source time scale.
Definition: StdNavTimeOffset.hpp:123
gnsstk::InterSigCorr::isc
double isc
Definition: InterSigCorr.hpp:171
gnsstk::BDSD2NavAlm
Class containing data elements unique to BeiDou D2 almanac pages.
Definition: BDSD2NavAlm.hpp:50
navD2SF4p006
gnsstk::PackedNavBitsPtr navD2SF4p006
Definition: D2NavTestDataDecl.hpp:50
navD2SF5p047
gnsstk::PackedNavBitsPtr navD2SF5p047
Definition: D2NavTestDataDecl.hpp:61
gnsstk::TrackingCode::Standard
@ Standard
Legacy Glonass civil signal.
navD2SF5p044
gnsstk::PackedNavBitsPtr navD2SF5p044
Definition: D2NavTestDataDecl.hpp:61
gnsstk::OrbitDataKepler::xmitTime
CommonTime xmitTime
Time of transmission of the start of the data.
Definition: OrbitDataKepler.hpp:170
gnsstk::NavData::timeStamp
CommonTime timeStamp
Definition: NavData.hpp:173
gnsstk::BDSD2NavEph::tgd2
double tgd2
Group delay differential on B2I.
Definition: BDSD2NavEph.hpp:124
navD2SF5p092
gnsstk::PackedNavBitsPtr navD2SF5p092
Definition: D2NavTestDataDecl.hpp:73
gnsstk::OrbitDataKepler::Adot
double Adot
Rate of semi-major axis (m/sec)
Definition: OrbitDataKepler.hpp:188
gnsstk::BDSD2NavISC::tgd1
double tgd1
Group delay differential on B1I.
Definition: BDSD2NavISC.hpp:99
gnsstk::StdNavTimeOffset::dn
unsigned dn
Leap second reference day number (UTC only).
Definition: StdNavTimeOffset.hpp:134
PNBBDSD2NavDataFactory_T::addDataValidityTest
unsigned addDataValidityTest()
Test validity checking.
Definition: PNBBDSD2NavDataFactory_T.cpp:441
navD2SF5p105
gnsstk::PackedNavBitsPtr navD2SF5p105
Definition: D2NavTestDataDecl.hpp:76
navD2SF4p003
gnsstk::PackedNavBitsPtr navD2SF4p003
Definition: D2NavTestDataDecl.hpp:46
gnsstk::OrbitDataKepler::M0
double M0
Mean anomaly (rad)
Definition: OrbitDataKepler.hpp:182
navD2SF1p004
gnsstk::PackedNavBitsPtr navD2SF1p004
Definition: D2NavTestDataDecl.hpp:47
PNBBDSD2NavDataFactory_T::processSF5Pg102Test
unsigned processSF5Pg102Test()
Definition: PNBBDSD2NavDataFactory_T.cpp:885
gnsstk::ObservationType::NavMsg
@ NavMsg
Navigation Message data.
navD2SF5p054
gnsstk::PackedNavBitsPtr navD2SF5p054
Definition: D2NavTestDataDecl.hpp:63
navD2SF5p095
gnsstk::PackedNavBitsPtr navD2SF5p095
Definition: D2NavTestDataDecl.hpp:73
gnsstk::CommonTime::END_OF_TIME
static const GNSSTK_EXPORT CommonTime END_OF_TIME
latest representable CommonTime
Definition: CommonTime.hpp:104
navD2SF5p041
gnsstk::PackedNavBitsPtr navD2SF5p041
Definition: D2NavTestDataDecl.hpp:60
gnsstk::PNBBDSD2NavDataFactory::isAlmDefault
static bool isAlmDefault(const PackedNavBitsPtr &navIn)
Definition: PNBBDSD2NavDataFactory.cpp:863
gnsstk::BDSD2NavIono::rev
uint32_t rev
The rev field from word 1 of the subframe.
Definition: BDSD2NavIono.hpp:67
navD2SF2p006
gnsstk::PackedNavBitsPtr navD2SF2p006
Definition: D2NavTestDataDecl.hpp:49
D2NavTestDataDecl.hpp
BDSD2NavIono.hpp
gnsstk::BDSD2NavISC::pre
uint32_t pre
The preamble from word 1 of the subframe.
Definition: BDSD2NavISC.hpp:95
PNBBDSD2NavDataFactory_T::PNBBDSD2NavDataFactory_T
PNBBDSD2NavDataFactory_T()
Definition: PNBBDSD2NavDataFactory_T.cpp:106
FactoryCounter
Definition: FactoryCounter.hpp:75
TestUtil.hpp
gnsstk::PNBBDSD2NavDataFactory::processSF5Pg116
bool processSF5Pg116(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:776
navD2SF5p036
gnsstk::PackedNavBitsPtr navD2SF5p036
Definition: D2NavTestDataDecl.hpp:59
gnsstk::SVHealth::Healthy
@ Healthy
Satellite is in a healthy and useable state.
navD2SF5p029
gnsstk::PackedNavBitsPtr navD2SF5p029
Definition: D2NavTestDataDecl.hpp:57
gnsstk::OrbitDataKepler::dndot
double dndot
Rate of correction to mean motion (rad/sec/sec)
Definition: OrbitDataKepler.hpp:184
navD2SF5p072
gnsstk::PackedNavBitsPtr navD2SF5p072
Definition: D2NavTestDataDecl.hpp:68
navD2SF5p082
gnsstk::PackedNavBitsPtr navD2SF5p082
Definition: D2NavTestDataDecl.hpp:70
navD2SF5p114
gnsstk::PackedNavBitsPtr navD2SF5p114
Definition: D2NavTestDataDecl.hpp:78
navD2SF5p065
gnsstk::PackedNavBitsPtr navD2SF5p065
Definition: D2NavTestDataDecl.hpp:66
gnsstk::CarrierBand::B1
@ B1
BeiDou B1.
navD2SF5p078
gnsstk::PackedNavBitsPtr navD2SF5p078
Definition: D2NavTestDataDecl.hpp:69
gnsstk::OrbitDataKepler::Cus
double Cus
Sine latitude (rad)
Definition: OrbitDataKepler.hpp:176
gnsstk::StdNavTimeOffset::a2
double a2
Drift rate coefficient of source time scale.
Definition: StdNavTimeOffset.hpp:124
TURETURN
#define TURETURN()
Definition: TestUtil.hpp:232
navD2SF5p008
gnsstk::PackedNavBitsPtr navD2SF5p008
Definition: D2NavTestDataDecl.hpp:51
PNBBDSD2NavDataFactory_T
Definition: PNBBDSD2NavDataFactory_T.cpp:80
navD2SF1p008
gnsstk::PackedNavBitsPtr navD2SF1p008
Definition: D2NavTestDataDecl.hpp:51
navD2SF5p053
gnsstk::PackedNavBitsPtr navD2SF5p053
Definition: D2NavTestDataDecl.hpp:63
navD2SF5p056
gnsstk::PackedNavBitsPtr navD2SF5p056
Definition: D2NavTestDataDecl.hpp:64
PNBBDSD2NavDataFactory_T::processSF5Pg35Test
unsigned processSF5Pg35Test()
Definition: PNBBDSD2NavDataFactory_T.cpp:680
gnsstk::TimeSystem::GAL
@ GAL
Galileo system time.
gnsstk::BDSD2NavISC::sow
uint32_t sow
Seconds of week from word 1-2 of the subframe.
Definition: BDSD2NavISC.hpp:98
navD2SF5p048
gnsstk::PackedNavBitsPtr navD2SF5p048
Definition: D2NavTestDataDecl.hpp:62
gnsstk::ObsID
Definition: ObsID.hpp:82
navD2SF1p010
gnsstk::PackedNavBitsPtr navD2SF1p010
Definition: D2NavTestDataDecl.hpp:52
PNBBDSD2NavDataFactory_T::filterTests
unsigned filterTests()
addData tests for a variety of filter states
Definition: PNBBDSD2NavDataFactory_T.cpp:964
navD2SF5p076
gnsstk::PackedNavBitsPtr navD2SF5p076
Definition: D2NavTestDataDecl.hpp:69
gnsstk::NavMessageType::Iono
@ Iono
Ionospheric correction data.
gnsstk::OrbitDataKepler::Ahalf
double Ahalf
Square Root of semi-major axis (m**.5)
Definition: OrbitDataKepler.hpp:187
gnsstk::NavSatelliteID::sat
SatID sat
ID of satellite to which the nav data applies.
Definition: NavSatelliteID.hpp:169
navD2SF5p052
gnsstk::PackedNavBitsPtr navD2SF5p052
Definition: D2NavTestDataDecl.hpp:63
navD2SF5p017
gnsstk::PackedNavBitsPtr navD2SF5p017
Definition: D2NavTestDataDecl.hpp:54
gnsstk::BDSD2NavHealth
Definition: BDSD2NavHealth.hpp:51
navD2SF5p006
gnsstk::PackedNavBitsPtr navD2SF5p006
Definition: D2NavTestDataDecl.hpp:50
gnsstk::CommonTime
Definition: CommonTime.hpp:84
navD2SF5p093
gnsstk::PackedNavBitsPtr navD2SF5p093
Definition: D2NavTestDataDecl.hpp:73
gnsstk::PNBBDSD2NavDataFactory
Definition: PNBBDSD2NavDataFactory.hpp:85
navD2SF5p055
gnsstk::PackedNavBitsPtr navD2SF5p055
Definition: D2NavTestDataDecl.hpp:63
gnsstk::OrbitDataKepler::Toc
CommonTime Toc
Clock epoch.
Definition: OrbitDataKepler.hpp:172
navD2SF1p001ct
gnsstk::CommonTime navD2SF1p001ct
Definition: D2NavTestDataDecl.hpp:81
gnsstk::BDSD2NavTimeOffset
Definition: BDSD2NavTimeOffset.hpp:67
navD2SF5p116
gnsstk::PackedNavBitsPtr navD2SF5p116
Definition: D2NavTestDataDecl.hpp:79
PNBBDSD2NavDataFactory_T::processSF5Pg116Test
unsigned processSF5Pg116Test()
Definition: PNBBDSD2NavDataFactory_T.cpp:937
navD2SF5p036ct
gnsstk::CommonTime navD2SF5p036ct
Definition: D2NavTestDataDecl.hpp:97
navD2SF5p100
gnsstk::PackedNavBitsPtr navD2SF5p100
Definition: D2NavTestDataDecl.hpp:75
navD2SF5p079
gnsstk::PackedNavBitsPtr navD2SF5p079
Definition: D2NavTestDataDecl.hpp:69
navD2SF5p010
gnsstk::PackedNavBitsPtr navD2SF5p010
Definition: D2NavTestDataDecl.hpp:52
gnsstk::TrackingCode::B1I
@ B1I
BeiDou B1 I code.
navD2SF5p106
gnsstk::PackedNavBitsPtr navD2SF5p106
Definition: D2NavTestDataDecl.hpp:76
gnsstk::TimeSystem
TimeSystem
Definition of various time systems.
Definition: TimeSystem.hpp:51
navD2SF5p027
gnsstk::PackedNavBitsPtr navD2SF5p027
Definition: D2NavTestDataDecl.hpp:56
gnsstk::BDSD2NavEph
Definition: BDSD2NavEph.hpp:57
asString
string asString(const gnsstk::NavMessageTypeSet &nmts)
Definition: PNBBDSD2NavDataFactory_T.cpp:68
gnsstk::NavFit::beginFit
CommonTime beginFit
Time at beginning of fit interval.
Definition: NavFit.hpp:54
gnsstk::BDSD2NavAlm::pnum
uint8_t pnum
Almanac page number.
Definition: BDSD2NavAlm.hpp:78
CivilTime.hpp
navD2SF5p024
gnsstk::PackedNavBitsPtr navD2SF5p024
Definition: D2NavTestDataDecl.hpp:56
navD2SF1p006
gnsstk::PackedNavBitsPtr navD2SF1p006
Definition: D2NavTestDataDecl.hpp:49
gnsstk::BDSD2NavAlm::isDefault
bool isDefault
True if the source page was all 0s for orbit.
Definition: BDSD2NavAlm.hpp:82
navD2SF5p066
gnsstk::PackedNavBitsPtr navD2SF5p066
Definition: D2NavTestDataDecl.hpp:66
gnsstk::KlobucharIonoNavData::beta
double beta[4]
beta terms of Klobuchar model, using semi-circles.
Definition: KlobucharIonoNavData.hpp:85
TUDEF
#define TUDEF(CLASS, METHOD)
Definition: TestUtil.hpp:56
gnsstk::BDSD2NavHealth::svHealth
uint16_t svHealth
9-bit health from subframes 4.
Definition: BDSD2NavHealth.hpp:103
gnsstk::BDSD2NavData::rev
uint32_t rev
The rev field from word 1 of the subframe.
Definition: BDSD2NavData.hpp:67
gnsstk::TimeSystem::GLO
@ GLO
GLONASS system time (aka UTC(SU))
navD2SF5p097
gnsstk::PackedNavBitsPtr navD2SF5p097
Definition: D2NavTestDataDecl.hpp:74
navD2SF5p086
gnsstk::PackedNavBitsPtr navD2SF5p086
Definition: D2NavTestDataDecl.hpp:71
navD2SF5p102
gnsstk::PackedNavBitsPtr navD2SF5p102
Definition: D2NavTestDataDecl.hpp:75
navD2SF5p042
gnsstk::PackedNavBitsPtr navD2SF5p042
Definition: D2NavTestDataDecl.hpp:60
navD2SF2p001
gnsstk::PackedNavBitsPtr navD2SF2p001
Definition: D2NavTestDataDecl.hpp:43
gnsstk::TimeSystem::UTC
@ UTC
Coordinated Universal Time (e.g., from NTP)
gnsstk::OrbitDataKepler::i0
double i0
Inclination (rad)
Definition: OrbitDataKepler.hpp:190
navD2SF5p022
gnsstk::PackedNavBitsPtr navD2SF5p022
Definition: D2NavTestDataDecl.hpp:55
navD2SF5p109
gnsstk::PackedNavBitsPtr navD2SF5p109
Definition: D2NavTestDataDecl.hpp:77
navD2SF2p002
gnsstk::PackedNavBitsPtr navD2SF2p002
Definition: D2NavTestDataDecl.hpp:44
std::operator<<
std::ostream & operator<<(std::ostream &s, gnsstk::StringUtils::FFLead v)
Definition: FormattedDouble_T.cpp:44
gnsstk::PNBBDSD2NavDataFactory::addData
bool addData(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut, double cadence=-1) override
Definition: PNBBDSD2NavDataFactory.cpp:71
navD2SF5p060
gnsstk::PackedNavBitsPtr navD2SF5p060
Definition: D2NavTestDataDecl.hpp:65
BDSD2NavHealth.hpp
gnsstk::OrbitDataKepler::Cic
double Cic
Cosine inclination (rad)
Definition: OrbitDataKepler.hpp:179
navD2SF5p063
gnsstk::PackedNavBitsPtr navD2SF5p063
Definition: D2NavTestDataDecl.hpp:65
navD2SF5p002
gnsstk::PackedNavBitsPtr navD2SF5p002
Definition: D2NavTestDataDecl.hpp:45
gnsstk::NavMessageType::TimeOffset
@ TimeOffset
Message containing information about time system offsets.
navD2SF5p061
gnsstk::PackedNavBitsPtr navD2SF5p061
Definition: D2NavTestDataDecl.hpp:65
gnsstk::OrbitDataKepler::Crc
double Crc
Cosine radius (m)
Definition: OrbitDataKepler.hpp:177
navD2SF5p001
gnsstk::PackedNavBitsPtr navD2SF5p001
Definition: D2NavTestDataDecl.hpp:44
navD2SF5p005
gnsstk::PackedNavBitsPtr navD2SF5p005
Definition: D2NavTestDataDecl.hpp:49
gnsstk::BDSD2NavData::pre
uint32_t pre
The preamble from word 1 of the subframe.
Definition: BDSD2NavData.hpp:66
gnsstk::BDSD2NavEph::tgd1
double tgd1
Group delay differential on B1I.
Definition: BDSD2NavEph.hpp:123
navD2SF5p051
gnsstk::PackedNavBitsPtr navD2SF5p051
Definition: D2NavTestDataDecl.hpp:62
navD2SF3p005
gnsstk::PackedNavBitsPtr navD2SF3p005
Definition: D2NavTestDataDecl.hpp:48
navD2SF5p104
gnsstk::PackedNavBitsPtr navD2SF5p104
Definition: D2NavTestDataDecl.hpp:76
navD2SF5p031
gnsstk::PackedNavBitsPtr navD2SF5p031
Definition: D2NavTestDataDecl.hpp:57
navD2SF5p110
gnsstk::PackedNavBitsPtr navD2SF5p110
Definition: D2NavTestDataDecl.hpp:77
navD2SF5p037
gnsstk::PackedNavBitsPtr navD2SF5p037
Definition: D2NavTestDataDecl.hpp:59
navD2SF5p058
gnsstk::PackedNavBitsPtr navD2SF5p058
Definition: D2NavTestDataDecl.hpp:64
navD2SF5p033
gnsstk::PackedNavBitsPtr navD2SF5p033
Definition: D2NavTestDataDecl.hpp:58
gnsstk::TimeSystem::GPS
@ GPS
GPS system time.
navD2SF5p113
gnsstk::PackedNavBitsPtr navD2SF5p113
Definition: D2NavTestDataDecl.hpp:78
navD2SF5p023
gnsstk::PackedNavBitsPtr navD2SF5p023
Definition: D2NavTestDataDecl.hpp:55
navD2SF2p004
gnsstk::PackedNavBitsPtr navD2SF2p004
Definition: D2NavTestDataDecl.hpp:47
std
Definition: Angle.hpp:142
gnsstk::OrbitDataKepler::af0
double af0
SV clock error (sec)
Definition: OrbitDataKepler.hpp:195
gnsstk::BDSD2NavEph::aode
uint8_t aode
Age of data - ephemeris.
Definition: BDSD2NavEph.hpp:117
navD2SF5p075
gnsstk::PackedNavBitsPtr navD2SF5p075
Definition: D2NavTestDataDecl.hpp:68
navD2SF1p002
gnsstk::PackedNavBitsPtr navD2SF1p002
Definition: D2NavTestDataDecl.hpp:44
navD2SF5p032
gnsstk::PackedNavBitsPtr navD2SF5p032
Definition: D2NavTestDataDecl.hpp:58
gnsstk::NavMessageType::Ephemeris
@ Ephemeris
Precision orbits for the transmitting SV.
FactoryCounter.hpp
gnsstk::KlobucharIonoNavData::alpha
double alpha[4]
alpha terms of Klobuchar model, using semi-circles.
Definition: KlobucharIonoNavData.hpp:84
navD2SF4p005
gnsstk::PackedNavBitsPtr navD2SF4p005
Definition: D2NavTestDataDecl.hpp:49
PNBBDSD2NavDataFactory.hpp
TUASSERTFE
#define TUASSERTFE(EXP, GOT)
Definition: TestUtil.hpp:103
navD2SF5p035ct
gnsstk::CommonTime navD2SF5p035ct
Definition: D2NavTestDataDecl.hpp:96
gnsstk::BDSD2NavISC::fraID
uint8_t fraID
The subframe ID (FraID) from word 1 of the subframe.
Definition: BDSD2NavISC.hpp:97
gnsstk::BDSD2NavAlm::healthBits
uint16_t healthBits
9 bits of health from sf5,pg7/8.
Definition: BDSD2NavAlm.hpp:81
gnsstk::NavType::BeiDou_D2
@ BeiDou_D2
BDSD2NavISC.hpp
gnsstk::BDSD2NavData::fraID
uint8_t fraID
The subframe ID (FraID) from word 1 of the subframe.
Definition: BDSD2NavData.hpp:68
gnsstk::SatelliteSystem::Glonass
@ Glonass
navD2SF5p020
gnsstk::PackedNavBitsPtr navD2SF5p020
Definition: D2NavTestDataDecl.hpp:55
gnsstk::StdNavTimeOffset::a0
double a0
Bias coefficient of source time scale.
Definition: StdNavTimeOffset.hpp:122
navD2SF5p118
gnsstk::PackedNavBitsPtr navD2SF5p118
Definition: D2NavTestDataDecl.hpp:79
navD2SF5p057
gnsstk::PackedNavBitsPtr navD2SF5p057
Definition: D2NavTestDataDecl.hpp:64
PNBBDSD2NavDataFactory_T::filterTest
unsigned filterTest(const gnsstk::NavMessageTypeSet &nmts)
The meat of all the filter state tests.
Definition: PNBBDSD2NavDataFactory_T.cpp:132
gnsstk::BDSD2NavIono
Definition: BDSD2NavIono.hpp:51
gnsstk::SatelliteSystem::BeiDou
@ BeiDou
aka Compass
gnsstk::BDSD2NavEph::uraIndex
uint8_t uraIndex
4-bit URA index from subframe 1.
Definition: BDSD2NavEph.hpp:122
navD2SF5p091
gnsstk::PackedNavBitsPtr navD2SF5p091
Definition: D2NavTestDataDecl.hpp:72
navD2SF5p043
gnsstk::PackedNavBitsPtr navD2SF5p043
Definition: D2NavTestDataDecl.hpp:60
gnsstk::BDSWeekSecond
Definition: BDSWeekSecond.hpp:56
gnsstk::PNBBDSD2NavDataFactory::processSF5Pg101
bool processSF5Pg101(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:656
gnsstk::NavID
Definition: NavID.hpp:61
PNBBDSD2NavDataFactory_T::isAlmDefaultTest
unsigned isAlmDefaultTest()
Definition: PNBBDSD2NavDataFactory_T.cpp:953
navD2SF5p013
gnsstk::PackedNavBitsPtr navD2SF5p013
Definition: D2NavTestDataDecl.hpp:53
navD2SF5p067
gnsstk::PackedNavBitsPtr navD2SF5p067
Definition: D2NavTestDataDecl.hpp:66
PNBBDSD2NavDataFactory_T::processSF5Pg36Test
unsigned processSF5Pg36Test()
Definition: PNBBDSD2NavDataFactory_T.cpp:727
navD2SF5p074
gnsstk::PackedNavBitsPtr navD2SF5p074
Definition: D2NavTestDataDecl.hpp:68
navD2SF3p004
gnsstk::PackedNavBitsPtr navD2SF3p004
Definition: D2NavTestDataDecl.hpp:47
gnsstk::OrbitDataKepler::health
SVHealth health
SV health status.
Definition: OrbitDataKepler.hpp:173
navD2SF5p081
gnsstk::PackedNavBitsPtr navD2SF5p081
Definition: D2NavTestDataDecl.hpp:70
navD2SF5p073
gnsstk::PackedNavBitsPtr navD2SF5p073
Definition: D2NavTestDataDecl.hpp:68
navD2SF5p098
gnsstk::PackedNavBitsPtr navD2SF5p098
Definition: D2NavTestDataDecl.hpp:74
navD2SF5p083
gnsstk::PackedNavBitsPtr navD2SF5p083
Definition: D2NavTestDataDecl.hpp:70
gnsstk::SVHealth::Unhealthy
@ Unhealthy
Satellite is unhealthy and should not be used.
navD2SF5p056ct
gnsstk::CommonTime navD2SF5p056ct
Definition: D2NavTestDataDecl.hpp:102
navD2SF5p007
gnsstk::PackedNavBitsPtr navD2SF5p007
Definition: D2NavTestDataDecl.hpp:51
gnsstk::OrbitDataKepler::OMEGA0
double OMEGA0
Longitude of ascending node at weekly epoch (rad)
Definition: OrbitDataKepler.hpp:189
navD2SF5p038
gnsstk::PackedNavBitsPtr navD2SF5p038
Definition: D2NavTestDataDecl.hpp:59
navD2SF5p064
gnsstk::PackedNavBitsPtr navD2SF5p064
Definition: D2NavTestDataDecl.hpp:66
navD2SF1p001
gnsstk::PackedNavBitsPtr navD2SF1p001
Definition: D2NavTestDataDecl.hpp:43
gnsstk::BDSD2NavISC::rev
uint32_t rev
The rev field from word 1 of the subframe.
Definition: BDSD2NavISC.hpp:96
gnsstk::StdNavTimeOffset::effTime
CommonTime effTime
Effectivity time (wnLSF,dn).
Definition: StdNavTimeOffset.hpp:127
D2NavTestDataDef.hpp
navD2SF5p107
gnsstk::PackedNavBitsPtr navD2SF5p107
Definition: D2NavTestDataDecl.hpp:76
gnsstk::TimeSystem::BDT
@ BDT
BeiDou system Time.
navD2SF5p084
gnsstk::PackedNavBitsPtr navD2SF5p084
Definition: D2NavTestDataDecl.hpp:71
navD2SF5p099
gnsstk::PackedNavBitsPtr navD2SF5p099
Definition: D2NavTestDataDecl.hpp:74
gnsstk::StdNavTimeOffset::refTime
CommonTime refTime
Reference time for computation.
Definition: StdNavTimeOffset.hpp:126
navD2SF3p002
gnsstk::PackedNavBitsPtr navD2SF3p002
Definition: D2NavTestDataDecl.hpp:45
gnsstk::BDSD2NavISC::tgd2
double tgd2
Group delay differential on B2I.
Definition: BDSD2NavISC.hpp:100
gnsstk::PNBBDSD2NavDataFactory::processSF5Pg36
bool processSF5Pg36(const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:597
navD2SF2p003
gnsstk::PackedNavBitsPtr navD2SF2p003
Definition: D2NavTestDataDecl.hpp:46
gnsstk::OrbitDataKepler::af1
double af1
SV clock drift (sec/sec)
Definition: OrbitDataKepler.hpp:196
navD2SF5p045
gnsstk::PackedNavBitsPtr navD2SF5p045
Definition: D2NavTestDataDecl.hpp:61
gnsstk::PNBBDSD2NavDataFactory::processEph
bool processEph(unsigned long pgid, const PackedNavBitsPtr &navIn, NavDataPtrList &navOut)
Definition: PNBBDSD2NavDataFactory.cpp:302
TimeString.hpp
gnsstk::BDSD2NavISC
Definition: BDSD2NavISC.hpp:51
navD2SF2p005
gnsstk::PackedNavBitsPtr navD2SF2p005
Definition: D2NavTestDataDecl.hpp:48
gnsstk::BDSD2NavData::sow
uint32_t sow
Seconds of week from word 1-2 of the subframe.
Definition: BDSD2NavData.hpp:71
gnsstk::NavMessageType::Almanac
@ Almanac
Low-precision orbits for other than the transmitting SV.
gnsstk::StdNavTimeOffset::tot
double tot
Time data reference time of week (storage only).
Definition: StdNavTimeOffset.hpp:128
gnsstk::OrbitDataKepler::dn
double dn
Correction to mean motion (rad/sec)
Definition: OrbitDataKepler.hpp:183
navD2SF5p019
gnsstk::PackedNavBitsPtr navD2SF5p019
Definition: D2NavTestDataDecl.hpp:54


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