Skip to content
This repository has been archived by the owner on May 29, 2022. It is now read-only.

Commit

Permalink
GPSTk v2.10.3
Browse files Browse the repository at this point in the history
  • Loading branch information
Bryan Parsons committed Jun 22, 2018
1 parent c468542 commit a095a06
Show file tree
Hide file tree
Showing 5 changed files with 189 additions and 51 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ cmake_minimum_required( VERSION 2.8.5 )
project( GPSTK )
set( GPSTK_VERSION_MAJOR "2" )
set( GPSTK_VERSION_MINOR "10" )
set( GPSTK_VERSION_PATCH "2" )
set( GPSTK_VERSION_PATCH "3" )
set( GPSTK_VERSION "${GPSTK_VERSION_MAJOR}.${GPSTK_VERSION_MINOR}.${GPSTK_VERSION_PATCH}" )

# Test data file source directory
Expand Down
144 changes: 144 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
Version 2.10.2 Friday, June 22, 2018

General modifications
---------------------
- Updated unit tests to comply with logic changes.
- Test Additions and Cleanup
- Various Bug and Compile Warning Fixes

Modifications by Author
---------------------
Andrew Kuck (3):
Fixed calculation error in Ionosphere Free Range calculation.
Fixed sign error on troposphere correction.
Updated unit tests to comply with logic changes.

Anthony Hughes (1):
Ensured full initialization of Stats objects and fixed a memory leak in OrbitEph::timeDisplay.

Bryan Parsons (11):
Merge branch 'issue_340_Gal_Ellip' into 'master'
Merge branch 'change_confusing_ObsID_comment' into 'master'
Merge branch 'getXvt_unhealthy_SVs' into 'master'
Merge branch 'issue_341_GalSupport' into 'master'
Merge branch 'issue_342_stats' into 'master'
Merge branch 'issue_343_yuma_reader_fix' into 'master'
Merge branch 'ord_fix' into 'master'
Merge branch '345-add-support-in-commandoption-for-custom-help' into 'master'
Merge branch '346-restore-missing-gpsweekzcount-math' into 'master'
Merge branch 'issue_348_OrbAlmStore' into 'master'
Merge branch 'issue_347_Galileo_Antex_Offsets' into 'master'

Miquela Stein (1):
updated yuma reader to work without newline at end of file

Richard Ji-Cathriner (1):
Change documentation of ObsID phase units

johnk (4):
Add support for generalized help-like options and update BasicFramework to use them
Tests for help-like options
Clean up this train wreck
Add the lost math functions back to GPSWeekZcount

nmerlene (2):
Added ability to use getXvt() calls on unhealthy SVs in XvtStore objects returned by EphReader
Changed implementation of health status in GloEphemerisStore

renfrob (9):
Adding Ellipsoid model for Galileo
Adding, clarifying Galileo E5a, E5b, E5a+b definitions
Refining Galileo nav msg IDs
Updating NavID test
Updating Rinex tests for Galileo L5 to E5
Adding Galileo antenna capbility
Removing health checks. Implementing a separate fit interval check.
Adding getXvt() tests
Merge branch 'master' into issue_347_Galileo_Antex_Offsets


#################################################


Version 2.10.2 Thursday, April 19, 2018

General modifications
Expand All @@ -8,6 +70,88 @@ Version 2.10.2 Thursday, April 19, 2018

Modifications by Author
---------------------
Andrew Kuck (20):
Added ord routine calculation header file for review.
Added initial implementation of several methods, as well as initial unit tests and regression tests against the original methods.
Changed computeRelativityCorrection to virtual to allow overriding in mock-classes.
Renamed test for consistency.
Style cleanup based on cpplint.
Updated documentation to be doxygen compatible.
First pass implementations of RawRange2,3,4 - Includes single unit test and mocked regression.
Added ORD methods to exposed methods in python.
Added lint check to the ci-pipeline.
Temporary commit.
Remove known failing test, and reference to personal copies of gtest/gmock libs.
Rewrote the cmake file to find either debian-style or redhat-style gtest/gmock installation
Try generating a coverage report on core only
Added implementations for IonosphereFreeRange(), IonosphereModelCorrection(), TroposphereCorrection() with unit tests.
Changed IonosphereModelCorrection to take a double frequency
Removed stop-gap code to see if googletest has been installed anywhere.
Fix coverage numbers.
Add additional search paths for gmock.
Added coverage build switch. Enabled _only_ for core_build.
Added allow-failures on static analysis.

Bryan Parsons (16):
Added line to GPSTKConfig.cmake to allow dependent projects to find header files regardless of explicit or implicit paths.
Merge branch 'Explicit_Header_Fix' into 'master'
Merge branch 'GPSTk_2_10_1' into 'master'
Merge branch 'EngEphHealthFix' into 'master'
Merge branch 'issue_335_scanBrdc' into 'master'
Merge branch 'issue_333' into 'master'
Merge branch 'Add_demodulator_status_obs_type' into 'master'
Merge branch 'rowcheck_rin3' into 'master'
Merge branch 'ord_refactor' into 'master'
Merge branch 'SVNumXRef_update54' into 'master'
Merge branch '54_18_corrected' into 'master'
Merge branch 'issue_333' into 'master'
Merge branch 'issue_339_sp3d_support' into 'master'
Fixing bug that introduced false positive on Downstream GPSTk Core build. Making this test an Allowed Failure at this time.
Merge branch 'gitlab_ci_bug' into 'master'
GPSTk v2.10.2

John H. Price (1):
Use newer rinex classes to allow RINEX 3 file checking

Jon C. Little (1):
Corrected prettying print of eph health bits

Nick Boeker (10):
Updated references for 54/18 and 34/18 and updated PRN 4 gap
Fixed incorrect Syntax
Fixed incorrect end time for 54/18
Updated for SP3d reading
Everything but bc2sp3 working
SP3d successfully passes all build tests
Merge remote-tracking branch 'origin/master' into issue_339_sp3d_support
Fixed minor issues
Fixed another small thing
Removed unused debug statement

Richard Ji-Cathriner (1):
Add ObservationType for demodulator status codes

johnk (15):
Add helper methods for computing appropriate buffer sizes. Add a filter class for putting nav data in time order. Change LNavEphMaker to always accept all nav data.
Fix include path
Merge remote-tracking branch 'origin/master' into issue_333
Add name strings to nav filter classes to help reduce redundant code.
Make accept/reject methods of NavFilter protected as they should only be called by derived classes. Undo previous changes made to LNavEphMaker that broke it and document the situation a bit better.
Fix memory leak
Change iterator class to work with pre-c++11
fix another memory leak
Fix typo
Eliminate seg fault due to empty map
Merge remote-tracking branch 'origin/master' into issue_333
Fix a problem causing seg faults
Merge remote-tracking branch 'origin/master' into issue_333
Merge remote-tracking branch 'origin/master' into issue_333
Filter for forcing time-order of legacy nav subframe data

renfrob (2):
Fixing week rollover with negative HOW bug
Adding mistagging PRN detection to scanBrdcFile




Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ PROJECT_NAME = "GPS ToolKit Software Library"
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 2.10.2
PROJECT_NUMBER = 2.10.3

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
Expand Down
3 changes: 3 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ NEWS

GPS Toolkit News
------------------------------------------------------------------------------
June 22, 2018 . . . . Release Candidate for Version 2.10.3 is frozen in the
repository

April 19, 2018 . . . Release Candidate for Version 2.10.2 is frozen in the
repository

Expand Down
89 changes: 40 additions & 49 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,62 @@
GPSTk 2.10.2 Release Notes
GPSTk 2.10.3 Release Notes
========================

Updates since v2.10.1
Updates since v2.10.2
----------------------

**Build System and Test Suite**
* Test coverage was added on the core-build using gcov and gcovr
* Support for GootleTest/GoogleMock added.

**Gitlab CI**
* Test coverage was added on the core-build using gcov and gcovr
* Style compliance checking was added (as a new CI-Pipeline stage) using cpplint, but is not enforced.

**Library Changes**
* Added code to core/lib/GNSSEph/RationalizeRinex (used by core/apps/Rinextools/scanBrdcFile) to detect RINEX nav data sets tagged with the wrong SV PRN ID and to not copy such data sets to the output file. REASON: Latest IGS-generated merged RINEX nav (brdc) files contain data sets that are tagged with the incorrect PRN ID.
* NavFilter updates/enhancements - Add a nav filter for forced ordering of data. Add methods for determining filter depth for buffer size computation. ITT receivers in particular do not always output nav subframes in time order or on time or with correct time stamps.
* Added ObservationType for demodulator status codes, which will support changes to tools in SGLTk made in a future merge
* ORD Refactor with CI Pipeline Changes - ord.cpp was exposed in the SWIG interface. Unit tests for coverage were written using GoogleTest/GoogleMock. Test coverage was measured on the core-build using gcov and gcovr. REASON: The ORD routines was considered general enough to add to GPSTk. The project driving it is the HRTR Web Development effort.
* Updated references for 54/18 and 34/18 and updated PRN 4 gap
* Added LNAVOrderFilter for forcing time-order of legacy nav subframe data. REASON: When processing data from multiple receivers, the data may not be sent by the receivers at the same time. This filter makes a "best effort" to enforce time ordering across multiple receivers going into the filter.
* Added sp3d file format support. REASON: We care about sp3d because the IGS MGEX precise orbit files moved from sp3c to sp3d in fall 2017. Therefore, to support various multi-GNSS data experiments, we need to be able to access these files.
* Adding Ellipsoid model for Galileo. REASON: Required for processing Galileo orbits
* Change documentation of ObsID phase units. REASON: Most of the defined file formats and associated readers did not respect the prior documentation for phase observations. This changes the documentation to be consistent with the usage in (at least) MDP, NovAtel, RINEX, and MDH.
* Added ability to use getXvt() calls on unhealthy SVs in XvtStore objects returned by EphReader. Changes include: Migrated onlyHealthy, getOnlyHealthyFlag(), and setOnlyHealthyFlag() from OrbitEphStore to XvtStore; Made sure that default behavior for OrbitEphStore and OrbElemStore was retained; Changed implementation of health status in GloEphemerisStore. REASON: The changes were made since there is a need to be able to call getXvt() on the unhealthy SVs in XvtStore objects returned by EphReader.
* Adding/Clarifying support for Galileo E5a/E5b in ObsID. Adding Galileo F/NAV and I/NAV to NavID. REASON: Need these signals represented in the signal processing infrastructure. Part of Issue 341 - Update Galileo Signal Support.
* Ensured full initialization of Stats objects and fixed a memory leak in OrbitEph::timeDisplay. REASON: This change ensures full initialization of Stats objects to eliminate undefined behavior. Also, this fix contains a fix for a small memory leak in OrbitEph::timeDisplay.
* ORD Calculation Fixes - addressed defects in the new ORD Calculation discovered by Jason Vestuto in his testing. REASON: The calculation results were incorrect.
* Added a base class for help-like command-line options with special processing in CommandOptionParser and BasicFramework. REASON: Too many applications in the MSN have needed this, and this is a better solution than trying to figure out if these help-like options were used after all the normal command-line option parsing.
* Restored Missing GPSWeekZcount Math. REASON: When the time code was migrated to CommonTime/TimeTag implementations, several extremely useful methods were discarded from the GPSWeekZcount class.
* Relaxed fit interval and health restrictions on ext/GNSSEph/OrbAlmStore. REASON: Existing code didn't address existing use cases.
* Added recognition of Galileo antenna offsets to increase capability. REASON: Several other GNSSs are already implemented. This is adding yet another GNSS in the same pattern.

*New Library Classes*
* core/lib/ORD/ord.cpp
* core/lib/ORD/ord.hpp
* core/lib/NavFilter/LNavOrderFilter.cpp
* core/lib/NavFilter/LNavOrderFilter.hpp

**Application Changes**
* core/apps/Rinextools/scanBrdcFile updated to detect RINEX nav data sets tagged with the wrong SV PRN ID and to not copy such data sets to the output file.
* Update core/apps/checktools/rowcheck.cpp & core/apps/checktools/rnwcheck.cpp to use newer RINEX classes for rowcheck and rnwcheck to make them RINEX3 compatible

*Updated Applications*
* core/apps/Rinextools/scanBrdcFile
* core/apps/checktools/rnwcheck.cpp
* core/apps/checktools/rowcheck.cpp
* core/tests/ORD/OrdRegressionChecks_T.cpp
* core/tests/ORD/OrdUnitTests_T.cpp
* core/lib/GNSSCore/GalileoEllipsoid.hpp

**Test Changes**

*New/Added Tests*
* core/tests/ORD/GTestExperiments.cpp
* core/tests/ORD/OrdMockClasses.hpp
* core/tests/AppFrame/BasicFrameworkHelp_T.cpp

*Modified Test files*
* core/tests/NavFilter/NavFilterMgr_T.cpp
* core/tests/GNSSEph/NavID_T.cpp
* core/tests/ORD/OrdRegressionChecks_T.cpp
* core/tests/ORD/OrdUnitTests_T.cpp
* core/tests/AppFrame/CMakeLists.txt
* core/tests/testsuccexp.cmake
* core/tests/TimeHandling/GPSWeekZcount_T.cpp
* ext/tests/GNSSEph/OrbAlmStore_T.cpp
* core/tests/FileHandling/SP3_T.cpp

**Truth Data Changes**

*New Truth Data*
* data/test_input_SP3d.sp3

**SWIG Bindings & Python**
* Updated SWIG interface files for ORD refactor

*New/Added SWIG Files*
* swig/src/ord.i


Fixes since v2.10.1
* data/BasicFrameworkHelpReq_T_1.err.exp
* data/BasicFrameworkHelpReq_T_1.exp
* data/BasicFrameworkHelp_T_1.err.exp
* data/BasicFrameworkHelp_T_1.exp
* data/BasicFrameworkHelp_T_3.err.exp
* data/BasicFrameworkHelp_T_3.exp
* data/BasicFrameworkHelp_T_4.err.exp
* data/BasicFrameworkHelp_T_4.exp
* data/BasicFrameworkHelp_T_8.err.exp
* data/BasicFrameworkHelp_T_8.exp

*Updated Truth Data*
* data/outputs/RinSum_obspath_v211.exp
* data/outputs/RinSum_v211_kerg.exp
* data/outputs/RinSum_v211_nklg.exp
* data/outputs/RinSum_v302_FAA1.exp

Fixes since v2.10.2
-------------------
* Corrected prettying print of eph health bits in core/lib/GNSSEph/EngEphemeris.cpp
* Fixed incorrect end time for 54/18 in core/lib/GNSSCore/SVNumXRef.cpp
* Fixing bug that introduced false positive on Downstream GPSTk Core build
* Updated yuma reader to work without newline at end of file. REASON: Needed flexibility to handle files with and without newlines at the end without the reader breaking.




0 comments on commit a095a06

Please sign in to comment.