Skip to content

Commit

Permalink
Merge branch 'release/v14.3.0' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
gloppyuser committed Dec 19, 2023
2 parents fe45a39 + 9e407e5 commit cbba16f
Show file tree
Hide file tree
Showing 34 changed files with 1,527 additions and 248 deletions.
96 changes: 2 additions & 94 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -262,23 +262,6 @@ build_ubuntu_20.04:
paths:
- build/

build_ubuntu_20.04_cpp17:
stage: build
needs: []
extends: .normal_build
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/ubuntu-20.04:pkgbuild
script:
- mkdir -p build
- cd build
- export gnsstk=`pwd`/install
- cmake -DPYTHON_INSTALL_PREFIX=$gnsstk -DCMAKE_INSTALL_PREFIX=install -DCPPSTD=c++17 $CMAKE_ARG_DEFAULT
- make all -j 4
artifacts:
paths:
- build/

build_ext_noswig:
stage: build
needs: []
Expand Down Expand Up @@ -605,25 +588,6 @@ test_ubuntu_20.04:
dependencies:
- build_ubuntu_20.04

test_ubuntu_20.04_cpp17:
stage: test
needs: [build_ubuntu_20.04_cpp17]
extends: .normal_build
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/ubuntu-20.04:pkgbuild
script:
- cd build
- ctest -j 4
- touch $CI_PROJECT_DIR/success
artifacts:
when: on_failure
paths:
- build/Testing/Temporary/
- build/swig/
dependencies:
- build_ubuntu_20.04_cpp17

test_debian_10_virtualenv:
stage: test
needs: [build_debian_10_virtualenv]
Expand Down Expand Up @@ -1126,43 +1090,6 @@ package_ubuntu_20.04:
dependencies:
- build_ubuntu_20.04

package_ubuntu_20.04_cpp17:
stage: package
needs: []
variables:
BUILD_TYPE: fast
rules:
# Add this rule to prevent an "additional" single element pipeline for merge requests.
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: never
- if: $CI_COMMIT_REF_NAME =~ /main/ || $CI_COMMIT_REF_NAME =~/^ci_.*$/ || $CI_COMMIT_REF_NAME=~/^version_.*_prep$/
variables:
BUILD_TYPE: debug
- when: on_success
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/ubuntu-20.04:pkgbuild
script:
- rm -rf ../*.deb .gitmodules
# Mark the debian log so that this package is a backport.
# Use the most recent Maintainer as current maintainer.
- export DEBEMAIL=$(dpkg-parsechangelog -S Maintainer)
- dch --bpo "No Changes" && dch -l "cpp17ubuntu" -D focal 'No Changes' -u low
- if [ "$BUILD_TYPE" == "debug" ]; then BUILD_PROFILES="pkg_python,debug_package,build_cpp17"; else BUILD_PROFILES="pkg_python,build_cpp17"; fi
- dpkg-buildpackage --build-profiles=${BUILD_PROFILES} -us -uc -d --changes-option="-DDistribution=focal-sgl"
- mkdir debs
- mv ../*.deb debs
- mv ../*.changes debs
- mv ../*.dsc debs
- mv ../*.git ../*.gitshallow debs
- mv ../*.buildinfo debs
artifacts:
paths:
- debs/
timeout: 90m
dependencies:
- build_ubuntu_20.04_cpp17

package_conda:
stage: package
needs: []
Expand Down Expand Up @@ -1341,25 +1268,6 @@ deploy_ubuntu_20.04:
dependencies:
- package_ubuntu_20.04

deploy_ubuntu_20.04_cpp17:
stage: deploy
needs: [package_ubuntu_20.04_cpp17]
extends: .big_build
tags:
- docker-executor
image: $DOCKER_REGISTRY/sgl/ubuntu-20.04:pkgbuild
script:
- pushd debs
- apt-get -y install ./*.deb
- popd
# source gnsstk's enable script
- source /etc/profile.d/gnsstk_enable.sh
- python3 -c "import gnsstk"
- df_diff -h
- gnsstk-config --includedir
dependencies:
- package_ubuntu_20.04_cpp17

deploy_redhat_8:
stage: deploy
needs: [package_redhat_8]
Expand Down Expand Up @@ -1399,5 +1307,5 @@ push_artifacts:
DEB_11_PACKAGES: "debs/*bpo11*.deb"
UBU_20_PACKAGES: "debs/*bpo10+1*ubuntu*.deb"
stage: push
needs: [package_conda, package_debian_10, package_debian_11, package_ubuntu_20.04, package_ubuntu_20.04_cpp17, package_redhat_8, package_redhat_8_py36, package_windows_vs2019]
dependencies: [package_conda, package_debian_10, package_debian_11, package_ubuntu_20.04, package_ubuntu_20.04_cpp17, package_redhat_8, package_redhat_8_py36, package_windows_vs2019]
needs: [package_conda, package_debian_10, package_debian_11, package_ubuntu_20.04, package_redhat_8, package_redhat_8_py36, package_windows_vs2019]
dependencies: [package_conda, package_debian_10, package_debian_11, package_ubuntu_20.04, package_redhat_8, package_redhat_8_py36, package_windows_vs2019]
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ cmake_minimum_required( VERSION 3.7.2 )

project( GNSSTK )
set( GNSSTK_VERSION_MAJOR "14" )
set( GNSSTK_VERSION_MINOR "2" )
set( GNSSTK_VERSION_MINOR "3" )
set( GNSSTK_VERSION_PATCH "0" )
set( GNSSTK_VERSION "${GNSSTK_VERSION_MAJOR}.${GNSSTK_VERSION_MINOR}.${GNSSTK_VERSION_PATCH}" )

Expand Down
14 changes: 7 additions & 7 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ ref/usersguide/ @johnk @renfrob @rain
# Core lib
core/lib/ @johnk
core/lib/AppFrame/ @johnk @anthony
core/lib/CommandLine/CommandLine.cpp @anthony @btolman @johnk
core/lib/CommandLine/CommandLine.hpp @anthony @btolman @johnk
core/lib/CommandLine/CommandLine.cpp @anthony @magliocca @johnk
core/lib/CommandLine/CommandLine.hpp @anthony @magliocca @johnk
core/lib/CommandLine/ @johnk @anthony
core/lib/FileDirProc/ @johnk @anthony
core/lib/FileHandling/ @anthony @johnk
core/lib/Geomatics/ @btolman @johnk
core/lib/Geomatics/ @magliocca @johnk @butcher
core/lib/GNSSCore/ @anthony @johnk @jmedeiros
core/lib/GNSSEph/ @johnk @anthony @renfrob
core/lib/Math/ @anthony @btolman
core/lib/Math/ @anthony @magliocca @malik
core/lib/NavFilter/ @johnk @anthony @renfrob
core/lib/NewNav/ @johnk @jmedeiros
core/lib/ORD/ @malik @johnk @rcathriner
core/lib/PosSol/ @btolman @renfrob
core/lib/RefTime/ @btolman @renfrob
core/lib/PosSol/ @magliocca @renfrob @malik
core/lib/RefTime/ @magliocca @renfrob
core/lib/TestFramework/ @anthony @johnk
core/lib/TimeHandling/ @anthony @johnk @renfrob
core/lib/Utilities/ @johnk @anthony
Expand All @@ -40,7 +40,7 @@ ext/ @johnk @dbarber
# Other
data/ @dbarber @kuck
deprecated/ @dbarber @kuck
examples/ @johnk @btolman @renfrob
examples/ @johnk @magliocca @renfrob

[CPP Reviewers]
*.cpp @code-reviewers/cpp
Expand Down
28 changes: 28 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
# Version 14.3.0 Monday December 18, 2023

Modifications by Author
-----------------------
Brent Renfro <[email protected]> (1):
Correcting CNAV weekrollover issue

John Knutson <[email protected]> (1):
Allow the SP3NavDataFactory to initialize OrbitDataSP3 fields to NaN or whatever

Jon Little <[email protected]> (1):
Resolve "Testing sem and al3 support"

Sarah Magliocca <[email protected]> (1):
Replacing Brian Tolman as a CODEOWNER with GNSS Geospatial PO and others

Taben Malik <[email protected]> (8):
Making gnsstk_enable.sh POSIX compliant for wider support.
Update gnsstk_enable.sh
Discovered and fixed bug in PackedNavBits
Parse Galileo I/NAV page pairs in PNB factory.
Removing breaking CPP 17 feature
Removing special c++17 packages as they are no longer needed
Fix PackedNavBits segfaults
Introduce PNB method to add int8_t bit vector



# Version 14.2.0 Friday August 11, 2023

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

PROJECT_NUMBER = 14.2.0
PROJECT_NUMBER = 14.3.0

# 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 a
Expand Down
52 changes: 23 additions & 29 deletions RELNOTES.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,36 @@
GNSSTk 14.2.0 Release Notes
GNSSTk 14.3.0 Release Notes
========================

* This release includes the following:
* Changes in support of CSMS. See New Modules below.
* Add GPS SV config message to NewNav
* Add support for norad IDs in SatID for those compilers that support c++17 or later
* Co-installation of major versions of debian packages.
* Adding the ability for SP3NavDataFactory to initialize OrbitDataSP3 fields to NaN or whatever.
* Adding Galileo I/NAV page pair parsing to PNB factory.
* Adding addBitVec method to PackedNavBits to allow easy packing of an array of 0/1 ints.
* Additionally, it contains several bug fixes and build system updates.

Updates since v14.2.0
---------------------

**Build System and Test Suite**
* Fix gnsstk data submodule reference
* Update build.sh to opportunistically use Ninja
* Update create debian/ubuntu major version coinstallable package
* Add tests for sem and al3 files (See New Modules below).
* Update gnsstk_enable.sh to be POSIX compliant for wider support.
* Update Removing special c++17 packages as they are no longer needed.

**Gitlab CI**
* Update codeowners file to replace contributors that left

**Library Changes**
* Add support for specifying which c++ standard to use when compiling with g++
* Add GPS SV config message to NewNav
* Add support for norad IDs in SatID for those compilers that support c++17 or later
* Update BDSD?NavEph.cpp Modified end fit determination
* Changes in support of CSMS
* Add the ability for SP3NavDataFactory to initialize OrbitDataSP3 fields to NaN or whatever
* Add Galileo I/NAV page pair parsing to PNB factory.
* Add addBitVec method to PackedNavBits to allow easy packing of an array of 0/1 ints.

Fixes since v14.1.0
Fixes since v14.2.0
--------------------
* Fix SEM NavData system value
* Fix SEMNavDataFactory orbital inclination rate of change
* Fix time offset sign convention to be consistent between BasicTimeSystemConverter and the NavTimeSystemConverter.
* Fix a few sign convention changes
* Fix bug in PackedNavBits.addDataVec that would drop the last byte of data.
* Fix PNBGPSCNavDataFactory.cpp Fix weekrollover problem.
* Fix PackedNavBits segfaulting when add more bits beyond its initial capacity.
* Removed c++17 features due to segfaults.

New Modules
-------------------------------
core/lib/GNSSCore/SatTimeSystem.cpp
core/lib/GNSSCore/SatTimeSystem.hpp
core/lib/NewNav/GPSNavConfig.cpp
core/lib/NewNav/GPSNavConfig.hpp
core/lib/NewNav/GPSSVConfig.cpp
core/lib/NewNav/GPSSVConfig.hpp
core/lib/NewNav/SystemNavData.hpp
core/tests/GNSSCore/SatelliteSystem_T.cpp
core/tests/NewNav/GPSNavConfig_T.cpp
core/tests/NewNav/GPSSVConfig_T.cpp
swig/tests/test_GPSNavConfig.py
core/tests/NewNav/NavLibrarySEM_T.cpp
core/tests/NewNav/NavLibraryYuma_T.cpp
12 changes: 8 additions & 4 deletions core/lib/GNSSCore/SatID.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,10 @@ namespace gnsstk
s << "*";
else
s << id;
#if __cplusplus >= 201703L
if (norad.has_value())
if (hasNorad)
{
s << " NORAD " << *norad;
s << " NORAD " << norad;
}
#endif
}


Expand Down Expand Up @@ -151,4 +149,10 @@ namespace gnsstk
default: return (id > 0 && id < 100);
}
}

void SatID :: setNorad(unsigned long n)
{
norad = n;
hasNorad = true;
}
}
21 changes: 14 additions & 7 deletions core/lib/GNSSCore/SatID.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,6 @@
#include <iostream>
#include <iomanip>
#include <sstream>
#if __cplusplus >= 201703L
#include <optional>
#endif
#include "gps_constants.hpp"
#include "SatelliteSystem.hpp"

Expand Down Expand Up @@ -154,18 +151,28 @@ namespace gnsstk
* @note this is not used internally in the gnsstk library */
bool isValid() const;

/** Assign a NORAD identifier for this satellite.
* A convienence method for setting the norad ID and #hasNorad field.
* See #norad for more info. */
void setNorad(unsigned long n);

int id; ///< Satellite identifier, e.g. PRN
bool wildId; ///< If true, any satellite matches.
SatelliteSystem system; ///< System for this satellite
bool wildSys; ///< If true, any system matches.
#if __cplusplus >= 201703L

/** NORAD assigned identifier for this satellite.
* @note This value is only used as additional metadata. It
* is intentionally not taken into account for sorting or
* comparing to avoid breaking code that doesn't actively
* support it. */
std::optional<unsigned long> norad;
#endif
* support it.
* @todo replace norad/hasNorad with `std::optional` when
* C++ 17 is used.*/
unsigned long norad;
/// Set to True if #norad is set.
/// It is the user's responsibility to keep this variable valid.
bool hasNorad = false;

}; // class SatID

/// stream output for SatID
Expand Down
Loading

0 comments on commit cbba16f

Please sign in to comment.