1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-06-29 00:13:14 +00:00
Commit Graph

190 Commits

Author SHA1 Message Date
Antonio Ramos
320b4e2d7b Migrate channel_fsm pointer to std::shared_ptr 2018-01-08 12:03:32 +01:00
Antonio Ramos
74a1f76282 Avoid multithreading collision 2018-01-08 10:57:01 +01:00
Antonio Ramos
cfc0a4a498 Clean flowgraph 2018-01-05 12:25:33 +01:00
Antonio Ramos
3a37345d4c Minor changes 2018-01-04 12:33:13 +01:00
Antonio Ramos
bbf8587970 Clean code 2018-01-04 12:16:12 +01:00
Antonio Ramos
540221e227 New Channel FSM 2018-01-04 10:51:47 +01:00
Antonio Ramos
6dd3abfdea debug2 2018-01-03 15:47:16 +01:00
Antonio Ramos
3ddea680ad debug1 2018-01-03 12:48:04 +01:00
Antonio Ramos
47c752c141 More debug lines 2018-01-03 12:44:58 +01:00
Antonio Ramos
3eafe2047a Fix deadlock flowgraph 2018-01-02 16:56:18 +01:00
Antonio Ramos
2d8141d9b5 Migrate msg_queue boost smart pointers to gr sptr 2017-12-21 15:47:26 +01:00
Antonio Ramos
8bb0c880c0 Minor changes in DLOG lines 2017-12-21 12:12:56 +01:00
Antonio Ramos
cef7ae5f7b Add LOG lines in channel_fsm 2017-12-20 15:02:57 +01:00
Carles Fernandez
3f557eeb41 Warn the user about the change in parameter name 2017-09-03 23:56:41 +02:00
Carles Fernandez
122ec19626 Make use of the inline keyword where appropriate 2017-08-21 11:45:12 +02:00
Carles Fernandez
eecfd10875 Replace C-style casts by C++ casts 2017-08-19 20:05:52 +02:00
Carles Fernandez
07113fd89d Use the override special identifier when overriding a virtual function 2017-08-16 00:58:10 +02:00
Carles Fernandez
85cc7802be Fix const correctness when catching exceptions
See https://stackoverflow.com/questions/7581654/about-catching-exception-good-practices
Unneeded includes unistd.h removed
Close dump files in destructor
2017-08-14 13:59:00 +02:00
Carles Fernandez
9bfef0e05a Fix CMake scripts to use Ninja https://ninja-build.org/
cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -GNinja .. && ninja
2017-06-21 08:54:47 +02:00
mmajoral
28058000de set up the receiver to work with the FPGA 2017-05-05 17:08:49 +02:00
Carles Fernandez
5a73b4e047 Improve package reproducibility
Packages using CMake often use file(GLOB ...) to retrieve a list of
source files. As this is based on readdir(), the resulting file list
is unsorted. A common use case is to pass this list directly to
add_executable or add_library. But as the order is unpredictable, the
binaries are not reproducible (because the order in which the objects
are linked will vary).

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824263
2016-05-23 19:51:59 +02:00
Luis Esteve
7403fec396 Eliminate redundancy in doppler_max initialization
Eliminate the initialization of Acquisition variable "doppler_max" in
Channel (acq_->set_doppler_max(doppler_max);) because this
initialization is done now in Acquisition adpaters
2016-05-06 19:30:36 +02:00
Luis Esteve
3b2678daf3 Improve docummentation 2016-05-06 10:41:29 +02:00
Carles Fernandez
831cc75153 Remove tabs from the source code 2016-05-02 23:46:30 +02:00
Carles Fernandez
fbfc4a28ba Improve memory management
The blocks are now always managed by smart pointers instead of raw pointers
2016-05-02 17:26:32 +02:00
Carles Fernandez
59e2e61cae Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next 2016-04-26 18:54:32 +02:00
Carles Fernandez
59b6bf18c5 code cleaning 2016-04-25 20:34:27 +02:00
Javier Arribas
0a5573f666 several receiver configuration mechanism simplifications and several bug fixes. Work in progress 2016-04-21 18:54:08 +02:00
Javier Arribas
853e314bf0 Split the message collector block in a separated object inside channel 2016-04-18 14:17:09 +02:00
Javier Arribas
0f80ce0159 Channel internal message queue is replaced by the asynchronous GNURadio
message system. Removing the deprecated channel internal queue and its
references. Some tests that are using the old channel queue are disabled
in this version
2016-04-15 16:33:41 +02:00
Javier Arribas
b2034896e1 Merge branch next_gps_20ms_corr with next. Removing obsolete code and code cleaning 2016-03-30 15:03:25 +02:00
Javier Arribas
500dc59516 Release candidate of the GPS L1 C/A telemetry decoder supporting variable tracking correlation length 2016-03-22 18:07:12 +01:00
Carles Fernandez
754e4436ee Revert "Experimental extended correlation for GPS L1 CA C_Aid tracking"
This reverts commit d664dc63b3.
2016-03-15 10:01:08 +01:00
Carles Fernandez
1e9a9d1a55 reverting wrong commit 2016-03-09 15:56:07 +01:00
Javier Arribas
d664dc63b3 Experimental extended correlation for GPS L1 CA C_Aid tracking 2016-03-08 18:30:56 +01:00
Carles Fernandez
5abc7b8b6a Include cleaning 2016-01-05 15:35:33 +01:00
Carles Fernandez
c5407a5106 Improved handling of threads
Some threads were not terminating properly, triggering a failure of
control_thread_test in some configurations.
2015-12-30 14:43:32 +01:00
Carles Fernandez
fb45d31eed Merge branch 'next' of git+ssh://github.com/gnss-sdr/gnss-sdr into next
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2015-05-22 18:30:21 +02:00
Carles Fernandez
dcd59ed9bd Generic name for channel finite state machine, since it applies to all signals and not only to GPS L1 C/A 2015-05-21 11:29:56 +02:00
Carles Fernandez
70c97178fa taking GNSS_Synchro as reference and not by value 2015-05-15 18:19:10 +02:00
Carles Fernandez
72ced4ac23 adding header 2015-05-14 21:25:32 +02:00
Carles Fernandez
79192a0bbd fixing coverity issues 2015-05-13 23:50:21 +02:00
Carles Fernandez
c99924fe5a Change of member name to avoid get_signal().get_signal() 2015-05-10 21:37:54 +02:00
Carles Fernandez
8d60aeab3d Working in the new configuration system 2015-05-08 13:11:41 +02:00
Carles Fernandez
6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Carles Fernandez
9b95919ddb Improving thread management 2014-12-21 22:46:57 +01:00
Javier Arribas
cefd2de5af Merge remote-tracking branch 'origin/next' into gps_galileo_hybrid 2014-07-20 16:53:52 +02:00
Carles Fernandez
8531a758ea Includes header files at add_libraries(...), which makes IDEs such as
Xcode to display them
2014-06-28 03:55:57 +02:00
Javier Arribas
b0d33328d5 Simultaneous multi-GNSS system acquisition, tracking and telemetry
decoding: Changes in the flowgraph and in the configuration files to mix
channels from different GNSS systems in the same receiver. Hybrid
observables and PVT under construction.

The changes in the configuration file parameter names are NOT backward
compatible. The receiver can still work as usual in single GNSS system
mode but some modification on configuration files are required. Use the
example provided of Hybrid configuration file.
2014-06-10 18:58:17 +02:00
Carles Fernandez
4e714bf033 changing some raw pointers by smart pointers in the core receiver.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@502 64b25241-fba3-4117-9849-534c7e92360d
2014-04-03 21:59:14 +00:00
Carles Fernandez
39f8754217 Cleaning the terminal output and dumping most of the information in the log file. Better use of the glog library, logging can be seen also in Release, in real time by doing './gnss-sdr --logtostderr=1'. Update to latest version of Armadillo.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@486 64b25241-fba3-4117-9849-534c7e92360d
2014-03-16 19:58:29 +00: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
Carles Fernandez
7fac9f9507 Fix dependency name for multithreaded built
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@466 64b25241-fba3-4117-9849-534c7e92360d
2013-12-20 00:31:09 +00:00
Carles Fernandez
71fcd899a4 Change in cmake scripts that allows 'make' to spawn the provided amount of threads when armadillo, gflags or glog are downloaded and built 'on-the-fly'. Ideally each thread is executed on its own core/CPU, so a multi-core/CPU environment is used to its fullest. This fix allows compilation with e.g. 'make -j4"
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@465 64b25241-fba3-4117-9849-534c7e92360d
2013-12-20 00:11:14 +00:00
Carles Fernandez
004495507d Fixing detection of GNU Radio when installed in non-usual locations (e.g. /home/user/target). Now the user can tell cmake where GNU Radio is by 'cmake ../ -DGNURADIO_INSTALL_PREFIX=/home/user/target'
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@462 64b25241-fba3-4117-9849-534c7e92360d
2013-12-14 10:23:33 +00:00
Javier Arribas
74817d6d07 · Non-optimised multi-dwell acquisition with fine doppler estimation is now enabled in the block factory (It is used by the front-end calibration utility). It can be instantiated from the configuration file.
· Bug fixed in the configuration parser that prevented the use of non-integer thresholds
· Provisional patch added to disable the PVT output if the height is above 50 km (due to a random bug that appears with some satellite configurations..)




git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@407 64b25241-fba3-4117-9849-534c7e92360d
2013-08-20 18:05:26 +00:00
Luis Esteve
8b10549fee Patch submitted by Marc Molina: Improving PCPS Acquisition with some VOLK instructions. Enabling the secondary spreading code in Galileo acquisition. Adding Signal Generator to GNSS-SDR.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@397 64b25241-fba3-4117-9849-534c7e92360d
2013-07-23 18:03:07 +00:00
Carles Fernandez
10318d6b7d Patch submitted by Daniel Fehr: Enabling EGNOS tracking and minor bugfixes
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@392 64b25241-fba3-4117-9849-534c7e92360d
2013-07-20 07:58:59 +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
Luis Esteve
09c6ac095a Adapting the configuration files: gnss-sdr.conf and gnss-sdr_gn3s_realtime.conf to the new features of the receiver (now, the calculation of acquisition threshold is made from the probability of false alarm).
Fixed a little bug in channel.cc

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@363 64b25241-fba3-4117-9849-534c7e92360d
2013-06-09 09:11:36 +00:00
Luis Esteve
e6dfa1971d Simplifying the configuration file:
- Some channel and acquisition properties are now common for all channels
- You can choose between channel-specific properties or properties common to all
- Updating config file with the new options 

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@360 64b25241-fba3-4117-9849-534c7e92360d
2013-05-26 23:59:04 +00:00
Luis Esteve
b9ac964654 FEATURE FE02: Adding the function that calculates the threshold from false alarm probability.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@357 64b25241-fba3-4117-9849-534c7e92360d
2013-05-16 16:25:51 +00:00
Javier Arribas
12003ffa94 GNSS-SDR now uses CMAKE as the only build system. Goodbye BJAM!
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@347 64b25241-fba3-4117-9849-534c7e92360d
2013-03-15 18:03:01 +00:00
Carles Fernandez
bd84ebd1c4 improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@339 64b25241-fba3-4117-9849-534c7e92360d
2013-02-04 00:16:22 +00:00
Carles Fernandez
c6e974ab21 Starting CMake support. In the root directory of gnss-sdr, type:
$ mkdir build && cd build && cmake ../ && make && make install

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@290 64b25241-fba3-4117-9849-534c7e92360d
2012-12-24 02:33:50 +00:00
Carles Fernandez
818d9e14b5 Start migration to GNU Radio 3.7 new C++ API. This commit replaces some components of gnuradio-core by the new components gr-blocks, gr-fft and gr-filter.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@282 64b25241-fba3-4117-9849-534c7e92360d
2012-11-25 11:15:11 +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
25a30e3851 Code cleaning
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@267 64b25241-fba3-4117-9849-534c7e92360d
2012-10-28 13:20:55 +00:00
Luis Esteve
c9a06f702a Major update:
1) Galileo E1 Acquisition adapter block added (Gnuradio block modification to use the same block with the 2 systems with 2 adapters)
2) Tests and signal samples for Galileo E1 Acquisition signal block
3) Library for Galileo E1 signal processing
4) Galileo_E1.h with constant variables for this system

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@209 64b25241-fba3-4117-9849-534c7e92360d
2012-07-12 21:17:37 +00:00
Javier Arribas
1c0fed749d Removed some debug messages from release compilation to debug compilation (Using DLOG() instead of LOG_AT_LEVEL() ) to speed up a bit the release execution.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@194 64b25241-fba3-4117-9849-534c7e92360d
2012-04-11 18:44:56 +00:00
Luis Esteve
c428fe21c5 Changes in flowgraph and channel_fsm. Now the number of channels in acquisition mode can be controlled from the config file.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@179 64b25241-fba3-4117-9849-534c7e92360d
2012-03-02 17:17:51 +00:00
Luis Esteve
ac8f9e01e6 Bug fixed in function Channel::disconnect.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@163 64b25241-fba3-4117-9849-534c7e92360d
2012-02-17 14:28:32 +00:00
Carles Fernandez
c186828669 Code cleaning and documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@151 64b25241-fba3-4117-9849-534c7e92360d
2012-01-31 00:03:08 +00:00
Luis Esteve
cdccdac4c6 Bug fixed in channel.cc
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@149 64b25241-fba3-4117-9849-534c7e92360d
2012-01-30 14:13:34 +00:00
Javier Arribas
dd01b83bc3 GNSS SDR now uses the unified Gnss_Synchro class to exchange signal synchronization data between Acquisition, Tracking and Telemetry decoder blocks.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@147 64b25241-fba3-4117-9849-534c7e92360d
2012-01-27 18:01:17 +00:00
Luis Esteve
ec57e48f4e Major changes in flowgraph, configuration file and channel. Added gnss_signal class.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@146 64b25241-fba3-4117-9849-534c7e92360d
2012-01-27 11:58:55 +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
305d9f14c1 Class Gnss_Satellite extended to tracking
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@133 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 19:30:05 +00:00
Carles Fernandez
c03042059c Extending the Gnss_Satellite class to the acquisition interfaces
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@131 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 17:42:33 +00:00
Carles Fernandez
d9aff36247 Introducing Gnss_Satellite into the receiver
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@130 64b25241-fba3-4117-9849-534c7e92360d
2012-01-19 07:35:49 +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
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
2ce62706af Adding documentation and improving code formatting.
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@103 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 21:36:45 +00:00
Carles Fernandez
48719c3075 Improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@102 64b25241-fba3-4117-9849-534c7e92360d
2011-12-28 03:05:37 +00:00
Javier Arribas
8fd6b662b7 Added GNURadio 3.4.2 and Ubuntu 11.10 compatibility. Environment variable GNURADIO_330_ROOT is now generic GNURADIO_ROOT
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@85 64b25241-fba3-4117-9849-534c7e92360d
2011-12-14 16:50:36 +00:00
Javier Arribas
69b8ac00dc - Major changes:
- The executable file and the default configuration file is now changed from "./install/mercurio" and "./conf/mercurio.conf" to "./install/gnss-sdr" and "./conf/gnss-sdr.conf", respectively.
        - Configuration file structure changed to define in a single entry the internal sampling frequency (after the signal conditioner). NOTICE that this change affects the all the adapters (acquisition, tracking, telemetry_decoder, observables, and PVT). All the adapters are now modified to work with this feature.
        - Moved several in-line GPS L1 CA parameters (a.k.a magic numbers..) to ./src/core/system_parameters/GPS_L1_CA.h definition file.
        - Tracking blocks now uses DOUBLE values in their outputs.
        - Observables and PVT now are separated. PVT and their associated libraries are moved to ./src/algorithms/PVT
        - Temporarily disabled the RINEX output (I am working on that!)
        - GNSS-SDR screen output now gives extended debug information of the receiver status and events. In the future, this output will be redirected to a log file.

- Bug fixes:
        - FILE_SIGNAL_SOURCE now works correctly when the user configures GNSS-SDR to process the entire file.
        - GPS_L1_CA_DLL_PLL now computes correctly the PRN start values.
        - GPS_L1_CA_DLL_FLL_PLL now computes correctly the PRN start values.
        - Several modifications in GPS_L1_CA_Telemetry_Decoder, GPS_L1_CA_Observables, and GPS_L1_CA_PVT modules to fix the GPS position computation.

- New features
        - Tracking blocks perform a signal integrity check against NaN outliers before the correlation process.
        - Tracking and PVT binary dump options are now documented and we provide MATLAB libraries and sample files to read it. Available in ./utils/matlab" and "./utils/matlab/libs"
        - Observables output rate can be configured. This option enables the GPS L1 CA PVT computation at a maximum rate of 1ms.
        - GPS_L1_CA_PVT now can perform a moving average Latitude, Longitude, and Altitude output for each of the Observables output. It is configurable using the configuration file.
        - Added Google Earth compatible Keyhole Markup Language (KML) output writer class (./src/algorithms/PVT/libs/kml_printer.h and ./src/algorithms/PVT/libs/kml_printer.cc ). You can see the receiver position directly using Google Earth.
        - We provide a master configuration file which includes an in-line documentation with all the new (and old) options. It can be found in ./conf/master.conf

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@84 64b25241-fba3-4117-9849-534c7e92360d
2011-12-07 17:59:34 +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