diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 41aa5c9d2..e75a68ba5 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -69,6 +69,16 @@ jobs: with: command: build args: --all-features --release + + - uses: actions-rs/toolchain@v1 + name: Install nightly + with: + toolchain: nightly + override: true + + - name: Documentation + run: | + ./tools/builddoc.sh windows-build: runs-on: windows-latest diff --git a/.gitignore b/.gitignore index 43c3d790c..32952d498 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ debug/ target/ +logs/ test_resources/ diff --git a/crx2rnx/Cargo.toml b/crx2rnx/Cargo.toml index 024c89c1f..040a0ce51 100644 --- a/crx2rnx/Cargo.toml +++ b/crx2rnx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "crx2rnx" -version = "2.3.3" +version = "2.3.4" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "RINEX data decompressor" @@ -12,4 +12,4 @@ readme = "README.md" [dependencies] clap = { version = "4.4.13", features = ["derive", "color"] } -rinex = { path = "../rinex", version = "=0.16.0", features = ["serde"] } +rinex = { path = "../rinex", version = "=0.16.1", features = ["serde"] } diff --git a/rinex-cli/Cargo.toml b/rinex-cli/Cargo.toml index 8e4c3fe29..87ca776bc 100644 --- a/rinex-cli/Cargo.toml +++ b/rinex-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rinex-cli" -version = "0.11.0" +version = "0.11.1" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "Command line tool parse and analyze RINEX data" @@ -32,8 +32,8 @@ horrorshow = "0.8" clap = { version = "4.4.13", features = ["derive", "color"] } hifitime = { version = "3.9.0", features = ["serde", "std"] } gnss-rs = { version = "2.1.3" , features = ["serde"] } -rinex = { path = "../rinex", version = "=0.16.0", features = ["full"] } -rinex-qc = { path = "../rinex-qc", version = "=0.1.13", features = ["serde"] } +rinex = { path = "../rinex", version = "=0.16.1", features = ["full"] } +rinex-qc = { path = "../rinex-qc", version = "=0.1.14", features = ["serde"] } sp3 = { path = "../sp3", version = "=1.0.8", features = ["serde", "flate2"] } serde = { version = "1.0", default-features = false, features = ["derive"] } diff --git a/rinex-qc/Cargo.toml b/rinex-qc/Cargo.toml index df45cc694..e6ac99e9d 100644 --- a/rinex-qc/Cargo.toml +++ b/rinex-qc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rinex-qc" -version = "0.1.13" +version = "0.1.14" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "RINEX data analysis" @@ -28,7 +28,7 @@ itertools = "0.12.0" statrs = "0.16" sp3 = { path = "../sp3", version = "=1.0.8", features = ["serde"] } rinex-qc-traits = { path = "../qc-traits", version = "=0.1.1" } -rinex = { path = "../rinex", version = "=0.16.0", features = ["full"] } +rinex = { path = "../rinex", version = "=0.16.1", features = ["full"] } gnss-rs = { version = "2.1.3", features = ["serde"] } [dev-dependencies] diff --git a/rinex/Cargo.toml b/rinex/Cargo.toml index 7d42c3ef3..22a5326b2 100644 --- a/rinex/Cargo.toml +++ b/rinex/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rinex" -version = "0.16.0" +version = "0.16.1" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "Package to parse and analyze RINEX data" diff --git a/rinex/src/domes.rs b/rinex/src/domes.rs index 36fd8b9d2..73dfc9650 100644 --- a/rinex/src/domes.rs +++ b/rinex/src/domes.rs @@ -4,7 +4,7 @@ use thiserror::Error; use serde::{Deserialize, Serialize}; #[cfg(docrs)] -pub use bibliography::Bibliography; +pub use crate::bibliography::Bibliography; /// DOMES parsing error #[derive(Debug, Error)] diff --git a/rinex/src/lib.rs b/rinex/src/lib.rs index b17963943..4d8aab728 100644 --- a/rinex/src/lib.rs +++ b/rinex/src/lib.rs @@ -2516,7 +2516,6 @@ impl Rinex { */ let t0 = self.first_epoch().unwrap(); // will fail on invalid RINEX let t0 = Epoch::from_utc_days(t0.to_utc_days().round()); - dbg!(t0); Box::new( self.header .ionod_corrections @@ -2645,7 +2644,7 @@ impl Rinex { carrier: Carrier, ) -> Option { // determine nearest in time - let (t_i, (model_sv, model)) = self + let (_, (model_sv, model)) = self .ionod_correction_models() .filter_map(|(t_i, (_, sv_i, msg_i))| { // TODO diff --git a/rnx2crx/Cargo.toml b/rnx2crx/Cargo.toml index d5ed8e8f7..1d446b173 100644 --- a/rnx2crx/Cargo.toml +++ b/rnx2crx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rnx2crx" -version = "1.2.3" +version = "1.2.4" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "RINEX data compressor" @@ -14,4 +14,4 @@ readme = "README.md" [dependencies] thiserror = "1" clap = { version = "4.4.13", features = ["derive", "color"] } -rinex = { path = "../rinex", version = "=0.16.0", features = ["serde"] } +rinex = { path = "../rinex", version = "=0.16.1", features = ["serde"] } diff --git a/tools/ci-ppp.sh b/tools/ci-ppp.sh new file mode 100755 index 000000000..d6eb1160b --- /dev/null +++ b/tools/ci-ppp.sh @@ -0,0 +1,27 @@ +#! /bin/bash +# Small script to test PPP capabilities across toolbox updates + +# make sure we're in the correct setup +cargo build --all-features -r + +LOGS="logs/ci/ppp" +APP="./target/release/rinex-cli -q" + +PPP_CONTEXT="-f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ + -f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \ + -f test_resources/CLK/V3/GRG0MGXFIN_20201770000_01D_30S_CLK.CLK.gz \ + -f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz" + +mkdir -p $LOGS +export RUST_LOG=trace + +# Default PPP | GPS +$APP $PPP_CONTEXT -P GPS -p | tee $LOGS/gps_default.logs +# Default PPP + CGGTTS | GPS +$APP $PPP_CONTEXT -P GPS -p --cggtts | tee $LOGS/gps_default_cggtts.logs +# Default PPP | GAL +$APP $PPP_CONTEXT -P GAL -p | tee $LOGS/galileo_default.logs +# Advanced SPP | GPS +$APP $PPP_CONTEXT -P GPS -p -c rinex-cli/config/rtk/gpst_spp_basic.json | tee $LOGS/gps_spp_advanced.logs +# # Advanced SPP | GAL +$APP $PPP_CONTEXT -P GPS -p -c rinex-cli/config/rtk/gst_spp_basic.json | tee $LOGS/galileo_spp_advanced.logs diff --git a/tools/test-binaries.sh b/tools/test-binaries.sh deleted file mode 100755 index e5e1cd19f..000000000 --- a/tools/test-binaries.sh +++ /dev/null @@ -1,118 +0,0 @@ -#! /bin/sh -set -e -############################################## -# binaries tester: to be used in CI and -# provide at least basic means to test our CLI -############################################## -cargo build --all-features -r - -################# -# CRX2RNX (V1) -################# -./target/release/crx2rnx \ - -f test_resources/CRNX/V1/delf0010.21d - -echo "CRN2RNX (V1) OK" - -################# -# CRX2RNX (V3) -################# -./target/release/crx2rnx \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz - -echo "CRN2RNX (V3) OK" - -################# -# RNX2CRX (V2) -################# -./target/release/rnx2crx \ - -f test_resources/OBS/V2/delf0010.21o - -echo "RNX2CRX (V2) OK" - -################# -# RNX2CRX (V3) -################# -./target/release/rnx2crx \ - -f test_resources/OBS/V3/pdel0010.21o - -echo "RNX2CRX (V3) OK" - -############################# -# 3. OBS RINEX identification -############################# -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -i -a - -############################# -# 4. NAV RINEX identification -############################# -./target/release/rinex-cli \ - -f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \ - -i -a - -#################### -# 5. OBS RINEX merge -#################### -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -m test_resources/CRNX/V3/MOJN00DNK_R_20201770000_01D_30S_MO.crx.gz - -#################### -# 6. OBS RINEX split -#################### -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -s "2020-06-25T10:00:00 UTC" - -########################### -# 7. OBS RINEX time binning -########################### -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - --tbin "4 hour" - -###################### -# 8. GNSS combinations -###################### -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -g --if --nl --wl --mw --mp --dcb --gf - -################# -# 9. OBS RINEX QC -################# -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -Q - -#################################### -# 9. (advanced): state of the art QC -#################################### -./target/release/rinex-cli \ - -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ - -f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \ - -f test_resources/SP3/GRG0MGXFIN_20201760000_01D_15M_ORB.SP3.gz \ - -f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \ - -Q - -# #################### -# # 10. (advanced) SPP -# #################### -# ./target/release/rinex-cli \ -# -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ -# -f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \ -# -f test_resources/SP3/GRG0MGXFIN_20201760000_01D_15M_ORB.SP3.gz \ -# -f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \ -# -p --spp -# -# ############################### -# # 11. (advanced) SPP RNX2CGGTTS -# ############################### -# ./target/release/rinex-cli \ -# -f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \ -# -f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \ -# -f test_resources/SP3/GRG0MGXFIN_20201760000_01D_15M_ORB.SP3.gz \ -# -f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \ -# -p --spp --cggtts diff --git a/tools/testlib.sh b/tools/testlib.sh index 6621bf670..11f30469c 100755 --- a/tools/testlib.sh +++ b/tools/testlib.sh @@ -1,4 +1,5 @@ #! /bin/sh -VERBOSE=$1 -cargo test --features tests -cargo test --all-features +cargo fmt +cargo test -- --nocapture +cargo test --all-features -- --nocapture +./tools/builddoc.sh diff --git a/ublox-rnx/Cargo.toml b/ublox-rnx/Cargo.toml index ca99eafce..bff3abc9f 100644 --- a/ublox-rnx/Cargo.toml +++ b/ublox-rnx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ublox-rnx" -version = "0.1.6" +version = "0.1.7" license = "MIT OR Apache-2.0" authors = ["Guillaume W. Bres "] description = "Efficient RINEX production from a Ublox GNSS receiver" @@ -22,4 +22,4 @@ serialport = "4.2.0" ublox = "0.4.4" clap = { version = "4.4.10", features = ["derive", "color"] } gnss-rs = { version = "2.1.3", features = ["serde"] } -rinex = { path = "../rinex", version = "=0.16.0", features = ["serde", "nav", "obs", "clock"] } +rinex = { path = "../rinex", version = "=0.16.1", features = ["serde", "nav", "obs", "clock"] }