Releases: rtklibexplorer/RTKLIB
RTKLIB-EX 2.5.0
What's Changed
Direct commits:
- Change name/version to RTKLIB-EX 2.5.0
- Fix window size bug in RTKPOST SNR options GUI
Pull Requests:
- rtkconv: fix for RINEX versions 3.05+ by @ourairquality in #675
- rtkconv: fix code mask init, for added 6D and 6P by @ourairquality in #676
- rtkconv_qt: add the sort satellites option by @ourairquality in #680
- rtkconv: add sort satellites option by @ourairquality in #681
- rtknavi: avoid oob access by @ourairquality in #683
- rtknavi: fix initialization by @ourairquality in #684
- rtkpost-qt: enable positioning mode single by @ourairquality in #694
- qt app refdlg: relax id and name test, fix dist start index by @ourairquality in #693
- rtknavi_qt: enable and disable the start button by @ourairquality in #697
- rtkplot_qt: multipath, delete [] for new [] by @ourairquality in #701
- gui: update default dates from 2020 to 2025 by @ourairquality in #690
- gui console output cleanup by @ourairquality in #687
- winapp srctblbrowser UpdateCaster: correct parsing by @ourairquality in #686
- winapp ftp opt: avoid null ptr ref on ftp parse by @ourairquality in #682
- rtknavi: guard against a large ellipse radius in the track graph by @ourairquality in #678
- winapp rtknavi: enable solution processing options by @ourairquality in #660
- winapp rtknavi: remove dup label, update tab order by @ourairquality in #654
- Fix convbin only outputting the last SBF observation by @sean10776 in #670
- rtknavi: emit the base reference position in all relative modes by @ourairquality in #668
- qtapp: add excludesatellitevalidate to project files by @ourairquality in #711
- Convert some larger stack allocations to heap allocations by @ourairquality in #659
- Refactor .gitignore: Move directory-specific rules to subfolders by @sean10776 in #665
- Correct default RINEX observation options in convbin help message by @sean10776 in #666
- gmtime_r: use for thread safety by @ourairquality in #674
- rtkpos: only apply glomodear fixhold if modear is fixhold by @ourairquality in #677
- rtkpos: relax test for initial position by @ourairquality in #679
- convrnx sort sats: fix the comparison function by @ourairquality in #685
- emit the BDS AR mode in the solution header process options by @ourairquality in #688
- rinex: correct reading of GLONASS nav by @ourairquality in #692
- getstapos: add sinex suport, and export by @ourairquality in #695
- rnx2rtkp: add rover and base list arguments by @ourairquality in #699
- postpos: align header ref pos by @ourairquality in #700
- udbias_ppp: remove unused pos by @ourairquality in #702
- rtkplot/rtkplot_qt: calculate multipath even if either L1 or L2 is not by @JensReimann in #707
- convrnx: correct calloc() argument order by @ourairquality in #710
- convopt.ui : minimum and maximum values for geocentric coordinates by @harlock974 in #720
- rtkplot: add sky and DOP plots using the solution stat input by @ourairquality in #713
- gitignore: use positive logic by @ourairquality in #714
- ublox rxmsfrbx: catch BDS unsupported CNAV1 and CNAV2 by @ourairquality in #717
- Correct sept and ublox BDS CNAV UTC decoding by @ourairquality in #718
- don't ignore local server host address for tcp server by @stoecker in #721
- convrnx: reinitialize the raw state between passes by @ourairquality in #454
- SNR, P and L std, float storage by @ourairquality in #647
- rtksvr: implement automated antenna selection, pos in static mode by @ourairquality in #667
- rtkconv, rtkpost: keep the start and end time in order by @ourairquality in #691
b34L
What's Changed
Direct commits:
- Updates to support four frequency solutions
- Updates to support u-blox ZED-X20 receiver module
- Better support for Beidou signals
Pull requests:
- rtkplot_qt: recognize more common obs and nav files patterns by @ourairquality in #445
- rtkplot: count all observation frequencies by @ourairquality in #451
- septentrio: move the static data into the raw structure by @ourairquality in #455
- septentrio: pass on the flushobuf return value by @ourairquality in #457
- septentrio sbslongcorrh: correct time decoding by @ourairquality in #458
- septentrio: add case for ID_GEOALM, not yet implemented by @ourairquality in #459
- septentrio: misc fixes by @ourairquality in #460
- unicore: support RCVSTDS option by @ourairquality in #444
- rtknavi_qt: allocate the rtksvr structure off the stack by @ourairquality in #468
- septentrio: implement the rx setup block by @ourairquality in #464
- rtknavi_qt mondlg: expand obs code widths by @ourairquality in #474
- RINEX input_rnxctr: correct the ephemeris set for GAL by @ourairquality in #449
- convrnx: add option to sort observation data by satellite index by @ourairquality in #452
- station info: add marker type, observer and agency by @ourairquality in #456
- eph.fit: improve handling, QZSS by @ourairquality in #461
- binex: correct some error return codes by @ourairquality in #463
- rtkplot_qt: show residuals even when zero by @ourairquality in #479
- Unicore: Fix message length in input_unicore. Fixes #446 by @bemasher in #466
- rtcm3 msm: add signal types R3 R4 R6, L9 by @ourairquality in #478
- Add codes L6D and L6P for BDS B3A, and NavIC L1 by @ourairquality in #481
- rtcm3: added signal mapping extensions from PocketSDR by @ourairquality in #482
- convbin: add GLONASS fcn initialization support by @ourairquality in #485
- convbin: change the default frequencies to all by @ourairquality in #486
- convbin: add unicore support to usage output by @ourairquality in #487
- rtkconv_qt: increase mask length, support new codes by @ourairquality in #483
- convmain: misc cleanup constant use by @ourairquality in #496
- rtkconv_qt: add signals QZSS 1E by @ourairquality in #493
- rtcm3e msgs 1001-1004, 1009-1012: correct max satellites limit by @ourairquality in #489
- unicore: fix observation standard deviation recording by @ourairquality in #490
- add support for obscode debug rnx2rtkp by @charleschouette in #491
- rtcm3: further sync with PocketSDR by @ourairquality in #492
- rtkcmd codepris: add QZSS 1B 1E, BDS 1S 1L 1Z by @ourairquality in #494
- rnx2rtcm: update by @ourairquality in #495
- sbas: fix comment typo by @ourairquality in #497
- rinex: use consistent zero prefixing for times by @ourairquality in #498
- uniqeph: keep Galileo I/NAV and F/NAV separate by @ourairquality in #499
- rtknavi_qt: increase monitor column width for sbas and rtcm by @ourairquality in #505
- rknavi_qt monitor galileo nav: update info on set change by @ourairquality in #507
- Use LLI defines rather than baked in constants by @ourairquality in #504
- novatel, unicore: use time tolerance comparing time diffs to zero by @ourairquality in #501
- rtksvr: correct initialization of nav.n by @ourairquality in #508
- postpos: avoid over allocation in ifile[] by @ourairquality in #512
- rtkpos outsolstat: increase stat output buffer by @ourairquality in #517
- rtkpos: detect code changes per frequency index by @ourairquality in #518
- Spelling by @ourairquality in #527
- ppp_res: the var[] array needs room for all frequencies by @ourairquality in #529
- gis: unused variable by @ourairquality in #530
- win rtknavi: correct SOLOPT by @ourairquality in #531
- win rtknavi: defines over baked in constants by @ourairquality in #532
- rnx2rtkp: initialize tracing by @ourairquality in #536
- rinex clk 3.04: correct the offset to the header sat system by @ourairquality in #537
- postpos inputobs: guard against iobsr being out of range by @ourairquality in #253
- Revert "postpos inputobs: guard against iobsr being out of range" by @rtklibexplorer in #545
- rtkrcv prstatus: fill in the output for 5 to 7 freqs by @ourairquality in #523
- Add Bynav M2 series support to novatel.c by @maurinvidal in #540
- sat2freq GLO: only require the fcn for G1 and G2 by @ourairquality in #541
- rtcm3: add tentative BDS 1S 1L 1Z RTCM3 codes by @ourairquality in #544
- ppp detslp_ll: revert indexing into ssat[].slip[] by @ourairquality in #243
- satno2id: consistent use of output buffer size by @ourairquality in #249
- postpos readpreceph: omit alloc and free of the sbas ephemeris by @ourairquality in #251
- rtkplot_qt: add some finer scaling options by @ourairquality in #551
- qtapp clipPoint: use intermediate int64_t to avoid overflow by @ourairquality in #511
- qtapp codeopt: correct C07/L1S and C08/L1L selection by @ourairquality in #520
- qtapp navi-post-opt: tool tips for 5+ frequencies by @ourairquality in #522
- tide_oload: document some of the parameters by @ourairquality in #561
- spelling by @ourairquality in #564
- rinex: canonicalize to IGS antenna format by @ourairquality in #569
- rtkrcv: add unicore as a format option by @ourairquality in #559
- str2str: messages per output stream by @ourairquality in #558
- unicore: add QZSS L1CB (L1E) and L1S (L1Z) support by @ourairquality in #553
- rtkpos: DGPS mode fixes by @ourairquality in #549
- convrnx: rinex 3.05 and 4 code support by @ourairquality in #546
- seph2clk: correct recursive expansion by @ourairquality in #538
- rtkpos: rework the rolling exclusion of satellites by @ourairquality in #535
- RTKPlot Qt: Improve high-DPI support & fix drag-and-drop bug by @yyszm0 in #576
- qtapps: recognise capital EOF and ERP file extensions by @ourairquality in #580
- spelling by @ourairquality in #586
- str2str readcmd: avoid constant sizes by @ourairquality in #560
- corrected printing out ID of raw ubx message by @peter-kutak in #571
- zeros: fix transposed arguments to calloc by @ourairquality in #577
- readerp: support IGS UT1-TAI offsets by @ourairquality in #578
- rtksvr decodefile: copy nemax and ncmax by @ourairquality in #579
- rtkpos errmsg: increase buffer to 384 by @ourairquality in https://github.com/rtklibexplorer...
RTKLIB: demo5 b34L-pre1
Pre-release for B34L. No known issues, but please provide feedback if you find an problem with this code, particularly if the problem was not present in the B34k code. This will be the B34L release unless any significant issues are found in the next few days.
What's Changed b34L-pre0 to b34L-pre1
- rtkconv_qt code options: fix BDS 6Z by @ourairquality in #655
- rtknavi_qt save nav: write all the utc_gps data by @ourairquality in #658
- convbin rtcm time: use the start or end time if supplied by @ourairquality in #641
- rtcm2: complete observation data decoding by @ourairquality in #642
- rtcm3: fix flushing of observation data by @ourairquality in #643
- rtksvrmark: avoid a recursive lock attempt on saveoutbuf by @ourairquality in #645
- rtkrcv: add a 'mark' command to log a marker by @ourairquality in #646
- Setstr export by @ourairquality in #648
- winapp rtkconv codeopt: update codes by @ourairquality in #656
- support tersus bd2ephemb by @wangtuo0820 in #657
What's Changed b34k to b34L-pre0
- rtkplot_qt: recognize more common obs and nav files patterns by @ourairquality in #445
- rtkplot: count all observation frequencies by @ourairquality in #451
- septentrio: move the static data into the raw structure by @ourairquality in #455
- septentrio: pass on the flushobuf return value by @ourairquality in #457
- septentrio sbslongcorrh: correct time decoding by @ourairquality in #458
- septentrio: add case for ID_GEOALM, not yet implemented by @ourairquality in #459
- septentrio: misc fixes by @ourairquality in #460
- unicore: support RCVSTDS option by @ourairquality in #444
- rtknavi_qt: allocate the rtksvr structure off the stack by @ourairquality in #468
- septentrio: implement the rx setup block by @ourairquality in #464
- rtknavi_qt mondlg: expand obs code widths by @ourairquality in #474
- RINEX input_rnxctr: correct the ephemeris set for GAL by @ourairquality in #449
- convrnx: add option to sort observation data by satellite index by @ourairquality in #452
- station info: add marker type, observer and agency by @ourairquality in #456
- eph.fit: improve handling, QZSS by @ourairquality in #461
- binex: correct some error return codes by @ourairquality in #463
- rtkplot_qt: show residuals even when zero by @ourairquality in #479
- Unicore: Fix message length in input_unicore. Fixes #446 by @bemasher in #466
- rtcm3 msm: add signal types R3 R4 R6, L9 by @ourairquality in #478
- Add codes L6D and L6P for BDS B3A, and NavIC L1 by @ourairquality in #481
- rtcm3: added signal mapping extensions from PocketSDR by @ourairquality in #482
- convbin: add GLONASS fcn initialization support by @ourairquality in #485
- convbin: change the default frequencies to all by @ourairquality in #486
- convbin: add unicore support to usage output by @ourairquality in #487
- rtkconv_qt: increase mask length, support new codes by @ourairquality in #483
- convmain: misc cleanup constant use by @ourairquality in #496
- rtkconv_qt: add signals QZSS 1E by @ourairquality in #493
- rtcm3e msgs 1001-1004, 1009-1012: correct max satellites limit by @ourairquality in #489
- unicore: fix observation standard deviation recording by @ourairquality in #490
- add support for obscode debug rnx2rtkp by @charleschouette in #491
- rtcm3: further sync with PocketSDR by @ourairquality in #492
- rtkcmd codepris: add QZSS 1B 1E, BDS 1S 1L 1Z by @ourairquality in #494
- rnx2rtcm: update by @ourairquality in #495
- sbas: fix comment typo by @ourairquality in #497
- rinex: use consistent zero prefixing for times by @ourairquality in #498
- uniqeph: keep Galileo I/NAV and F/NAV separate by @ourairquality in #499
- rtknavi_qt: increase monitor column width for sbas and rtcm by @ourairquality in #505
- rknavi_qt monitor galileo nav: update info on set change by @ourairquality in #507
- Use LLI defines rather than baked in constants by @ourairquality in #504
- novatel, unicore: use time tolerance comparing time diffs to zero by @ourairquality in #501
- rtksvr: correct initialization of nav.n by @ourairquality in #508
- postpos: avoid over allocation in ifile[] by @ourairquality in #512
- rtkpos outsolstat: increase stat output buffer by @ourairquality in #517
- rtkpos: detect code changes per frequency index by @ourairquality in #518
- Spelling by @ourairquality in #527
- ppp_res: the var[] array needs room for all frequencies by @ourairquality in #529
- gis: unused variable by @ourairquality in #530
- win rtknavi: correct SOLOPT by @ourairquality in #531
- win rtknavi: defines over baked in constants by @ourairquality in #532
- rnx2rtkp: initialize tracing by @ourairquality in #536
- rinex clk 3.04: correct the offset to the header sat system by @ourairquality in #537
- postpos inputobs: guard against iobsr being out of range by @ourairquality in #253
- Revert "postpos inputobs: guard against iobsr being out of range" by @rtklibexplorer in #545
- rtkrcv prstatus: fill in the output for 5 to 7 freqs by @ourairquality in #523
- Add Bynav M2 series support to novatel.c by @maurinvidal in #540
- sat2freq GLO: only require the fcn for G1 and G2 by @ourairquality in #541
- rtcm3: add tentative BDS 1S 1L 1Z RTCM3 codes by @ourairquality in #544
- ppp detslp_ll: revert indexing into ssat[].slip[] by @ourairquality in #243
- satno2id: consistent use of output buffer size by @ourairquality in #249
- postpos readpreceph: omit alloc and free of the sbas ephemeris by @ourairquality in #251
- rtkplot_qt: add some finer scaling options by @ourairquality in #551
- qtapp clipPoint: use intermediate int64_t to avoid overflow by @ourairquality in #511
- qtapp codeopt: correct C07/L1S and C08/L1L selection by @ourairquality in #520
- qtapp navi-post-opt: tool tips for 5+ frequencies by @ourairquality in #522
- tide_oload: document some of the parameters by @ourairquality in #561
- spelling by @ourairquality in #564
- rinex: canonicalize to IGS antenna format by @ourairquality in #569
- rtkrcv: add unicore as a format option by @ourairquality in #559
- str2str: messages per output stream by @ourairquality in #558
- unicore: add QZSS L1CB (L1E) and L1S (L1Z) support by @ourairquality in #553
- rtkpos: DGPS mode fixes by @ourairquality in #549
- convrnx: rinex 3.05 and 4 code support by @ourairquality in https...
RTKLIB: demo5 b34k
Changes since last release:
- Add Unicore binary data parser
- Improve Septentrio binary data parser
- Fix compiler optimizations resulting in greater than 2X speed increase in RTKPOST
- Revert third Beidou freq from B3 to B2a for greater compatibility with existing low-cost L1/L5 receivers
- Fix instantaneous ambiguity resolution
- Numerous Qt GUI improvements
- Updates to documentation, particularly for receiver options and config parameters
- Remove unsupported receiver types and other unused options from GUIs
- Fixes for UDP streams
- Add support to detach CUI apps from the console
- Remove shell command execution to improve security
- Numerous other bug fixes, feature and robustness enhancements
Special thanks to:
- JensReimann for improvements to the Septentrio binary data parser and Qt GUI apps
- Avinabmalla for the new Unicore binary data parser
- OurAirQuality for many improvements to all parts of the code
Note: Initial release on 8/10/24 did not include update to version number, rereleased on 8/13/24 with new version number.
RTKLIB: demo5 b34j
- Major update of QT GUIs (see readme.md file for instructions on building the QT GUIs)
- Extensive repairs for potential out of bound accesses, buffer overflow errors, and general code cleanup
Special thanks to JensReimann and OurAirQuality for the vast majority of these changes.
Rtklib Install with Qt Frontend
Windows installer for rtklib compiled with the Qt frontend.
RTKLIB: demo5 b34i
NOTE 5/29/24: THIS RELEASE HAS A KNOWN ISSUE WITH NTRIP STREAMING. PLEASE USE THE B34H RELEASE FOR ANY NTRIP STREAMING UNTIL THIS IS RESOLVED.
- Updates to obs Beidou codes for RINEX and RTCM
- Fix for parsing new format Septentrio RINEX files
- Fix bug with -ts option in RTKCONV
- Fix bug in handling priorities between multiple obs codes
- Recognize .RNX extensions as valid obs and nav files
- Fix bug in -sys option in RNX2RTKP
- Enable compilation of utilities
- Add UDP server support to STR2STR
- Fix bug in calculating initial average position when SNR obs weighting is enabled
- Fix bug in obs weighting for PPP solutions not using iono-free combinations
- Add support for .BIA and .BSX code bias files
- Fix incorrect index for VALSET u-blox command
- Add Galileo E1/E5 dual freq iono-free combination for PPP solutions
- Fix Qt version compile issues (still not fully functional)
- Updates to user manual
- Decrease obs weighting if half cycle ambiguity flag set
- Add multiple improvements for moving base solutions
RTKLIB: demo5 b34h
Note: Missing files added 8/28/23
Support UTC time base for event logging
Bug fix for PPP backward solutions
Fix bug in post-processing half-cycle corrections
Add support for post-processing half-cycle corrections for u-blox receivers
Fix compile errors for QT apps (still not fully supported)
Fix GLONASS dual-freq ionospheric correction bug
Merge pull requests #120, #121, #137, #138
Improvements for moving base RTK solutions
Add support for new Beidou codes for RTCM3 MSM messages
Change third frequency for Beidou from B2A to B3
Don't discard RTCM3 MSM end-of-epoch flag if message data is invalid but message header is valid
Updates to sample config files
RTKLIB: demo5 b34g
- Add separate pseudorange outlier threshold
- Revert default time tolerance in RTKCONV/CONVBIN to avoid unintended consequeces
- Fix bug in adjustment of MAX_STD_CP between Gen8 aand Gen9 u-blox receivers
- Modify inputobs() to find closest timestamp
- Adjust obs variances by freq for phase obs as well as code obs
- Update defulats for RTKCONV to rinex 3.04 and Galileo enabled
- Clean up indents /tabs to better sync to 2.4.3 code
Google Smartphone Decimeter Challenge 2022 v1.0
Includes all files and executables necessary to generate a solution for the data from Google Decimeter Challenge 2022. This release will generate a score of 1.593/1.743 on the private/public leaderboards if run with a single configuration file, or 1.608/1.715 if run as an ensemble solution with two configuration files. Instructions are in the read.me file.