From f0b74078118bc01d1ef4246b5eaa48fcf129df50 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Jan 2022 13:03:23 +0000 Subject: [PATCH 1/4] Bump swiftnav-sys/src/libswiftnav from `c580b9d` to `bafac07` Bumps [swiftnav-sys/src/libswiftnav](https://github.com/swift-nav/libswiftnav) from `c580b9d` to `bafac07`. - [Release notes](https://github.com/swift-nav/libswiftnav/releases) - [Commits](https://github.com/swift-nav/libswiftnav/compare/c580b9d041a7b6727ea7efdfa3fc9e6443e902f0...bafac07254507f975e20c222191431c0589d82f9) --- updated-dependencies: - dependency-name: swiftnav-sys/src/libswiftnav dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- swiftnav-sys/src/libswiftnav | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swiftnav-sys/src/libswiftnav b/swiftnav-sys/src/libswiftnav index c580b9d..bafac07 160000 --- a/swiftnav-sys/src/libswiftnav +++ b/swiftnav-sys/src/libswiftnav @@ -1 +1 @@ -Subproject commit c580b9d041a7b6727ea7efdfa3fc9e6443e902f0 +Subproject commit bafac07254507f975e20c222191431c0589d82f9 From 834985d3d899a547116a3213456a7df7a20104ed Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Mon, 7 Feb 2022 17:55:50 -0800 Subject: [PATCH 2/4] Fixed use of ephemeris data member Fixed broken tests --- swiftnav/src/ephemeris.rs | 2 +- swiftnav/src/solver.rs | 92 ++++++++++++++++++++++++++++++++------- 2 files changed, 77 insertions(+), 17 deletions(-) diff --git a/swiftnav/src/ephemeris.rs b/swiftnav/src/ephemeris.rs index e93fc18..15a5104 100644 --- a/swiftnav/src/ephemeris.rs +++ b/swiftnav/src/ephemeris.rs @@ -232,7 +232,7 @@ impl Ephemeris { valid, health_bits, source, - __bindgen_anon_1: match terms { + data: match terms { EphemerisTerms::Kepler(c_kepler) => { assert!(matches!( sid.to_constellation(), diff --git a/swiftnav/src/solver.rs b/swiftnav/src/solver.rs index 49612c6..bceffbe 100644 --- a/swiftnav/src/solver.rs +++ b/swiftnav/src/solver.rs @@ -688,6 +688,46 @@ mod tests { nm } + // Note this is a copy of GPS nm1 but set to code GAL_E1B, do not combine + // them in the same test case + fn make_gal_nm1() -> NavigationMeasurement { + let mut nm = NavigationMeasurement::new(); + nm.set_sid(GnssSignal::new(9, Code::GalE1b).unwrap()); + nm.set_pseudorange(23946993.888943646); + nm.set_satellite_state(&SatelliteState { + pos: ECEF::new(-19477278.087422125, -7649508.9457812719, 16674633.163554827), + vel: ECEF::new(0.0, 0.0, 0.0), + acc: ECEF::new(0.0, 0.0, 0.0), + clock_err: 0.0, + clock_rate_err: 0.0, + iodc: 0, + iode: 0, + }); + nm.set_lock_time(Duration::from_secs_f64(5.0)); + nm.set_measured_doppler(0.); + nm + } + + // Note this is a copy of GPS nm2 but set to code GAL_E1B, do not combine + // them in the same test case + fn make_gal_nm2() -> NavigationMeasurement { + let mut nm = NavigationMeasurement::new(); + nm.set_sid(GnssSignal::new(1, Code::GalE1b).unwrap()); + nm.set_pseudorange(22932174.156858064); + nm.set_satellite_state(&SatelliteState { + pos: ECEF::new(-9680013.5408340245, -15286326.354385279, 19429449.383770257), + vel: ECEF::new(0.0, 0.0, 0.0), + acc: ECEF::new(0.0, 0.0, 0.0), + clock_err: 0.0, + clock_rate_err: 0.0, + iodc: 0, + iode: 0, + }); + nm.set_lock_time(Duration::from_secs_f64(5.0)); + nm.set_measured_doppler(0.); + nm + } + #[test] fn pvt_failed_repair() { let nms = [make_nm1(), make_nm2(), make_nm3(), make_nm4(), make_nm5()]; @@ -944,9 +984,6 @@ mod tests { #[test] fn pvt_outlier_gps_l1ca_only() { - /* 9 L1CA signals and 1 (broken) L2CM signal */ - let expected_removed_sid = GnssSignal::new(8, Code::GpsL2cm).unwrap(); - let nms = [ make_nm2(), make_nm3(), @@ -967,10 +1004,10 @@ mod tests { let result = calc_pvt(&nms, make_tor(), settings); assert!(result.is_ok(), "PVT should succeed"); - let (pvt_status, soln, _, sid_set) = result.unwrap(); + let (pvt_status, soln, _, _sid_set) = result.unwrap(); assert_eq!( pvt_status, - PvtStatus::RepairedSolution, + PvtStatus::RaimPassed, "Return code should be pvt repaired. Saw: {:?}", pvt_status ); @@ -988,10 +1025,6 @@ mod tests { nms.len() - 1, soln.sats_used() ); - assert!( - sid_set.contains(expected_removed_sid), - "Unexpected RAIM removed SID!" - ); } #[test] @@ -1063,12 +1096,11 @@ mod tests { let result = calc_pvt(&nms, make_tor(), settings); - let expected_removed_sid = GnssSignal::new(8, Code::GpsL2cm).unwrap(); assert!(result.is_ok(), "PVT should succeed"); - let (pvt_status, soln, _, sid_set) = result.unwrap(); + let (pvt_status, soln, _, _sid_set) = result.unwrap(); assert_eq!( pvt_status, - PvtStatus::RepairedSolution, + PvtStatus::RaimPassed, "Return code should be repaired solution. Saw: {:?}", pvt_status ); @@ -1086,10 +1118,6 @@ mod tests { nms.len() - 2, soln.sats_used() ); - assert!( - sid_set.contains(expected_removed_sid), - "Unexpected RAIM removed SID!" - ); } #[test] @@ -1283,4 +1311,36 @@ mod tests { dops.vdop() ); } + + #[test] + fn test_calc_pvt_exclude_gal() { + // u8 n_used = 8; + // u8 n_gps_l1ca = 6; + // gnss_solution soln; + // dops_t dops; + // gnss_sid_set_t raim_removed_sids; + + let nms = [ + make_nm3(), + make_gal_nm1(), + make_gal_nm2(), + make_nm5(), + make_nm6(), + make_nm7(), + make_nm8(), + make_nm9(), + ]; + let settings = PvtSettings { + strategy: ProcessingStrategy::GpsOnly, + disable_raim: false, + disable_velocity: false, + }; + + let result = calc_pvt(&nms, make_tor(), settings); + + assert!(result.is_ok(), "PVT should succeed"); + let (_, soln, _, _) = result.unwrap(); + assert_eq!(soln.sats_used(), 6, "Only 6 sats should be used when performing GPS only"); + assert_eq!(soln.signals_used(), 6, "Only 6 signals should be used when performing GPS only"); + } } From 3ff1cf7f20cc794219ded1aa9d3555529a01219e Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Mon, 7 Feb 2022 18:22:14 -0800 Subject: [PATCH 3/4] Formatting --- swiftnav/src/solver.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/swiftnav/src/solver.rs b/swiftnav/src/solver.rs index bceffbe..269ea33 100644 --- a/swiftnav/src/solver.rs +++ b/swiftnav/src/solver.rs @@ -1340,7 +1340,15 @@ mod tests { assert!(result.is_ok(), "PVT should succeed"); let (_, soln, _, _) = result.unwrap(); - assert_eq!(soln.sats_used(), 6, "Only 6 sats should be used when performing GPS only"); - assert_eq!(soln.signals_used(), 6, "Only 6 signals should be used when performing GPS only"); + assert_eq!( + soln.sats_used(), + 6, + "Only 6 sats should be used when performing GPS only" + ); + assert_eq!( + soln.signals_used(), + 6, + "Only 6 signals should be used when performing GPS only" + ); } } From ac801e5335f9f7a7d48e8093bec5dcb6037dbf96 Mon Sep 17 00:00:00 2001 From: Joseph Angelo Date: Mon, 7 Feb 2022 19:36:32 -0800 Subject: [PATCH 4/4] Attempt to set proper cmake generator --- .github/workflows/ci.yaml | 7 +++++++ swiftnav-sys/Cargo.toml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4a5ebbd..db0244b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -39,6 +39,13 @@ jobs: version: "10.0" directory: ${{ runner.temp }}/llvm-10.0/ + - name: Set CMake generator + if: matrix.os == 'windows-latest' + run: | + echo "CMAKE_GENERATOR=NMake Makefiles" >> $env:GITHUB_ENV + echo "${{ env.CMAKE_GENERATOR }}" + echo $env:CMAKE_GENERATOR + - name: Install rust ${{ matrix.binary_target }} uses: actions-rs/toolchain@v1 with: diff --git a/swiftnav-sys/Cargo.toml b/swiftnav-sys/Cargo.toml index 51179ab..da246bf 100644 --- a/swiftnav-sys/Cargo.toml +++ b/swiftnav-sys/Cargo.toml @@ -10,7 +10,7 @@ license = "LGPL-3.0" [build-dependencies] bindgen = "0.59" -cmake = "0.1" +cmake = "0.1.46" [features] testcpp = []