Commit Graph

44 Commits

Author SHA1 Message Date
Carles Fernandez 018cde8953
Write public interface first, then private members in class definitions 2019-07-01 23:44:42 +02:00
Carles Fernandez e6cfbadbf3 Improve includes with IWYU
Fix for old Boost
2019-03-05 09:55:59 +01:00
Carles Fernandez c82c7225dd Improve includes with the aid of include-what-you-use (IWYU)
See rationale at https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-03-05 08:59:04 +01:00
Carles Fernandez c176e51265
Improve data types for GPS navigation messages 2018-12-14 02:31:01 +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 cc58fbe30f
Improve data types and string comparisons 2018-12-02 14:32:22 +01:00
Carles Fernandez d77448cd76
Improve data types for almanac parameters 2018-11-07 22:25:09 +01:00
Carles Fernandez f18f02622c
Minor changes 2018-08-14 14:07:37 +02:00
Carles Fernandez 200648be50
Add more extensive use of cstdint typenames 2018-08-14 01:13:07 +02:00
Carles Fernandez 6b1611b3a9
Replace unsigned long int by uint64_t and long int by int64_t. Fixes #199 2018-08-10 20:34:03 +02:00
Carles Fernandez 0d60d97c24
Use https instead of http in links when available
Update copyright year in headers
2018-05-13 22:49:11 +02:00
Carles Fernandez 34f24562cf Apply automated code formatting
Documented at .clang-format
See http://clang.llvm.org/docs/ClangFormat.html and http://clang.llvm.org/docs/ClangFormatStyleOptions.html
2018-03-03 02:03:39 +01:00
Carles Fernandez 658e677fc3 Reorder includes: local headers first, then 3rd-party library headers, and finally standard headers 2018-02-26 03:15:53 +01:00
Javier Arribas 5b83d828da Removing duplicated code 2017-03-29 11:49:23 +02:00
Carles Fernandez bc0e4f188b Cleaning includes 2016-01-10 14:30:04 +01:00
Carles Fernandez 972c86c1ea cleaning the use of includes 2016-01-04 18:06:54 +01:00
Carles Fernandez d1a1815083 fixing coverity issues 2015-05-13 16:40:46 +02:00
Carles Fernandez 6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez 14ddc478a0 RINEX printer now takes objects by reference instead of by value. Adding
some const.
2014-09-14 19:08:32 +02:00
Carles Fernandez 05accfb1d7 Tidying up includes: : C library, C++ library, other libraries' .h, project's .h.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@476 64b25241-fba3-4117-9849-534c7e92360d
2014-01-12 20:07:38 +00:00
Javier Arribas 01dd425e58 Mara Branzanti contribution for Google Summer of Code (GSoC 2013)
- Galileo Telemetry page decoder
- Galileo Ephemeris and almanac decoder  (still experimental!)
 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@399 64b25241-fba3-4117-9849-534c7e92360d
2013-07-30 16:40:20 +00:00
Javier Arribas 58b280afb6 Switch to GNU Radio 3.7.x API
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@368 64b25241-fba3-4117-9849-534c7e92360d
2013-07-04 13:47:40 +00:00
Javier Arribas 8b2d21c1c9 Major changes:
- Gps telemetry decoder and PVT now uses independent queues for ephemeris, iono, utc_model and almanac. The old gps_navigation_queue is now deprecated and it is removed from the implementation. This affect almost all the PVT and Rinex printer classes.
- Rinex printer class updated to use the new ephemeris, iono, utc_model objects
Bug fixes and correction:
- The pseudorange generation now is based on the computed TOW for each received symbol. The History_Shift computation become simplier in this way. This modification is also a solution for a bug where the pseudoranges became temporally invalid when the TOW is updated (that happen every 6 secons!) 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@343 64b25241-fba3-4117-9849-534c7e92360d
2013-03-14 12:52:32 +00:00
Javier Arribas 175a143c61 Thowards A-GNSS-SDR: New classes to store GPS SV orbital, clock, and ionosphere parameters. Work in progress...
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@342 64b25241-fba3-4117-9849-534c7e92360d
2013-03-11 18:29:33 +00:00
Carles Fernandez bf4de38e8a Changes the bits_slice structure by a vector of pair<int,int>. The former structure was not accepted by clang. Some code cleaning.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@311 64b25241-fba3-4117-9849-534c7e92360d
2013-01-13 01:24:43 +00:00
Carles Fernandez 5662d021d5 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@278 64b25241-fba3-4117-9849-534c7e92360d
2012-11-01 18:26:58 +00:00
Carles Fernandez 0d8b26de30 Revert changes of bits_slices struct since it was not decoding the navigation message properly
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@205 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 19:53:52 +00:00
Carles Fernandez f6892a8bf3 It seems that definitions such as
const bits_slice INTEGRITY_STATUS_FLAG = {{23,1}};

used in GPS_L1_CA.h are not allowed in the C++11 standard since they do not correspond to any valid constructor. This is accepted by the current version of gcc (probably due to backward compatibility with C and earlier versions of C++), but it *could* not be accepted in future versions. This can be fixed by putting the struct into a std::vector. I don't know if this is the best way but it seems to work well and does not implies major changes in the code.

There is another issue with the Gnss_Synchro class. Since it had a constructor and a destructor, it could not be considered a POD (Plain Old Data) structure and this has some limitations: while gcc and the C99 standard allowed an array's size to be determined at run time, this extension is not permitted in standard C++. This issue has implications when passing Gnss_Synchro through memory between signal processing blocks. In order to fix this, I have removed the Gnss_Synchro.cc implementation and now this is a header-only class where the array size can be determined at compile time


git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@204 64b25241-fba3-4117-9849-534c7e92360d
2012-07-02 12:45:20 +00:00
Javier Arribas 9d34147e0f Major update to improve the GNSS-SDR pseudorange precision and correct some PVT bugs:
- Updated all available trackings to generate the tracking_timestamp_secs taking into account the remainder code phase.
- Updated the telemetry decoder to track the number of symbol shifted from the preamble start symbol (to be used in observables).
- Updated observables to align the reference channel symbol with the corresponding symbols in the other channels and compute pseudorranges using the common transmission time algorithm.
- Updated PVT to independize the display output rate from the RINEX and KML log files. New options available in config file!
- Some minor improvements and code cleaning.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@193 64b25241-fba3-4117-9849-534c7e92360d
2012-04-11 10:43:35 +00:00
Carles Fernandez 80af09f91f Acquisition, Tracking and TelemetryDecoder blocks now use Gnss_Satellite class and have access to know what parameters have to use. Algorithms are not system-related anymore.
Some code cleaning and and enhancements in the output screen messages.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@135 64b25241-fba3-4117-9849-534c7e92360d
2012-01-20 23:28:11 +00:00
Carles Fernandez 60da2f4336 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@128 64b25241-fba3-4117-9849-534c7e92360d
2012-01-16 18:27:31 +00:00
Carles Fernandez 63377a4ece The class gps_navigation_message is now Gps_Navigation_Message, following the coding style.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@122 64b25241-fba3-4117-9849-534c7e92360d
2012-01-12 00:47:32 +00:00
Carles Fernandez bc62d8d5be Some code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@120 64b25241-fba3-4117-9849-534c7e92360d
2012-01-11 09:01:24 +00:00
Carles Fernandez 31faaa7722 Minor documentation fixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@118 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 09:49:09 +00:00
Carles Fernandez ca960b96e9 Now the software recognizes the satellite block to which the SV belongs.
Experimental storage of ephemeris in RINEX NAV file.

Some double variables are now int.

The nav message header and data Rinex printer handles both versions 2.11 and 3.01.

Change of filename: rinex_2_1_printer is now rinex_printer.

Class rinex_printer is now Rinex_Printer.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@117 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 08:43:58 +00:00
Carles Fernandez a555102566 The navigation message class now computes satellite velocity, which can be useful for some synchronization algorithms (e.g. Vector Tracking Loops)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@116 64b25241-fba3-4117-9849-534c7e92360d
2012-01-10 01:34:58 +00:00
Carles Fernandez 8738498691 Added a method in gps_navigation message that computes UTC time.
Experimental creation of RINEX headers.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@112 64b25241-fba3-4117-9849-534c7e92360d
2012-01-07 05:21:11 +00:00
Carles Fernandez 03d6999225 - Removed d_TGD from clock correction computation (bug fix)
- Advances with the RINEX printer

- Standard output is less verbose (partial info stored in log)

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@111 64b25241-fba3-4117-9849-534c7e92360d
2012-01-04 07:52:56 +00:00
Carles Fernandez d61d86900b Added more decodification of the NAV data message
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@110 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 19:35:56 +00:00
Carles Fernandez ce4ddd03e8 Deleting gps_telemetry.cc and gps_telemetry.h. Most of the functions were not used anywhere, the others have been moved to places in which make sense.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@107 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 09:27:24 +00:00
Carles Fernandez 3ceef64d27 Minor documentation fixes, changes of #defines by const
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@106 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 07:31:32 +00:00
Carles Fernandez ca5463e2d8 Improvements in the decodification of NAV message; Some advances in the implementation of a RINEX printer (remains deactivated)
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@105 64b25241-fba3-4117-9849-534c7e92360d
2012-01-03 05:38:45 +00:00
Javier Arribas 1040e6865d Added J.Arribas contributions: PVT with basic least squares and rinex 2.1 output is now enabled, tracking channels now estimate the CN0 and performs a basic carrier lock detector and returns to acquisition if the tracking loss the lock.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@75 64b25241-fba3-4117-9849-534c7e92360d
2011-10-28 15:01:46 +00:00
Carles Fernandez 228fa3b797 moving things to trunk
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@72 64b25241-fba3-4117-9849-534c7e92360d
2011-10-01 18:45:20 +00:00