From fee5d2792c78ad7b85dda38b80466298f7fd96b6 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 21 Apr 2019 15:01:17 +0200 Subject: [PATCH 1/2] Add comments to .proto files --- docs/protobuf/gnss_synchro.proto | 52 ++++++++++++++-------------- docs/protobuf/monitor_pvt.proto | 58 +++++++++++++++++--------------- 2 files changed, 57 insertions(+), 53 deletions(-) diff --git a/docs/protobuf/gnss_synchro.proto b/docs/protobuf/gnss_synchro.proto index 8ec0d51b3..b51ac1a8f 100644 --- a/docs/protobuf/gnss_synchro.proto +++ b/docs/protobuf/gnss_synchro.proto @@ -2,39 +2,41 @@ syntax = "proto3"; package gnss_sdr; +/* GnssSynchro represents the processing measurements at a given time taken by a given processing channel */ message GnssSynchro { - string system = 1; - string signal = 2; + string system = 1; // GNSS constellation: "G" for GPS, "R" for Glonass, "S" for SBAS, "E" for Galileo and "C" for Beidou. + string signal = 2; // GNSS signal: "1C" for GPS L1 C/A, "1B" for Galileo E1b/c, "1G" for Glonass L1 C/A, "2S" for GPS L2 L2C(M), "2G" for Glonass L2 C/A, "L5" for GPS L5 and "5X" for Galileo E5a - uint32 prn = 3; - int32 channel_id = 4; + uint32 prn = 3; // PRN number + int32 channel_id = 4; // Channel number - double acq_delay_samples = 5; - double acq_doppler_hz = 6; - uint64 acq_samplestamp_samples = 7; - uint32 acq_doppler_step = 8; - bool flag_valid_acquisition = 9; + double acq_delay_samples = 5; // Coarse code delay estimation, in samples + double acq_doppler_hz = 6; // Coarse Doppler estimation in each channel, in Hz + uint64 acq_samplestamp_samples = 7; // Number of samples at signal SampleStamp + uint32 acq_doppler_step = 8; // Step of the frequency bin in the search grid, in Hz + bool flag_valid_acquisition = 9; // Acquisition status - int64 fs = 10; - double prompt_i = 11; - double prompt_q = 12; - double cn0_db_hz = 13; - double carrier_doppler_hz = 14; - double carrier_phase_rads = 15; - double code_phase_samples = 16; - uint64 tracking_sample_counter = 17; - bool flag_valid_symbol_output = 18; - int32 correlation_length_ms = 19; + int64 fs = 10; // Sampling frequency, in samples per second + double prompt_i = 11; // In-phase (real) component of the prompt correlator output + double prompt_q = 12; // Quadrature (imaginary) component of the prompt correlator output + double cn0_db_hz = 13; // Carrier-to-Noise density ratio, in dB-Hz + double carrier_doppler_hz = 14; // Doppler estimation, in [Hz]. + double carrier_phase_rads = 15; // Carrier phase estimation, in rad + double code_phase_samples = 16; // Code phase in samples + uint64 tracking_sample_counter = 17; // Sample counter indicating the number of processed samples + bool flag_valid_symbol_output = 18; // Indicates the validity of signal tracking + int32 correlation_length_ms = 19; // Time duration of coherent correlation integration, in ms - bool flag_valid_word = 20; - uint32 tow_at_current_symbol_ms = 21; + bool flag_valid_word = 20; // Indicates the validity of the decoded navigation message word + uint32 tow_at_current_symbol_ms = 21; // Time of week of the current symbol, in ms - double pseudorange_m = 22; - double rx_time = 23; - bool flag_valid_pseudorange = 24; - double interp_tow_ms = 25; + double pseudorange_m = 22; // Pseudorange computation, in m + double rx_time = 23; // Receiving time after the start of the week, in s + bool flag_valid_pseudorange = 24; // Pseudorange computation status + double interp_tow_ms = 25; // Interpolated time of week, in ms } +/* Observables represents a collection of GnssSynchro annotations */ message Observables { repeated GnssSynchro observable = 1; } diff --git a/docs/protobuf/monitor_pvt.proto b/docs/protobuf/monitor_pvt.proto index abbd9c5ff..636d715cd 100644 --- a/docs/protobuf/monitor_pvt.proto +++ b/docs/protobuf/monitor_pvt.proto @@ -2,39 +2,41 @@ syntax = "proto3"; package gnss_sdr; +/* MonitorPvt represents a search query, with pagination options to + * indicate which results to include in the response. */ message MonitorPvt { -uint32 tow_at_current_symbol_ms = 1; -uint32 week = 2; -double rx_time = 3; -double user_clk_offset = 4; +uint32 tow_at_current_symbol_ms = 1; // Time of week of the current symbol, in ms +uint32 week = 2; // PVT GPS week +double rx_time = 3; // PVT GPS time +double user_clk_offset = 4; // User clock offset, in s -double pos_x = 5; -double pos_y = 6; -double pos_z = 7; -double vel_x = 8; -double vel_y = 9; -double vel_z = 10; +double pos_x = 5; // Position X component in ECEF, expressed in m +double pos_y = 6; // Position Y component in ECEF, expressed in m +double pos_z = 7; // Position Z component in ECEF, expressed in m +double vel_x = 8; // Velocity X component in ECEF, in m/s +double vel_y = 9; // Velocity Y component in ECEF, in m/s +double vel_z = 10; // Velocity Z component in ECEF, in m/s -double cov_xx = 11; -double cov_yy = 12; -double cov_zz = 13; -double cov_xy = 14; -double cov_yz = 15; -double cov_zx = 16; +double cov_xx = 11; // Position variance in the Y component, in m2 +double cov_yy = 12; // Position variance in the Y component, in m2 +double cov_zz = 13; // Position variance in the Z component, in m2 +double cov_xy = 14; // Position XY covariance, in m2 +double cov_yz = 15; // Position YZ covariance, in m2 +double cov_zx = 16; // Position ZX covariance, in m2 -double latitude = 17; -double longitude = 18; -double height = 19; +double latitude = 17; // Latitude, in deg. Positive: North +double longitude = 18; // Longitude, in deg. Positive: East +double height = 19; // Height, in m -uint32 valid_sats = 20; -uint32 solution_status = 21; -uint32 solution_type = 22; -float ar_ratio_factor = 23; -float ar_ratio_threshold = 24; +uint32 valid_sats = 20; // Number of valid satellites +uint32 solution_status = 21; // RTKLIB solution status +uint32 solution_type = 22; // RTKLIB solution type (0: xyz-ecef, 1: enu-baseline) +float ar_ratio_factor = 23; // Ambiguity resolution ratio factor for validation +float ar_ratio_threshold = 24; // Ambiguity resolution ratio threshold for validation -double gdop = 25; -double pdop = 26; -double hdop = 27; -double vdop = 28; +double gdop = 25; // Geometric Dilution of Precision +double pdop = 26; // Position (3D) Dilution of Precision +double hdop = 27; // Horizontal Dilution of Precision +double vdop = 28; // Vertical Dilution of Precision } From 7c581253b689dca668291d679a59d2d9a725d67e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 21 Apr 2019 15:44:33 +0200 Subject: [PATCH 2/2] Improve Protocol Buffers info --- CMakeLists.txt | 1 - README.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c152cf1a6..196ff303f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1911,7 +1911,6 @@ endif() - ################################################################################ # Doxygen - http://www.doxygen.nl (OPTIONAL, used if found) ################################################################################ diff --git a/README.md b/README.md index e9aa3b7c2..fe1501404 100644 --- a/README.md +++ b/README.md @@ -286,7 +286,7 @@ In case the GnuTLS library with openssl extensions package is not available in y #### Install [Protocol Buffers](https://developers.google.com/protocol-buffers/ "Protocol Buffers' Homepage"), a portable mechanism for serialization of structured data: -GNSS-SDR requires Protocol Buffers v3.0.0 or later. If the packages that come with your distribution are older, you will need to install it manually. First, install the dependencies: +GNSS-SDR requires Protocol Buffers v3.0.0 or later. If the packages that come with your distribution are older than that (_e.g._, Ubuntu 16.04 Xenial and Debian 8 Jessie came with older versions), then you will need to install it manually. First, install the dependencies: ~~~~~~ $ sudo apt-get install autoconf automake libtool curl make g++ unzip