* 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>
* 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.
* 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.
* 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.
* 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.
[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.
* 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>
* 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>
* Clang Tidy fixes
* Fix reading of .crt files with GnuTLS
* Hide d_crypto pointer from public API
* Read public key type also from .pem files
---------
Co-authored-by: cesaaargm <cesare.martinez@proton.me>
* Clang Tidy fixes
* Get time zone offset in a more standard way
Account for leap seconds
Use GNSS-SDR.osnma_mode=strict to check for local time
* Fix for C++20
* Initialize tm in a more portable way
* Remove unnecessary data members in osnma_msg_receiver
---------
Co-authored-by: cesaaargm <cesare.martinez@proton.me>
* Report GMP version if found
* Bump local version of GoogleTest to 1.15.2 and Protocol Buffers to 27.3
* Avoid code duplication in CMake modules
* Update CMake modules
* Update clang-tidy job
if d_flag_debug=false, now system clock is used to for the receiver synchronisation. It uses the UTC time and the GST epoch start time (adjusted for local time zone difference) to create a local estimation of GST, then compares with GST_SIS (coming from NavData Words 5 and 6)