1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-08-29 17:07:58 +00:00
Commit Graph

9959 Commits

Author SHA1 Message Date
Victor Castillo
27465f6a70 Fix formatting 2024-08-18 01:24:25 +02:00
Victor Castillo
a99ceafe85 Fixed arithmetic operations on pointers 2024-08-17 23:09:30 +02:00
Victor Castillo
61a9e179b0 Linting fixes 2024-08-17 23:05:38 +02:00
Victor Castillo
cf01a2d37a Fixed conditional compilation issues
And added a comment
2024-08-17 20:40:13 +02:00
Victor Castillo
b368942463 Fix wrong buffer size 2024-08-17 20:22:39 +02:00
Victor Castillo
33067d631d Less callback shenanigans 2024-08-17 20:20:27 +02:00
Victor Castillo
01bbc39fa6 Simpler handling of simpler bit formats
If a sample is the same size as a word, it is much easier to read.
2024-08-17 20:14:31 +02:00
Victor Castillo
b60be6e56a Merge branch 'vtl' into ft/extra-data 2024-08-16 15:54:04 +02:00
Victor Castillo
38a24f5250 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.
2024-08-16 15:51:24 +02:00
Victor Castillo
cd2614a4dc Bufferef IO & propagate configuration inside ION source 2024-08-16 13:56:10 +02:00
Victor Castillo
00fd1821b1 Fixed sample count error & refactored 2024-08-16 13:56:10 +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
598fa283b8 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.
2024-08-16 13:55:47 +02:00
Victor Castillo
5c442c8aae 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.
2024-08-16 13:55:47 +02:00
Victor Castillo
38d548ba50 Only specify outputs for the requested streams 2024-08-16 13:55:47 +02:00
Victor Castillo
1f3047c67a Added ION GNSS SDR Metadata Standard signal source 2024-08-16 13:55:47 +02:00
Victor Castillo
dbd94e005d 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.
2024-08-16 13:55:09 +02:00
Carles Fernandez
9b393098a6 Bump version of google benchmark to 1.9.0 2024-08-16 13:27:36 +02:00
Carles Fernandez
b9e017e189 Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-16 09:49:15 +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
Carles Fernandez
6267172ab6 Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-15 14:41:21 +02:00
cesaaargm
092a78f580 [TAS-145][Feat][PVT] Implement PVT logic for osnma data
* Created a map with PRN-> set<IOD_nav>
* osnma transmits every 30 s the list of authenticated PRNs along with the IOD authenticated
* PVT takes this into account to consider the observable valid (only strict mode)
* ""successfully"" tested. Osnma first tag authenticated: 1:36, TTFAF 2:06
=> most of the time the PVT has authenticated solution, except two 30s gaps in which there is no PVT computed. (3-4' firs gap and second from 13:30-14:06)
* TODOs: find out reason and improve size management of the maps.
2024-08-15 13:10:04 +02:00
Carles Fernandez
e7f5f6de7e Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-14 17:12:53 +02:00
kalmancito
b4aae410fa Merge branch 'next' into vtl 2024-08-14 15:59:28 +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
Carles Fernandez
ff2a9aacf0 Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-14 08:29:39 +02:00
Victor Castillo
f13c2df19b Fixed any_cast error 2024-08-14 03:19:36 +02:00
Victor Castillo
82c0426189 Reset tags for each epoch in observables
PVT receives just one epoch's worth of extra_data tags
2024-08-14 02:34:34 +02:00
Victor Castillo
197f67a737 Propagate tags in sample counter 2024-08-14 01:17:03 +02:00
Victor Castillo
40070d225f Do not propagate tags in TelemetryDecoder 2024-08-14 01:17:03 +02:00
Victor Castillo
936162db4e Propagate extra_data tags in Observables 2024-08-14 01:17:03 +02:00
Victor Castillo
96483a2037 Propagate extra data tags in Tracking and Telemetry Decoder 2024-08-14 01:17:03 +02:00
Victor Castillo
c3bdc6a03b Fixed extra data source 2024-08-14 01:17:03 +02:00
Victor Castillo
3387be636b Observables propagate extra data tags from the reference channel only 2024-08-14 01:17:02 +02:00
Victor Castillo
b11838a5ec Minor fixes
- std::ifstream::read() is the one we want to use, not std::ifstream::get()
- `override` keyword does not go in the implementation
- `get_right_block()` needs to return `extra_data_source_` in some cases
2024-08-14 01:17:02 +02:00
Victor Castillo
4875725e29 Removing a TODO
Answer:
No, the default constructor for `shared_ptr<T>` does not instantiate the contained type, it starts with a nullptr. This is the reason for `std::make_shared<T>()`.
You can also use the constructor if you want to manage an already existing pointer by passing it as an argument (ie: `std::shared_ptr<T>{new T{}}`).
2024-08-14 01:17:02 +02:00
Victor Castillo
4d4558b054 Add relevant log for ExtraDataSource creation 2024-08-14 01:17:02 +02:00
Victor Castillo
d9f7a1f96e Composed ExtraDataSource into FileSourceBase 2024-08-14 01:17:02 +02:00
Victor Castillo
42c2e3c2de Added extra data source
which can be connected after a Signal Source in order to attach extra data (such as IMU measurements) to the sample stream.
2024-08-14 01:17:02 +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
f69bb2185a Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-11 13:10:35 +02:00
Carles Fernandez
e9025246e4 Merge branch 'mmajoral-fpga_signal_sources' into next 2024-08-11 13:02:03 +02:00
Carles Fernandez
f370e33c26 Update changelog 2024-08-11 13:00:06 +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
275e5a3e44 Merge branch 'osnma-cesare' of https://github.com/cesaaargm/osnma into osnma-cesare 2024-08-10 11:46:26 +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