1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-12-12 11:38:06 +00:00
Commit Graph

42 Commits

Author SHA1 Message Date
pedromiguelcp
629656c9d3 feat: add config parameters for VDLL and VPLL 2025-08-29 17:01:08 +02:00
pedromiguelcp
bf63c3e808 feat: rebasing vector tracking branch with next branch updates 2025-08-29 17:01:08 +02:00
Mathieu Favreau
18006bbbe9 First pass to remove receiver_type 2025-07-23 19:05:11 +00:00
Victor Castillo
03aa5efa3d feat: use sensor measurements to estimate velocity in PVT KF solver 2025-07-09 16:33:54 +02:00
Carles Fernandez
abc07e414b Merging next, solving conflicts (#28)
* Decouple the FPGA DMA signal source from the AD9361 FPGA signal source.

* Add the MAX2771_EVKIT FPGA signal source and the ENABLE_FPGA_MAX2771_EVKIT flag to enable it.

* Adjust cross-compilation flags to properly support FPGA signal sources

* fix signal source names for consistency

* Detect if the spidev driver is installed when the ENABLE_MAX2771 flag is set. Detect if the DMA proxy driver is installed when the ENABLE_DMA_PROXY flag is set. Check if ENABLE_FPGA is set when either ENABLE_MAX2771 or ENABLE_DMA_PROXY is set.

* fix FPGA signal source names for consistency

* Fix FPGA-related CMakefile flags

* make cpplint happy

* make cpplint happy

* make cmakelint happy

* make clang-format happy

* Replaced the AD9361 FPGA signal source with the ADRV9361_Z7035 FPGA and the FMCOMMS5 FPGA signal sources.

* Bump local version of GoogleTest to 1.15.2 and Protocol Buffers to 27.3

* Avoid code duplication in CMake modules

* Update clang-tidy job

* Clang Tidy fixes

* Improve efficiency of Concurrent_Map and Concurrent_Queue classes

* Fix segmentation fault if the SignalSource implementation is not available

* Moved decimation factor count variable to the class

* Avoid possible runtime error when PVT.enable_rx_clock_correction=true

* Fix formatting

* Fix clang-tidy job

* Capitalize FPGA in class implementation names

* Capitalize acronyms in FPGA-related class names

* Instantiate sources only once

* Update changelog

* Bump version of google benchmark to 1.9.0

* Fix CMakeLists header file list in signal source libs

Header file paths were being appended to the source files list.

This is not that important since, in general, you don't need to add the header files to the cmake target.

* Added ION GNSS SDR Metadata Standard signal source

* Only specify outputs for the requested streams

* Fixed block iteration withing a file

The `File` object only holds a shallow reference to its `Lane` (without the list of blocks). So we must retrieve the full reference manually.

* Treat data file paths as relative to the metadata file

The data file paths are actually not native paths but URLs, this covers most cases but not all of them.

* Fixed decoding errors and refactored each class into its own file

* Fixed sample count error & refactored

* Bufferef IO & propagate configuration inside ION source

* Reset sample value before writing new one

Sample values are ORed into the output buffer because they may need a few read/write operations depending on alignment.
So, if we don't set the value to 0 before doing this, all samples quickly become 0xFF after a few cycles of the output buffer.

* Simpler handling of simpler bit formats

If a sample is the same size as a word, it is much easier to read.

* Less callback shenanigans

* Fix wrong buffer size

* Fixed conditional compilation issues

And added a comment

* Linting fixes

* Fixed arithmetic operations on pointers

* Fix formatting

* Use lock_guard instead of unique_lock

* Create a CMake target for the ION dependency for consistency

* Improve formatting, add missing include

* Fixes for C++ standards older than 20. Avoid C++20-specific lambda templates

* Update changelog

* Add Victor to the list of authors

* Fix CMake error

* Fix building error

* Fix building

* Add -DENABLE_ION=ON to CI jobs

* Fix CMake lists

* Catch all exceptions

* Fix building for -DENABLE_PLUTOSDR=ON

* Removed unused member fields and function parameters

* Use std::ifstream instead of FILE for reading sample data

* Fixed includes and code style

* Simplified disconnect() function

We can disconnect the sources directly instead of disconnecting each of their outputs.

* Implemented range check in `IONGSMSSignalSource::get_right_block(int)`

* Moved ION GSMS file source to `gnuradio_blocks/` directory

Also fixed some header guards.

* Fixed ION GNSS Metadata Standard dependency version

* Simplified by removing a very shallow class

`ion_gnss_metadata_handler` was only reading the metadata file, which can easily be done in `ion_gsms_signal_source`.

* Added valves to properly handle end of samples

* Cleaner exit if the data file is not found

* Fix uninitialized warning

* Remove unused configuration parameter. Uniformize guard names

* Fix for CMake < 3.14

* fix configuration options for the FPGA-based AD9361-based boards

* Put the global function into an anonymous namespace

Use emplace_back instead of push_back

* Make private member metadata_ a std::shared_pointer

* Simplify code

* Remove ION source from CI

* Apply clang-tidy fixes

* Initialize the receiver local oscillator frequency to GPS_L5_FREQ_HZ by default in the ADRV9361Z7035 FPGA signal source and remove unnecessary include files.

* Sort out building flags and improve their reporting

* Allow building Ad936x_Custom_Signal_Source when gnuradio-iio is not available

* Bump local version of Protocol Buffers to v28.0

* Update AArch64 features to Linux 6.10.6

* Update AArch64 features to Linux 6.10.6

* Fix: Windows does not define __ARM_NEON

* Improve detection of the dma_proxy module and the spidev driver

* Add missing include (fixes building with modern GCC)

* Adapted udp_port to multiple ports

* Fixed typo

* Fixed clang format

* Update changelog

* Add Xavier Guerrero to the authors list

* Update changelog

* Bump local version of Protocol Buffers to 28.1

* Add install and uninstall targets to nav_msg_listener

* Add Cesare to the authors list

* Add OSNMA to changelog

* Leave OSNMA files in the same folder for consistency

* Fix conflict

---------

Co-authored-by: Marc Majoral <majoralmarc@gmail.com>
Co-authored-by: cesaaargm <cesare.martinez@proton.me>
Co-authored-by: Xavier Guerrero-Pau <xguerrero@cttc.es>
Co-authored-by: Victor Castillo <victorcastilloaguero@gmail.com>
2024-09-21 11:40:17 +02:00
Carles Fernandez
3cc12e9b66 Add basic infrastructure for the GNSS-SDR.osnma_mode=strict mode 2024-07-25 21:40:43 +02:00
Carles Fernandez
1685c896ea Fix annotation rate for KML, GPX, GeoJSON, and NMEA 2023-12-01 13:35:31 +01:00
Carles Fernandez
fcfc851aa5 Write HAS data file at PVT.output_path 2023-11-09 08:53:29 +01:00
Carles Fernandez
db5d218f06 pvt_conf.h: initialize all variables 2023-11-04 15:41:21 +01:00
Javier Arribas
4c448251fa Code cleaning 2023-07-04 17:19:17 +02:00
Javier Arribas
36e709dda6 Adding a simple PVT Holonomic Kalman filter for position and velocity 2023-07-04 13:09:45 +02:00
Carles Fernandez
0a11f1470a Process and apply Galileo HAS corrections to the PVT solution
Add getters to Galileo_HAS_data class, improve implementation of existing ones
Process reception of HAS messages and inject corrections to RTKLIB
Apply HAS corrections to PVT computation within RTKLIB
Add configuration parameter PVT.use_has_corrections=true/false, true by default, to deactivate application of corrections but still retrieve HAS messages
Add configuration parameter PVT.use_unhealthy_sats=true/false, false by default, to use observables from satellites flagged as unhealthy
Use an unordered_map for signals and frequencies
2023-02-28 13:08:53 +01:00
Carles Fernandez
4fa793b3cd Add PVT.use_e6_for_pvt parameter, by default to true. If set to false, E6 observables are not injected in the PVT engine 2022-09-13 17:19:52 +02:00
Javier Arribas
c9d6688f1b Merge with next 2021-10-20 09:47:33 +02:00
Carles Fernandez
2ccac04003 Add Advanced Navigation Protocol printer 2021-09-30 10:24:56 +02:00
Jim Melton
60b39bad81 make Pvt_Conf a class again 2021-09-27 17:16:22 -06:00
Jim Melton
11f53a3fcb document PVT params; enable RTKLIB trace level to be set 2021-09-22 18:12:30 -06:00
Javier Arribas
514bb331ce Merging next branch 2021-06-21 17:00:27 +02:00
Carles Fernandez
0b5920338f Parameterize the observables processing rate with the global configuration parameter GNSS-SDR.observable_interval_ms, set to 20 by default 2021-06-12 11:01:18 +02:00
Javier Arribas
1e9315900c Adding PVT timetag log recording option 2021-04-29 16:14:35 +02:00
Javier Arribas
1721431010 Adding GPS and Galileo protobuf serdes 2021-02-15 10:56:30 +01:00
Carles Fernandez
7308745f05 Apply more concise file header format
Re-license CMake scripts with BSD-3-Clause
2020-12-30 13:35:06 +01:00
Carles Fernandez
287284261c Make use of Doxygen grouping feature
Improve Modules page in generated HTML documentation
2020-11-01 13:37:19 +01:00
Carles Fernandez
499de7a9f1 Update file headers 2020-07-28 16:57:15 +02:00
Carles Fernandez
037a1fcb5f Improve headers, large data members first. Improve nav message interfaces 2020-06-23 09:47:58 +02:00
Carles Fernandez
86a1dc5ca3 Add new conf parameter PVT.rinex_name to specify a custom name for generated RINEX files.
A command-line flag --RINEX_name, which overrides the configuration if defined, is also available
2020-02-25 14:43:15 +01:00
Carles Fernandez
955348b080 Remove trailing underscore in header guards 2020-02-08 10:10:46 +01:00
Carles Fernandez
4d0d263280 Make the software package compliant with the REUSE Specification v3.0 (see https://reuse.software/spec/)
Update license headers to SPDX format (see https://spdx.org/)
Add license to all files
Add CI job in GitHub Actions to ensure compliance
2020-02-08 01:20:02 +01:00
Carles Fernandez
0c2efce10a Replace custom_year parameter name and type by bool pre_2009_file to process files dated from 1999 to 2009 2019-09-18 18:25:07 +02:00
Javier
ad51654fbf Adding global configuration option to specify a custom year in order to postprocess old GNSS captures and avoid wrong week rollover 2019-09-13 16:36:41 +02:00
Javier Arribas
889e7b9695 Adding configuration option to disable PVT observables clock correction 2019-09-06 18:02:40 +02:00
Javier Arribas
f2becaa7b9 Final bug fix for the observables clock correction jumps 2019-08-01 18:11:36 +02:00
Carles Fernandez
a4d6800e22 Update copyright year
Applied on files changed since last release
clang-format applied
2019-07-26 12:38:20 +02:00
Carles Fernandez
ee9e7493ae Add annotation rate parameter for KML, GPX, GeoJSON and NMEA outputs (default: 1s) 2019-06-16 20:27:00 +02:00
Carles Fernandez
950b4b607a Do not repeat annotations in RINEX navigation files 2019-05-07 16:39:06 +02:00
Carles Fernandez
6c9154aede Expose usage of Protocol Buffers to the configuration 2019-04-21 13:30:59 +02:00
Carles Fernandez
b6141fb3b2 Add show_local_time_zone parameter for PVT
PVT.show_local_time_zone=true shows local time in terminal
2019-03-15 13:31:18 +01:00
Carles Fernandez
6ba77c5f28 Sort includes: include what you use 2019-03-04 08:12:50 +01:00
Álvaro Cebrián Juan
f635580e31 Add PVT Monitor 2019-02-04 23:03:10 +01:00
Carles Fernandez
5f79053d65 Sort includes automatically with clang-format
Order:
1.- Main header
2.- Local headers
3.- Third-party library headers
4.- System headers

each category sorted lexicographically
2018-12-09 22:00:09 +01:00
Carles Fernandez
39a062ca00 Save PVT dump also in .mat. New parameter dump_mat can disable this feature 2018-10-31 14:56:59 +01:00
Carles Fernandez
b183fe63ba Improve PVT block configuration. Allow to store data products in different folders 2018-10-28 00:42:28 +02:00