1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2026-04-14 10:51:26 +00:00
Commit Graph

1889 Commits

Author SHA1 Message Date
Carles Fernandez
700d4403d5 Transition to clang-format 19 2024-12-26 11:18:41 +01:00
Carles Fernandez
c93f07176a Fix building in some environments
Boost::interprocess seems to need linking against librt.so in some systems
2024-12-22 00:21:11 +01:00
Carles Fernandez
cfb56d35d6 Replace the System V queues by boost::interprocess 2024-12-21 13:20:00 +01:00
Carles Fernandez
9158447892 Fix linking against Boost 1.87
CI: add boost in homebrew dependencies
2024-12-20 22:09:52 +01:00
Carles Fernandez
0db72cad96 Fix warning raised by GCC 14 (-Wfree-nonheap-object) 2024-11-29 13:04:26 +01:00
Carles Fernandez
7cd99e4b2b Print IODref in clock correction HAS message 2024-11-07 13:02:00 +01:00
Carles Fernandez
4c07b71c37 Storage-class specifier should be at the beginning of the declaration 2024-10-07 17:40:16 +02:00
Carles Fernandez
98ee81f3ac Add Cshort_To_Gr_Complex Data Type Adapter implementation 2024-09-30 15:34:50 +02:00
Carles Fernandez
d74bceee6e Make clang-tidy job happy 2024-09-25 21:17:45 +02:00
Carles Fernandez
f91f37261d Fix merging conflict 2024-09-25 20:49:44 +02:00
Carles Fernandez
12a095920f Fix merge conflict 2024-09-25 20:34:26 +02:00
Carles Fernandez
98705b3ff7 Merge branch 'next' of github.com:carlesfernandez/gnss-sdr into ism 2024-09-25 20:12:45 +02:00
Carles Fernandez
d0a6264754 Make clang-tidy CI job happy 2024-09-25 20:08:02 +02:00
Carles Fernandez
311b0ea6f2 Improve ISM handling and add PRN applicability check 2024-09-21 13:12:48 +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
bc800dea28 Improve CRC computation of ISM 2024-09-21 10:22:32 +02:00
Carles Fernandez
e23d171b22 Fix formatting 2024-09-21 08:42:59 +02:00
Carles Fernandez
f6f58fd45e Log ISM data 2024-09-21 07:39:24 +02:00
Carles Fernandez
de6f991811 Improve CRC computation of ISM 2024-09-20 18:54:18 +02:00
Carles Fernandez
db78d104bf Merge branch 'ism' of github.com:carlesfernandez/gnss-sdr into ism 2024-09-20 17:06:22 +02:00
Carles Fernandez
660770f9fb Merge branch 'next' of github.com:carlesfernandez/gnss-sdr into ism 2024-09-20 17:05:03 +02:00
Carles Fernandez
583ae6df0d Fix CRC computation in ISM 2024-09-20 14:50:31 +02:00
Xavier Guerrero-Pau
c9277539ff Fixed clang format 2024-09-09 16:44:37 +02:00
Xavier Guerrero-Pau
fdc4e4078e Fixed typo 2024-09-09 16:44:37 +02:00
Xavier Guerrero-Pau
94ab8a7006 Adapted udp_port to multiple ports 2024-09-09 16:44:37 +02:00
Carles Fernandez
3ec25f2347 Merge from upstream next (#27)
* 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 merging

---------

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-08-31 10:07:44 +02:00
Carles Fernandez
557a7f7265 Add work on ISM 2024-08-28 11:13:54 +02:00
Carles Fernandez
310685cd20 Allow building Ad936x_Custom_Signal_Source when gnuradio-iio is not available 2024-08-28 11:09:56 +02:00
Victor Castillo
27465f6a70 Fix formatting 2024-08-18 01:24:25 +02:00
Victor Castillo
cf01a2d37a Fixed conditional compilation issues
And added a comment
2024-08-17 20:40:13 +02:00
Victor Castillo
469eaf76e5 Fixed decoding errors and refactored each class into its own file 2024-08-16 13:56:10 +02:00
Victor Castillo
1f3047c67a Added ION GNSS SDR Metadata Standard signal source 2024-08-16 13:55:47 +02:00
Carles Fernandez
94d7635612 Small fixes (#26)
* 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

* Fix building in some environments and fix CI jobs

* Fix clang-tidy complain

---------

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>
2024-08-16 09:40:45 +02:00
cesaaargm
ea0684d640 [TAS-240][FEAT] Implement TESLA Chain Renewal and Revocation II
* revocation sucessfully tested.
* Diagram of step 1 is wrong in that KROOT with CID=0 also received after entering step 1.
* Duration of CREV=2.75h
* All tags verified succesffully.
2024-08-15 21:48:29 +02:00
cesaaargm
2e867f2dac [TAS-240][FEAT] Implement TESLA Chain Renewal and Revocation I
* Implemented a new chain renewal mechanism for OSNMA data structure updates and key management.
* Added related flags and data fields.
* tested successfully with test vectors.
2024-08-14 13:14:23 +02:00
cesaaargm
e4f4c335bc [TAS-257][TEST] add osnma benchmarking
* Introduced new benchmarks to assess the performance of various OSNMA related functions, such as public key verification.
* Mostly recycled code from testing codebase.
* TODO: methods are private, could not find a MACRO like FRIEND_TEST to allow for it. Result of this, only one benchmark test is active.
2024-08-12 12:50:17 +02:00
cesaaargm
794bd61419 [TAS-249][Bug][Tag] new NavDataManager causes less tags to be verified
[TAS-234][Feature] Dummy tags verification

* Fixed the navData retrieval which caused many tags to be skipped
* Dummy tags verification added.
* Replaced direct field access with getters/setters for OSNMA navigation data.
2024-08-11 16:41:54 +02:00
Carles Fernandez
5a634f7332 More fixes (#25)
* Clang Tidy fixes

* Fix some potential defects and be more consistent in class name. Improve const correctness

* Fix formatting

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-11 12:44:18 +02:00
Marc Majoral
0242f86088 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga_signal_sources 2024-08-10 15:29:40 +02:00
Carles Fernandez
79da7787ff Move files (#24)
* 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

* Move receiver-related classes to src/core/libs

* Uniformize cmake module names

* Fix formatting

* Make clang-tidy happy

* Fix crypto benchmarks

* Fixes for old systems

* Instantiate sources only once

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
Co-authored-by: Xavier Guerrero-Pau <xguerrero@cttc.es>
2024-08-10 11:31:15 +02:00
Carles Fernandez
7ce4f62344 Instantiate sources only once 2024-08-10 07:37:46 +02:00
Marc Majoral
d0caa64c5f Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fpga_signal_sources 2024-08-09 15:47:02 +02:00
Marc Majoral
9b9f0fc438 Capitalize acronyms in FPGA-related class names 2024-08-09 15:17:19 +02:00
Marc Majoral
1502808f58 Capitalize FPGA in class implementation names 2024-08-08 22:30:45 +02:00
Carles Fernandez
621ee34048 Fix clang-tidy job 2024-08-08 17:53:59 +02:00
Xavier Guerrero-Pau
c8c46bc3c5 Moved decimation factor count variable to the class 2024-08-08 12:03:46 +02:00
Carles Fernandez
9ffb7e2dc8 Merge branch 'better-concurrency' into next 2024-08-08 10:39:18 +02:00
Carles Fernandez
7ff1d9006e Fix segmentation fault if the SignalSource implementation is not available 2024-08-08 10:38:52 +02:00
Carles Fernandez
98f1cdfb6b More minor fixes (#23)
* Clang Tidy fixes

* Fix defects detected by Coverity Scan

* Fix for OpenSSL 1.0

---------

Co-authored-by: cesaaargm <cesare.martinez@proton.me>
2024-08-08 09:33:48 +02:00
Carles Fernandez
158b7caeb4 Improve efficiency of Concurrent_Map and Concurrent_Queue classes 2024-08-07 09:34:09 +02:00