Skip to content

Releases: Stanford-NavLab/gnss_lib_py

v1.0.3

27 Aug 01:03
aed0a74
Compare
Choose a tag to compare

In line with user requests, we are now updating our GNSS library to support Python 3.12! The library is still compatible with Python 3.9, 3.10, and 3.11 across Linux, MacOS, Windows, and Google Colab (Python 3.10). But, if you wish to continue using Python 3.8, we recommend that you stay with v1.0.2.

Version Changelog:

  • Added compatibility for Python 3.12 and removes compatibility for Python 3.8, addressing #164
  • Updated functions in gnss_lib_py to enable Python 3.12 compatibility
  • Expanded tutorials and documentation throughout

I hope you all enjoy the new release!

v1.0.2

14 Feb 03:00
f778d6e
Compare
Choose a tag to compare

Excited for a new release of gnss_lib_py integrating new functionality and patching some user-identified bugs!

Version Changelog:

  • Convert elevation and azimuth to ENU unit vectors
  • Compute DOP for NavDatas with elevation and azimuth data
  • Patched bug where NavData and Visualizations modules were not in ReadTheDocs.
  • Removes NaN rows that georinex outputs when parsing Rinex Nav data files
  • Fixes #155
  • unifies the conftest.py testing file for all modules
  • checks for NaN pseudoranges in EKF
  • adds navdata and visualizations to code coverage
  • adds test for returning NaN values in an int array

v1.0.1

29 Jan 23:04
93492dd
Compare
Choose a tag to compare

Minor bug fix:

  1. Fixes initialization of num_cols when NavData is initialized.

Related updates made to docs and tests

v1.0.0

19 Jan 22:49
ead1f77
Compare
Choose a tag to compare

We are finally releasing version 1.0.0! This release changes file and directory structure to improve the longevity of the codebase and allow for continued expansion of its capabilities.

No significant changes will need to be made in code for users using the import gnss_lib_py as glp convention except for the instances of the concat, sort, loop_time, interpolate, and find_wildcard_indexes functions which used to be class functions of NavData but are now independent functions with the first argument being the navdata object(s) on which to perform the action.

Detailed Changelog

  • breaks navdata into navdata and operations
  • rewrites concat, sort, loop_time, interpolate, find_wildcard_indexes so their independent functions and not class functions
  • adds concat ability to concatenate an arbitrary number of NavData instances rather than just two
  • breaks out components of visualizations into independent files
  • updates ReadMe, etc. with updated directory structure
  • creates uniform tutorial structure with a notebook file at least for each file in gnss_lib_py
  • updates python packages

v0.2.3

11 Jan 05:58
b84728d
Compare
Choose a tag to compare

This release mainly expands robustness of the automatic ephemeris downloader, extends compatibility of the rinex_obs parser to all observation codes, and adds parsers for raw android data.

Ephemeris Downloader

Expands file download options to enable downloads for:

  • rinex_nav: present - Jan 1, 2013
  • sp3 : present - May 24, 2012
  • clk : present - Oct 14, 2012
    Also adds secondary sources for WUM0MGXFIN clk, wum clk, and BRDM00DLR_R rinex nav for outlier days when those files weren't uploaded to CDDIS

Rinex Observation Files

  • allows rinex_obs to load all possible observation codes
  • z-tracking observations may have empty carrier_phase and raw_doppler_hz rows
  • fixes #139

Android Raw Files

  • differentiates the Google Smartphone Decimeter Challenge into google_decimeter.py and GNSSLogger parsers into android.py
  • updates unit_test directories according to the above change
  • adds parsers for data obtained from the GNSSLogger Android app includingRaw, Fix and all sensors
  • adds recommended filters for raw GNSS data from android phones
  • adds new NavData classes for the 2023 version of the Google Smartphone Decimeter Challenge

Miscellaneous

  • updates python package dependencies
  • minor bug fixes
  • minor doc updates

v0.2.2

29 Sep 01:37
c569dbf
Compare
Choose a tag to compare

This release focuses on improvements to visualizations and adding two fault detection and exclusion methods.

Full changelog:

  • changes plot titles to be Y vs. X
  • adds option for averaging multiple y values across x
  • better skyplots across long time horizons where satellites coming in and out of view
  • adds Greedy EDM fault detection and exclusion
  • adds Residual EDM fault detection and exclusion
  • adds fde testing and documentation
  • allows solve_wls() to handle empty measurements being passed in
  • saves navdata CSVs to the same default results directory as visualizations
  • prints requested input path if the file is not found when loading any file for help in debugging
  • updates python package requirements
  • adds open in colab badge

v0.2.1

16 Aug 05:19
c14fdac
Compare
Choose a tag to compare
  • Vectorizes SP3 and CLK parsing for faster SV state computation
  • Fixes bug in tutorials where add_sv_states_rinex was not being called
  • Bug fixes in ephemeris_downloader.py
  • Updates dependencies to latest (as of release)

v0.2.0

05 Aug 23:22
d646aeb
Compare
Choose a tag to compare

Major overhaul of ephemeris capabilities

  • adds ephemeris_downloader.py that can automatically download rinex, sp3, and clk files.
  • adds gnss_models.py
  • adds sv_models.py
  • breaks out clk and sp3 functionality into separate parsers

0.1.13

26 Jul 00:32
3979c39
Compare
Choose a tag to compare
  • Added a parser, tests, documentation, and tutorial for Rinex 3 .o files
  • Resolved an issue in navdata.where in which running where on a single column navdata would return empty, even when the condition was fulfilled by the already existing column
  • small updates to documentation

0.1.12

17 Jul 22:58
a722f70
Compare
Choose a tag to compare
  • Automatic generation links for methods, class definitions, and functions to their GitHub files from the documentation
  • Accounts for rotation of Earth in WLS navigation solutions.
  • Adds tests to check that WLS estimates are closer to Android baselines when the rotation of the Earth has been accounted for.
  • Updates tutorials, docs, and tests to reflect new functionality