mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-01-15 11:45:47 +00:00
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into next
This commit is contained in:
commit
e6863b371d
@ -3,7 +3,8 @@
|
||||
### Improvements in Maintainability:
|
||||
|
||||
- New CMake option ENABLE_ARMA_NO_DEBUG defines the macro ARMA_NO_DEBUG, which disables all run-time checks, such as bounds checking, in the Armadillo library. This will result in faster code. This option is disabled by default during development, but automatically set to ON if the option ENABLE_PACKAGING is set to ON.
|
||||
- Apply more clang-tidy checks related to readability: readability-avoid-const-params-in-decls, readability-isolate-declaration, readability-redundant-control-flow, readability-uppercase-literal-suffix.
|
||||
- Apply more clang-tidy checks related to readability: readability-avoid-const-params-in-decls, readability-isolate-declaration, readability-redundant-control-flow, readability-uppercase-literal-suffix. Fixed raised warnings.
|
||||
- Fixed cpplint.py build/include_what_you_use, whitespace/tab, whitespace/blank_line errors.
|
||||
- Add more check options to .clang-tidy file.
|
||||
|
||||
|
||||
@ -15,8 +16,14 @@
|
||||
### Improvements in Reliability:
|
||||
|
||||
- Decoding of navigation messages no longer rely on implementation defined behavior for shifting left a signed integer.
|
||||
- Removed usage of functions with insecure API (e.g., strcpy)
|
||||
- Added clang-tidy checks clang-analyzer-security.*
|
||||
- Removed usage of functions with insecure API (e.g., strcpy).
|
||||
- Added clang-tidy checks clang-analyzer-security.*, clang-analyzer-optin.portability.UnixAPI clang-tidy checks. Fixed raised warnings.
|
||||
|
||||
|
||||
### Improvements in Usability:
|
||||
|
||||
- Improved DLL-PLL binary dump MATLAB/Octave plot script. Old versions removed.
|
||||
- Simplified RTKLIB error log.
|
||||
|
||||
|
||||
|
||||
|
@ -1940,10 +1940,10 @@ int rtklib_pvt_gs::work(int noutput_items, gr_vector_const_void_star& input_item
|
||||
}
|
||||
}
|
||||
// debug code
|
||||
// else
|
||||
// {
|
||||
// DLOG(INFO) << "Internal PVT solver error";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// DLOG(INFO) << "Internal PVT solver error";
|
||||
// }
|
||||
|
||||
// compute on the fly PVT solution
|
||||
if (flag_compute_pvt_output == true)
|
||||
|
@ -39,7 +39,6 @@
|
||||
#include <exception> // for exception
|
||||
#include <iostream> // for cout, cerr
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <sys/stat.h> // for S_IXUSR | S_IRWXG | S_IRWXO
|
||||
#include <sys/types.h> // for mode_t
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
#include <fstream> // for ofstream
|
||||
#include <memory> // for shared_ptr
|
||||
|
||||
#include <string>
|
||||
|
||||
class Rtklib_Solver;
|
||||
|
||||
|
@ -35,6 +35,9 @@
|
||||
#include "monitor_pvt.h"
|
||||
#include "serdes_monitor_pvt.h"
|
||||
#include <boost/asio.hpp>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#if BOOST_GREATER_1_65
|
||||
using b_io_context = boost::asio::io_context;
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <iostream> // for cout, cerr
|
||||
#include <termios.h>
|
||||
#include <utility>
|
||||
|
||||
#if HAS_STD_FILESYSTEM
|
||||
#include <system_error>
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <fstream> // for std::ofstream
|
||||
#include <map> // for std::map
|
||||
#include <memory> // std::shared_ptr
|
||||
#include <string>
|
||||
|
||||
class Galileo_Ephemeris;
|
||||
class Glonass_Gnav_Ephemeris;
|
||||
|
@ -926,7 +926,7 @@ bool Rtklib_Solver::get_PVT(const std::map<int, Gnss_Synchro> &gnss_observables_
|
||||
if (result == 0)
|
||||
{
|
||||
LOG(INFO) << "RTKLIB rtkpos error: " << rtk_.errbuf;
|
||||
rtk_.neb = 0; //clear error buffer to avoid repeating the error message
|
||||
rtk_.neb = 0; // clear error buffer to avoid repeating the error message
|
||||
this->set_time_offset_s(0.0); // reset rx time estimation
|
||||
this->set_num_valid_observations(0);
|
||||
}
|
||||
|
@ -35,6 +35,8 @@
|
||||
#include "monitor_pvt.h"
|
||||
#include "monitor_pvt.pb.h" // file created by Protocol Buffers at compile time
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
/*!
|
||||
* \brief This class implements serialization and deserialization of
|
||||
|
@ -62,6 +62,7 @@
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <utility>
|
||||
|
||||
|
||||
pcps_opencl_acquisition_cc_sptr pcps_make_opencl_acquisition_cc(
|
||||
|
@ -61,6 +61,7 @@
|
||||
#include "opencl/cl.hpp"
|
||||
#include <cstdint>
|
||||
#include <fstream>
|
||||
#include <memory> // for weak_ptr
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -60,6 +60,7 @@
|
||||
#include <cassert>
|
||||
#include <fstream>
|
||||
#include <functional>
|
||||
#include <memory> // for weak_ptr
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
@ -57,6 +57,7 @@
|
||||
#include <gnuradio/fft/fft.h>
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <fstream>
|
||||
#include <memory> // for weak_ptr
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "interleaved_byte_to_complex_byte.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <algorithm> // for max
|
||||
|
||||
|
||||
interleaved_byte_to_complex_byte_sptr make_interleaved_byte_to_complex_byte()
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "interleaved_byte_to_complex_short.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <algorithm> // for max
|
||||
|
||||
|
||||
interleaved_byte_to_complex_short_sptr make_interleaved_byte_to_complex_short()
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "interleaved_short_to_complex_short.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <algorithm> // for max
|
||||
|
||||
|
||||
interleaved_short_to_complex_short_sptr make_interleaved_short_to_complex_short()
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include "notch_lite_cc.h"
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <glog/logging.h>
|
||||
#include <cmath>
|
||||
#include <algorithm> // for max
|
||||
|
||||
|
||||
NotchFilterLite::NotchFilterLite(ConfigurationInterface* configuration, const std::string& role,
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <boost/math/distributions/chi_squared.hpp>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <volk/volk.h>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
pulse_blanking_cc_sptr make_pulse_blanking_cc(float pfa, int32_t length_,
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "gnss_signal_processing.h"
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "gnss_signal_processing.h"
|
||||
#include <gnuradio/gr_complex.h>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
|
||||
|
||||
void galileo_e5_a_code_gen_complex_primary(gsl::span<std::complex<float>> _dest, int32_t _prn, const std::array<char, 3>& _Signal)
|
||||
|
@ -516,18 +516,18 @@ void cart2utm(const arma::vec &r_eb_e, int zone, arma::vec &r_enu)
|
||||
// Erster Band, Springer Verlag
|
||||
//
|
||||
// Explanation of variables used:
|
||||
// f flattening of ellipsoid
|
||||
// a semi major axis in m
|
||||
// m0 1 - scale at central meridian; for UTM 0.0004
|
||||
// Q_n normalized meridian quadrant
|
||||
// E0 Easting of central meridian
|
||||
// L0 Longitude of central meridian
|
||||
// bg constants for ellipsoidal geogr. to spherical geogr.
|
||||
// gb constants for spherical geogr. to ellipsoidal geogr.
|
||||
// gtu constants for ellipsoidal N, E to spherical N, E
|
||||
// utg constants for spherical N, E to ellipoidal N, E
|
||||
// tolutm tolerance for utm, 1.2E-10*meridian quadrant
|
||||
// tolgeo tolerance for geographical, 0.00040 second of arc
|
||||
// r flattening of ellipsoid
|
||||
// a semi major axis in m
|
||||
// m0 1 - scale at central meridian; for UTM 0.0004
|
||||
// Q_n normalized meridian quadrant
|
||||
// E0 Easting of central meridian
|
||||
// L0 Longitude of central meridian
|
||||
// bg constants for ellipsoidal geogr. to spherical geogr.
|
||||
// gb constants for spherical geogr. to ellipsoidal geogr.
|
||||
// gtu constants for ellipsoidal N, E to spherical N, E
|
||||
// utg constants for spherical N, E to ellipoidal N, E
|
||||
// tolutm tolerance for utm, 1.2E-10*meridian quadrant
|
||||
// tolgeo tolerance for geographical, 0.00040 second of arc
|
||||
//
|
||||
// B, L refer to latitude and longitude. Southern latitude is negative
|
||||
// International ellipsoid of 1924, valid for ED50
|
||||
|
@ -68,7 +68,6 @@ extern "C"
|
||||
{
|
||||
clFFT_Forward = -1,
|
||||
clFFT_Inverse = 1
|
||||
|
||||
} clFFT_Direction;
|
||||
|
||||
// XForm dimension
|
||||
@ -77,7 +76,6 @@ extern "C"
|
||||
clFFT_1D = 0,
|
||||
clFFT_2D = 1,
|
||||
clFFT_3D = 3
|
||||
|
||||
} clFFT_Dimension;
|
||||
|
||||
// XForm Data type
|
||||
|
@ -112,38 +112,38 @@ static string baseKernels = string(
|
||||
"\n"
|
||||
"#define fftKernel8(a,dir) \\\n"
|
||||
"{ \\\n"
|
||||
" const float2 w1 = (float2)(0x1.6a09e6p-1f, dir*0x1.6a09e6p-1f); \\\n"
|
||||
" const float2 w3 = (float2)(-0x1.6a09e6p-1f, dir*0x1.6a09e6p-1f); \\\n"
|
||||
" float2 c; \\\n"
|
||||
" fftKernel2S((a)[0], (a)[4], dir); \\\n"
|
||||
" fftKernel2S((a)[1], (a)[5], dir); \\\n"
|
||||
" fftKernel2S((a)[2], (a)[6], dir); \\\n"
|
||||
" fftKernel2S((a)[3], (a)[7], dir); \\\n"
|
||||
" (a)[5] = complexMul(w1, (a)[5]); \\\n"
|
||||
" (a)[6] = (float2)(dir)*(conjTransp((a)[6])); \\\n"
|
||||
" (a)[7] = complexMul(w3, (a)[7]); \\\n"
|
||||
" fftKernel2S((a)[0], (a)[2], dir); \\\n"
|
||||
" fftKernel2S((a)[1], (a)[3], dir); \\\n"
|
||||
" fftKernel2S((a)[4], (a)[6], dir); \\\n"
|
||||
" fftKernel2S((a)[5], (a)[7], dir); \\\n"
|
||||
" (a)[3] = (float2)(dir)*(conjTransp((a)[3])); \\\n"
|
||||
" (a)[7] = (float2)(dir)*(conjTransp((a)[7])); \\\n"
|
||||
" fftKernel2S((a)[0], (a)[1], dir); \\\n"
|
||||
" fftKernel2S((a)[2], (a)[3], dir); \\\n"
|
||||
" fftKernel2S((a)[4], (a)[5], dir); \\\n"
|
||||
" fftKernel2S((a)[6], (a)[7], dir); \\\n"
|
||||
" bitreverse8((a)); \\\n"
|
||||
" const float2 w1 = (float2)(0x1.6a09e6p-1f, dir*0x1.6a09e6p-1f); \\\n"
|
||||
" const float2 w3 = (float2)(-0x1.6a09e6p-1f, dir*0x1.6a09e6p-1f); \\\n"
|
||||
" float2 c; \\\n"
|
||||
" fftKernel2S((a)[0], (a)[4], dir); \\\n"
|
||||
" fftKernel2S((a)[1], (a)[5], dir); \\\n"
|
||||
" fftKernel2S((a)[2], (a)[6], dir); \\\n"
|
||||
" fftKernel2S((a)[3], (a)[7], dir); \\\n"
|
||||
" (a)[5] = complexMul(w1, (a)[5]); \\\n"
|
||||
" (a)[6] = (float2)(dir)*(conjTransp((a)[6])); \\\n"
|
||||
" (a)[7] = complexMul(w3, (a)[7]); \\\n"
|
||||
" fftKernel2S((a)[0], (a)[2], dir); \\\n"
|
||||
" fftKernel2S((a)[1], (a)[3], dir); \\\n"
|
||||
" fftKernel2S((a)[4], (a)[6], dir); \\\n"
|
||||
" fftKernel2S((a)[5], (a)[7], dir); \\\n"
|
||||
" (a)[3] = (float2)(dir)*(conjTransp((a)[3])); \\\n"
|
||||
" (a)[7] = (float2)(dir)*(conjTransp((a)[7])); \\\n"
|
||||
" fftKernel2S((a)[0], (a)[1], dir); \\\n"
|
||||
" fftKernel2S((a)[2], (a)[3], dir); \\\n"
|
||||
" fftKernel2S((a)[4], (a)[5], dir); \\\n"
|
||||
" fftKernel2S((a)[6], (a)[7], dir); \\\n"
|
||||
" bitreverse8((a)); \\\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"#define bitreverse4x4(a) \\\n"
|
||||
"{ \\\n"
|
||||
" float2 c; \\\n"
|
||||
" c = (a)[1]; (a)[1] = (a)[4]; (a)[4] = c; \\\n"
|
||||
" c = (a)[2]; (a)[2] = (a)[8]; (a)[8] = c; \\\n"
|
||||
" c = (a)[3]; (a)[3] = (a)[12]; (a)[12] = c; \\\n"
|
||||
" c = (a)[6]; (a)[6] = (a)[9]; (a)[9] = c; \\\n"
|
||||
" c = (a)[7]; (a)[7] = (a)[13]; (a)[13] = c; \\\n"
|
||||
" c = (a)[11]; (a)[11] = (a)[14]; (a)[14] = c; \\\n"
|
||||
" float2 c; \\\n"
|
||||
" c = (a)[1]; (a)[1] = (a)[4]; (a)[4] = c; \\\n"
|
||||
" c = (a)[2]; (a)[2] = (a)[8]; (a)[8] = c; \\\n"
|
||||
" c = (a)[3]; (a)[3] = (a)[12]; (a)[12] = c; \\\n"
|
||||
" c = (a)[6]; (a)[6] = (a)[9]; (a)[9] = c; \\\n"
|
||||
" c = (a)[7]; (a)[7] = (a)[13]; (a)[13] = c; \\\n"
|
||||
" c = (a)[11]; (a)[11] = (a)[14]; (a)[14] = c; \\\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"#define fftKernel16(a,dir) \\\n"
|
||||
@ -227,21 +227,21 @@ static string twistKernelInterleaved = string(
|
||||
" float2 a, w; \\\n"
|
||||
" float ang; \\\n"
|
||||
" unsigned int j; \\\n"
|
||||
" unsigned int i = get_global_id(0); \\\n"
|
||||
" unsigned int startIndex = i; \\\n"
|
||||
" \\\n"
|
||||
" if(i < numCols) \\\n"
|
||||
" { \\\n"
|
||||
" for(j = 0; j < numRowsToProcess; j++) \\\n"
|
||||
" { \\\n"
|
||||
" a = in[startIndex]; \\\n"
|
||||
" ang = 2.0f * M_PI * dir * i * (startRow + j) / N; \\\n"
|
||||
" w = (float2)(native_cos(ang), native_sin(ang)); \\\n"
|
||||
" a = complexMul(a, w); \\\n"
|
||||
" in[startIndex] = a; \\\n"
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
" unsigned int i = get_global_id(0); \\\n"
|
||||
" unsigned int startIndex = i; \\\n"
|
||||
" \\\n"
|
||||
" if(i < numCols) \\\n"
|
||||
" { \\\n"
|
||||
" for(j = 0; j < numRowsToProcess; j++) \\\n"
|
||||
" { \\\n"
|
||||
" a = in[startIndex]; \\\n"
|
||||
" ang = 2.0f * M_PI * dir * i * (startRow + j) / N; \\\n"
|
||||
" w = (float2)(native_cos(ang), native_sin(ang)); \\\n"
|
||||
" a = complexMul(a, w); \\\n"
|
||||
" in[startIndex] = a; \\\n"
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
"} \\\n");
|
||||
|
||||
static string twistKernelPlannar = string(
|
||||
@ -251,22 +251,22 @@ static string twistKernelPlannar = string(
|
||||
" float2 a, w; \\\n"
|
||||
" float ang; \\\n"
|
||||
" unsigned int j; \\\n"
|
||||
" unsigned int i = get_global_id(0); \\\n"
|
||||
" unsigned int startIndex = i; \\\n"
|
||||
" \\\n"
|
||||
" if(i < numCols) \\\n"
|
||||
" { \\\n"
|
||||
" for(j = 0; j < numRowsToProcess; j++) \\\n"
|
||||
" { \\\n"
|
||||
" a = (float2)(in_real[startIndex], in_imag[startIndex]); \\\n"
|
||||
" ang = 2.0f * M_PI * dir * i * (startRow + j) / N; \\\n"
|
||||
" w = (float2)(native_cos(ang), native_sin(ang)); \\\n"
|
||||
" a = complexMul(a, w); \\\n"
|
||||
" in_real[startIndex] = a.x; \\\n"
|
||||
" in_imag[startIndex] = a.y; \\\n"
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
" unsigned int i = get_global_id(0); \\\n"
|
||||
" unsigned int startIndex = i; \\\n"
|
||||
" \\\n"
|
||||
" if(i < numCols) \\\n"
|
||||
" { \\\n"
|
||||
" for(j = 0; j < numRowsToProcess; j++) \\\n"
|
||||
" { \\\n"
|
||||
" a = (float2)(in_real[startIndex], in_imag[startIndex]); \\\n"
|
||||
" ang = 2.0f * M_PI * dir * i * (startRow + j) / N; \\\n"
|
||||
" w = (float2)(native_cos(ang), native_sin(ang)); \\\n"
|
||||
" a = complexMul(a, w); \\\n"
|
||||
" in_real[startIndex] = a.x; \\\n"
|
||||
" in_imag[startIndex] = a.y; \\\n"
|
||||
" startIndex += numCols; \\\n"
|
||||
" } \\\n"
|
||||
" } \\\n"
|
||||
"} \\\n");
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ obsd_t insert_obs_to_rtklib(obsd_t& rtklib_obs, const Gnss_Synchro& gnss_synchro
|
||||
}
|
||||
auto CN0_dB_Hz = static_cast<unsigned char>(std::round(CN0_dB_Hz_est / 0.25));
|
||||
rtklib_obs.SNR[band] = CN0_dB_Hz;
|
||||
//Galileo is the third satellite system for RTKLIB, so, add the required offset to discriminate Galileo ephemeris
|
||||
// Galileo is the third satellite system for RTKLIB, so, add the required offset to discriminate Galileo ephemeris
|
||||
switch (gnss_synchro.System)
|
||||
{
|
||||
case 'G':
|
||||
@ -107,22 +107,21 @@ obsd_t insert_obs_to_rtklib(obsd_t& rtklib_obs, const Gnss_Synchro& gnss_synchro
|
||||
rtklib_obs.sat = gnss_synchro.PRN;
|
||||
}
|
||||
|
||||
// Mote that BeiDou week numbers do not need adjustment for foreseeable future. Consider change
|
||||
// Note that BeiDou week numbers do not need adjustment for foreseeable future. Consider change
|
||||
// to more elegant solution
|
||||
// if(gnss_synchro.System == 'C')
|
||||
// {
|
||||
// rtklib_obs.time = bdt2gpst(bdt2time(week, gnss_synchro.RX_time));
|
||||
// }
|
||||
// {
|
||||
// rtklib_obs.time = bdt2gpst(bdt2time(week, gnss_synchro.RX_time));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// rtklib_obs.time = gpst2time(adjgpsweek(week), gnss_synchro.RX_time);
|
||||
// }
|
||||
// {
|
||||
// rtklib_obs.time = gpst2time(adjgpsweek(week), gnss_synchro.RX_time);
|
||||
// }
|
||||
//
|
||||
rtklib_obs.time = gpst2time(adjgpsweek(week), gnss_synchro.RX_time);
|
||||
//account for the TOW crossover transitory in the first 18 seconds where the week is not yet updated!
|
||||
// account for the TOW crossover transitory in the first 18 seconds where the week is not yet updated!
|
||||
if (gnss_synchro.RX_time < 18.0)
|
||||
{
|
||||
//p_time += boost::posix_time::seconds(604800);
|
||||
rtklib_obs.time = timeadd(rtklib_obs.time, 604800);
|
||||
}
|
||||
|
||||
@ -130,6 +129,7 @@ obsd_t insert_obs_to_rtklib(obsd_t& rtklib_obs, const Gnss_Synchro& gnss_synchro
|
||||
return rtklib_obs;
|
||||
}
|
||||
|
||||
|
||||
geph_t eph_to_rtklib(const Glonass_Gnav_Ephemeris& glonass_gnav_eph, const Glonass_Gnav_Utc_Model& gnav_clock_model)
|
||||
{
|
||||
double week;
|
||||
@ -174,7 +174,7 @@ eph_t eph_to_rtklib(const Galileo_Ephemeris& gal_eph)
|
||||
{
|
||||
eph_t rtklib_sat = {0, 0, 0, 0, 0, 0, 0, 0, {0, 0}, {0, 0}, {0, 0}, 0.0, 0.0, 0.0, 0.0, 0.0,
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, {}, {}, 0.0, 0.0};
|
||||
//Galileo is the third satellite system for RTKLIB, so, add the required offset to discriminate Galileo ephemeris
|
||||
// Galileo is the third satellite system for RTKLIB, so, add the required offset to discriminate Galileo ephemeris
|
||||
rtklib_sat.sat = gal_eph.i_satellite_PRN + NSATGPS + NSATGLO;
|
||||
rtklib_sat.A = gal_eph.A_1 * gal_eph.A_1;
|
||||
rtklib_sat.M0 = gal_eph.M0_1;
|
||||
@ -185,8 +185,8 @@ eph_t eph_to_rtklib(const Galileo_Ephemeris& gal_eph)
|
||||
rtklib_sat.i0 = gal_eph.i_0_2;
|
||||
rtklib_sat.idot = gal_eph.iDot_2;
|
||||
rtklib_sat.e = gal_eph.e_1;
|
||||
rtklib_sat.Adot = 0; //only in CNAV;
|
||||
rtklib_sat.ndot = 0; //only in CNAV;
|
||||
rtklib_sat.Adot = 0; // only in CNAV;
|
||||
rtklib_sat.ndot = 0; // only in CNAV;
|
||||
|
||||
rtklib_sat.week = adjgpsweek(gal_eph.WN_5); /* week of tow */
|
||||
rtklib_sat.cic = gal_eph.C_ic_4;
|
||||
@ -243,8 +243,8 @@ eph_t eph_to_rtklib(const Gps_Ephemeris& gps_eph)
|
||||
rtklib_sat.i0 = gps_eph.d_i_0;
|
||||
rtklib_sat.idot = gps_eph.d_IDOT;
|
||||
rtklib_sat.e = gps_eph.d_e_eccentricity;
|
||||
rtklib_sat.Adot = 0; //only in CNAV;
|
||||
rtklib_sat.ndot = 0; //only in CNAV;
|
||||
rtklib_sat.Adot = 0; // only in CNAV;
|
||||
rtklib_sat.ndot = 0; // only in CNAV;
|
||||
|
||||
rtklib_sat.week = adjgpsweek(gps_eph.i_GPS_week); /* week of tow */
|
||||
rtklib_sat.cic = gps_eph.d_Cic;
|
||||
@ -301,14 +301,14 @@ eph_t eph_to_rtklib(const Beidou_Dnav_Ephemeris& bei_eph)
|
||||
rtklib_sat.i0 = bei_eph.d_i_0;
|
||||
rtklib_sat.idot = bei_eph.d_IDOT;
|
||||
rtklib_sat.e = bei_eph.d_eccentricity;
|
||||
rtklib_sat.Adot = 0; //only in CNAV;
|
||||
rtklib_sat.ndot = 0; //only in CNAV;
|
||||
rtklib_sat.Adot = 0; // only in CNAV;
|
||||
rtklib_sat.ndot = 0; // only in CNAV;
|
||||
|
||||
rtklib_sat.svh = bei_eph.i_SV_health;
|
||||
rtklib_sat.sva = bei_eph.i_SV_accuracy;
|
||||
|
||||
rtklib_sat.code = bei_eph.i_sig_type; /*B1I data*/
|
||||
rtklib_sat.flag = bei_eph.i_nav_type; /*MEO/IGSO satellite*/
|
||||
rtklib_sat.code = bei_eph.i_sig_type; /* B1I data */
|
||||
rtklib_sat.flag = bei_eph.i_nav_type; /* MEO/IGSO satellite */
|
||||
rtklib_sat.iode = static_cast<int32_t>(bei_eph.d_AODE); /* AODE */
|
||||
rtklib_sat.iodc = static_cast<int32_t>(bei_eph.d_AODC); /* AODC */
|
||||
|
||||
@ -374,8 +374,8 @@ eph_t eph_to_rtklib(const Gps_CNAV_Ephemeris& gps_cnav_eph)
|
||||
rtklib_sat.i0 = gps_cnav_eph.d_i_0;
|
||||
rtklib_sat.idot = gps_cnav_eph.d_IDOT;
|
||||
rtklib_sat.e = gps_cnav_eph.d_e_eccentricity;
|
||||
rtklib_sat.Adot = gps_cnav_eph.d_A_DOT; //only in CNAV;
|
||||
rtklib_sat.ndot = gps_cnav_eph.d_DELTA_DOT_N; //only in CNAV;
|
||||
rtklib_sat.Adot = gps_cnav_eph.d_A_DOT; // only in CNAV;
|
||||
rtklib_sat.ndot = gps_cnav_eph.d_DELTA_DOT_N; // only in CNAV;
|
||||
|
||||
rtklib_sat.week = adjgpsweek(gps_cnav_eph.i_GPS_week); /* week of tow */
|
||||
rtklib_sat.cic = gps_cnav_eph.d_Cic;
|
||||
|
@ -236,8 +236,8 @@ double prange(const obsd_t *obs, const nav_t *nav, const double *azel,
|
||||
|
||||
//CHECK IF IT IS STILL NEEDED
|
||||
if (opt->ionoopt == IONOOPT_IFLC)
|
||||
{ /* dual-frequency */
|
||||
|
||||
{
|
||||
/* dual-frequency */
|
||||
if (P1 == 0.0 || P2 == 0.0)
|
||||
{
|
||||
return 0.0;
|
||||
|
@ -1689,7 +1689,6 @@ int res_ppp(int iter __attribute__((unused)), const obsd_t *obs, int n, const do
|
||||
|
||||
for (j = 0; j < 2; j++)
|
||||
{ /* for phase and code */
|
||||
|
||||
if (meas[j] == 0.0)
|
||||
{
|
||||
continue;
|
||||
|
@ -79,6 +79,7 @@
|
||||
#define GNSS_SDR_RTKLIB_RTKCMN_H_
|
||||
|
||||
#include "rtklib.h"
|
||||
#include <string>
|
||||
|
||||
|
||||
/* coordinate rotation matrix ------------------------------------------------*/
|
||||
|
@ -1657,7 +1657,6 @@ int ddres(rtk_t *rtk, const nav_t *nav, double dt, const double *x,
|
||||
}
|
||||
for (m = 0; m < 4; m++)
|
||||
{ /* m=0:gps/qzs/sbs, 1:glo, 2:gal, 3:bds */
|
||||
|
||||
for (f = opt->mode > PMODE_DGPS ? 0 : nf; f < nf * 2; f++)
|
||||
{
|
||||
/* search reference satellite with highest elevation */
|
||||
@ -2863,7 +2862,6 @@ int rtkpos(rtk_t *rtk, const obsd_t *obs, int n, const nav_t *nav)
|
||||
}
|
||||
if (opt->mode == PMODE_MOVEB)
|
||||
{ /* moving baseline */
|
||||
|
||||
/* estimate position/velocity of base station */
|
||||
if (!pntpos(obs + nu, nr, nav, &rtk->opt, &solb, nullptr, nullptr, msg))
|
||||
{
|
||||
|
@ -494,7 +494,6 @@ void decodefile(rtksvr_t *svr, int index)
|
||||
|
||||
if (svr->format[index] == STRFMT_SP3)
|
||||
{ /* precise ephemeris */
|
||||
|
||||
/* read sp3 precise ephemeris */
|
||||
readsp3(file, &nav, 0);
|
||||
if (nav.ne <= 0)
|
||||
@ -517,8 +516,8 @@ void decodefile(rtksvr_t *svr, int index)
|
||||
rtksvrunlock(svr);
|
||||
}
|
||||
else if (svr->format[index] == STRFMT_RNXCLK)
|
||||
{ /* precise clock */
|
||||
|
||||
{
|
||||
/* precise clock */
|
||||
/* read rinex clock */ // Disabled!!
|
||||
if (true /*readrnxc(file, &nav)<=0 */)
|
||||
{
|
||||
|
@ -955,7 +955,6 @@ int gentcp(tcp_t *tcp, int type, char *msg)
|
||||
|
||||
if (type == 0)
|
||||
{ /* server socket */
|
||||
|
||||
#ifdef SVR_REUSEADDR
|
||||
/* multiple-use of server socket */
|
||||
setsockopt(tcp->sock, SOL_SOCKET, SO_REUSEADDR, (const char *)&opt,
|
||||
|
@ -355,7 +355,6 @@ void tidedisp(gtime_t tutc, const double *rr, int opt, const erp_t *erp,
|
||||
|
||||
if (opt & 1)
|
||||
{ /* solid earth tides */
|
||||
|
||||
/* sun and moon position in ecef */
|
||||
sunmoonpos(tutc, erpv, rs, rm, &gmst);
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
||||
/* From gnuradio/gnuradio-runtime/lib/math/sine_table.h
|
||||
* max_error = 2.353084136763606e-06 */
|
||||
static const float sine_table_10bits[1 << 10][2] = {
|
||||
|
||||
{2.925817799165007e-09, 7.219194364267018e-09},
|
||||
{2.925707643778599e-09, 2.526699001579799e-07},
|
||||
{2.925487337153070e-09, 1.191140162167675e-06},
|
||||
|
@ -30,6 +30,7 @@
|
||||
|
||||
#include "qa_utils.h"
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
||||
|
@ -45,7 +45,6 @@
|
||||
#include <iostream> // for cerr, cout
|
||||
#include <limits> // for numeric_limits
|
||||
#include <utility> // for move
|
||||
#include <vector> // for vector
|
||||
|
||||
#if HAS_STD_FILESYSTEM
|
||||
#include <system_error>
|
||||
|
@ -41,6 +41,8 @@
|
||||
#include <cstdint> // for int32_t
|
||||
#include <fstream> // for string, ofstream
|
||||
#include <memory> // for shared_ptr
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class Gnss_Synchro;
|
||||
class hybrid_observables_gs;
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <cmath>
|
||||
#include <limits>
|
||||
|
||||
#include <vector>
|
||||
|
||||
MmseResamplerConditioner::MmseResamplerConditioner(
|
||||
ConfigurationInterface* configuration, const std::string& role,
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
#include "direct_resampler_conditioner_cb.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <algorithm> // for min
|
||||
|
||||
|
||||
direct_resampler_conditioner_cb_sptr direct_resampler_make_conditioner_cb(
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
#include "direct_resampler_conditioner_cc.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
|
||||
#include <algorithm> // for min
|
||||
|
||||
direct_resampler_conditioner_cc_sptr direct_resampler_make_conditioner_cc(
|
||||
double sample_freq_in, double sample_freq_out)
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
#include "direct_resampler_conditioner_cs.h"
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <algorithm> // for min
|
||||
|
||||
|
||||
direct_resampler_conditioner_cs_sptr direct_resampler_make_conditioner_cs(
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include <gnuradio/blocks/vector_to_stream.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/null_sink.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include <gnuradio/blocks/null_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -43,6 +43,7 @@
|
||||
#endif
|
||||
#include "concurrent_queue.h"
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "concurrent_queue.h"
|
||||
#include "gnss_block_interface.h"
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
/*!
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include <gnuradio/blocks/throttle.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <osmosdr/source.h>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
@ -42,6 +42,7 @@
|
||||
#endif
|
||||
#include "concurrent_queue.h"
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -40,6 +40,7 @@
|
||||
#include <gnuradio/blocks/file_sink.h>
|
||||
#include <gnuradio/blocks/float_to_complex.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
class ConfigurationInterface;
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include <gnuradio/hier_block2.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <gnuradio/uhd/usrp_source.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstdint>
|
||||
#include <fstream>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
|
||||
|
@ -47,6 +47,7 @@
|
||||
#include <gnuradio/sync_block.h>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class rtl_tcp_signal_source_c;
|
||||
|
||||
|
@ -70,6 +70,7 @@
|
||||
|
||||
#include <gnuradio/sync_interpolator.h>
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
class unpack_2bit_samples;
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include <pmt/pmt.h>
|
||||
#include <cstddef> // for size_t
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
class Gnss_Sdr_Valve;
|
||||
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include "rtl_tcp_dongle_info.h"
|
||||
#include <boost/foreach.hpp>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
using boost::asio::ip::tcp;
|
||||
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <glog/logging.h>
|
||||
#include <gnuradio/io_signature.h>
|
||||
#include <pmt/pmt_sugar.h> // for mp
|
||||
#include <algorithm> // for copy
|
||||
#include <array>
|
||||
#include <cmath> // for abs
|
||||
#include <exception> // for exception
|
||||
|
@ -45,7 +45,8 @@
|
||||
#include <pmt/pmt.h> // for pmt_t
|
||||
#include <cstdint> // for int32_t
|
||||
#include <fstream> // for string, ofstream
|
||||
#include <utility> // for pair
|
||||
#include <string>
|
||||
#include <utility> // for pair
|
||||
#include <vector>
|
||||
|
||||
class Gnss_Synchro;
|
||||
|
@ -44,7 +44,9 @@
|
||||
#include <pmt/pmt.h> // for pmt_t
|
||||
#include <cstdint> // for int32_t
|
||||
#include <fstream> // for string, ofstream
|
||||
#include <utility> // for pair
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility> // for pair
|
||||
#include <vector>
|
||||
|
||||
class Fpga_Multicorrelator_8sc;
|
||||
|
@ -46,6 +46,7 @@
|
||||
#include "tracking_FLL_PLL_filter.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include <deque>
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include "tracking_FLL_PLL_filter.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||
#include <deque>
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
@ -39,6 +39,7 @@
|
||||
|
||||
#include <gnuradio/block.h>
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
|
||||
/*!
|
||||
|
@ -40,6 +40,7 @@
|
||||
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gnss_synchro.h"
|
||||
#include <memory>
|
||||
|
||||
template <typename Data>
|
||||
class Concurrent_Queue;
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include "gnss_block_interface.h"
|
||||
#include "gps_almanac.h"
|
||||
#include "gps_ephemeris.h"
|
||||
#include <map>
|
||||
|
||||
/*!
|
||||
* \brief This class represents an interface to a PVT block.
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "monitor_pvt.h"
|
||||
#include <gnuradio/block.h>
|
||||
#include <pmt/pmt.h>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
|
||||
class channel_status_msg_receiver;
|
||||
|
@ -25,7 +25,6 @@ extern "C"
|
||||
GANSSAlmanacElement_PR_NOTHING, /* No components present */
|
||||
GANSSAlmanacElement_PR_keplerianAlmanacSet,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} GANSSAlmanacElement_PR;
|
||||
|
||||
/* GANSSAlmanacElement */
|
||||
|
@ -25,7 +25,6 @@ extern "C"
|
||||
GANSSClockModel_PR_NOTHING, /* No components present */
|
||||
GANSSClockModel_PR_standardClockModelList,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} GANSSClockModel_PR;
|
||||
|
||||
/* GANSSClockModel */
|
||||
|
@ -25,7 +25,6 @@ extern "C"
|
||||
GANSSOrbitModel_PR_NOTHING, /* No components present */
|
||||
GANSSOrbitModel_PR_keplerianSet,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} GANSSOrbitModel_PR;
|
||||
|
||||
/* GANSSOrbitModel */
|
||||
|
@ -33,7 +33,6 @@ extern "C"
|
||||
RRLP_Component_PR_assistanceDataAck,
|
||||
RRLP_Component_PR_protocolError,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} RRLP_Component_PR;
|
||||
|
||||
/* RRLP-Component */
|
||||
|
@ -28,7 +28,6 @@ extern "C"
|
||||
SatStatus_PR_oldSatelliteAndModel,
|
||||
SatStatus_PR_newNaviModelUC,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} SatStatus_PR;
|
||||
|
||||
/* SatStatus */
|
||||
|
@ -58,8 +58,8 @@ extern "C"
|
||||
} UncompressedEphemeris_t;
|
||||
|
||||
/* Implementation */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_ephemE_17; // (Use -fall-defs-global to expose) */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_ephemAPowerHalf_19; // (Use -fall-defs-global to expose) */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_ephemE_17; // (Use -fall-defs-global to expose) */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_ephemAPowerHalf_19; // (Use -fall-defs-global to expose) */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_UncompressedEphemeris;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -116,8 +116,8 @@ typedef unsigned int uint32_t;
|
||||
|
||||
#ifndef MIN /* Suitable for comparing primitive types (integers) */
|
||||
#if defined(__GNUC__)
|
||||
#define MIN(a, b) ({ __typeof a _a = a; __typeof b _b = b; \
|
||||
((_a)<(_b)?(_a):(_b)); })
|
||||
#define MIN(a, b) ({ __typeof a _a = a; __typeof b _b = b; \
|
||||
((_a)<(_b)?(_a):(_b)); })
|
||||
#else /* !__GNUC__ */
|
||||
#define MIN(a, b) ((a) < (b) ? (a) : (b)) /* Unsafe variant */
|
||||
#endif /* __GNUC__ */
|
||||
|
@ -43,7 +43,7 @@ extern "C"
|
||||
} AltitudeInfo_t;
|
||||
|
||||
/* Implementation */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_altitudeDirection_2; // (Use -fall-defs-global to expose) */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_altitudeDirection_2; // (Use -fall-defs-global to expose) */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_AltitudeInfo;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -29,7 +29,6 @@ extern "C"
|
||||
CellInfo_PR_wcdmaCell,
|
||||
CellInfo_PR_cdmaCell,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} CellInfo_PR;
|
||||
|
||||
/* CellInfo */
|
||||
|
@ -28,7 +28,6 @@ extern "C"
|
||||
fmodeSpecificInfo_PR_fdd,
|
||||
fmodeSpecificInfo_PR_tdd,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} fmodeSpecificInfo_PR;
|
||||
|
||||
/* FrequencyInfo */
|
||||
|
@ -50,7 +50,7 @@ INTEGER_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
|
||||
|
||||
/*
|
||||
* Canonicalize integer in the buffer.
|
||||
* (Remove too long sign extension, remove some first 0x00 bytes)
|
||||
* (Remove too int64_t sign extension, remove some first 0x00 bytes)
|
||||
*/
|
||||
if(st->buf) {
|
||||
uint8_t *buf = st->buf;
|
||||
@ -106,7 +106,7 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
|
||||
char scratch[32]; /* Enough for 64-bit integer */
|
||||
uint8_t *buf = st->buf;
|
||||
uint8_t *buf_end = st->buf + st->size;
|
||||
signed long accum;
|
||||
int64_t accum;
|
||||
ssize_t wrote = 0;
|
||||
char *p;
|
||||
int ret;
|
||||
@ -133,9 +133,9 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
|
||||
char *scr;
|
||||
|
||||
if(buf == buf_end) {
|
||||
accum = 0;
|
||||
accum = 0LL;
|
||||
} else {
|
||||
accum = (*buf & 0x80) ? -1 : 0;
|
||||
accum = (*buf & 0x80) ? -1LL : 0LL;
|
||||
for(; buf < buf_end; buf++)
|
||||
accum = (accum * 256) | *buf;
|
||||
}
|
||||
@ -146,7 +146,7 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
|
||||
scr = (char *)alloca(scrsize);
|
||||
if(plainOrXER == 0)
|
||||
ret = snprintf(scr, scrsize,
|
||||
"%ld (%s)", accum, el->enum_name);
|
||||
"%lld (%s)", accum, el->enum_name);
|
||||
else
|
||||
ret = snprintf(scr, scrsize,
|
||||
"<%s/>", el->enum_name);
|
||||
@ -160,7 +160,7 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
|
||||
scr = scratch;
|
||||
ret = snprintf(scr, scrsize,
|
||||
(specs && specs->field_unsigned)
|
||||
?"%lu":"%ld", accum);
|
||||
?"%llu":"%lld", accum);
|
||||
}
|
||||
assert(ret > 0 && (size_t)ret < scrsize);
|
||||
return (cb(scr, ret, app_key) < 0) ? -1 : ret;
|
||||
@ -175,7 +175,7 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Output in the long xx:yy:zz... format */
|
||||
/* Output in the int64_t xx:yy:zz... format */
|
||||
/* TODO: replace with generic algorithm (Knuth TAOCP Vol 2, 4.3.1) */
|
||||
for(p = scratch; buf < buf_end; buf++) {
|
||||
static const char *h2c = "0123456789ABCDEF";
|
||||
@ -284,9 +284,9 @@ INTEGER_map_enum2value(asn_INTEGER_specifics_t *specs, const char *lstart, const
|
||||
|
||||
static int
|
||||
INTEGER__compar_value2enum(const void *kp, const void *am) {
|
||||
long a = *(const long *)kp;
|
||||
int64_t a = *(const int64_t *)kp;
|
||||
const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am;
|
||||
long b = el->nat_value;
|
||||
int64_t b = el->nat_value;
|
||||
if(a < b) return -1;
|
||||
else if(a == b) return 0;
|
||||
else return 1;
|
||||
@ -321,8 +321,8 @@ INTEGER_st_prealloc(INTEGER_t *st, int min_size) {
|
||||
static enum xer_pbd_rval
|
||||
INTEGER__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chunk_buf, size_t chunk_size) {
|
||||
INTEGER_t *st = (INTEGER_t *)sptr;
|
||||
long sign = 1;
|
||||
long value;
|
||||
int64_t sign = 1LL;
|
||||
int64_t value;
|
||||
const char *lp;
|
||||
const char *lstart = (const char *)chunk_buf;
|
||||
const char *lstop = lstart + chunk_size;
|
||||
@ -339,7 +339,7 @@ INTEGER__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chun
|
||||
|
||||
if(chunk_size)
|
||||
ASN_DEBUG("INTEGER body %ld 0x%2x..0x%2x",
|
||||
(long)chunk_size, *lstart, lstop[-1]);
|
||||
(int64_t)chunk_size, *lstart, lstop[-1]);
|
||||
|
||||
/*
|
||||
* We may have received a tag here. It will be processed inline.
|
||||
@ -398,7 +398,7 @@ INTEGER__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chun
|
||||
}
|
||||
|
||||
{
|
||||
long new_value = value * 10;
|
||||
int64_t new_value = value * 10;
|
||||
|
||||
if(new_value / 10 != value)
|
||||
/* Overflow */
|
||||
@ -409,8 +409,8 @@ INTEGER__xer_body_decode(asn_TYPE_descriptor_t *td, void *sptr, const void *chun
|
||||
if(value < 0) {
|
||||
/* Check whether it is a LONG_MIN */
|
||||
if(sign == -1
|
||||
&& (unsigned long)value
|
||||
== ~((unsigned long)-1 >> 1)) {
|
||||
&& (uint64_t)value
|
||||
== ~((uint64_t)-1 >> 1)) {
|
||||
sign = 1;
|
||||
} else {
|
||||
/* Overflow */
|
||||
@ -601,9 +601,9 @@ INTEGER_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
|
||||
/* #10.5.6 */
|
||||
ASN_DEBUG("Integer with range %d bits", ct->range_bits);
|
||||
if(ct->range_bits >= 0) {
|
||||
long value;
|
||||
int64_t value;
|
||||
if(ct->range_bits == 32) {
|
||||
long lhalf;
|
||||
int64_t lhalf;
|
||||
value = per_get_few_bits(pd, 16);
|
||||
if(value < 0) _ASN_DECODE_STARVED;
|
||||
lhalf = per_get_few_bits(pd, 16);
|
||||
@ -687,11 +687,11 @@ INTEGER_encode_uper(asn_TYPE_descriptor_t *td,
|
||||
_ASN_ENCODE_FAILED;
|
||||
/* Check proper range */
|
||||
if(ct->flags & APC_SEMI_CONSTRAINED) {
|
||||
if(uval < (unsigned long)ct->lower_bound)
|
||||
if(uval < (uint64_t)ct->lower_bound)
|
||||
inext = 1;
|
||||
} else if(ct->range_bits >= 0) {
|
||||
if(uval < (unsigned long)ct->lower_bound
|
||||
|| uval > (unsigned long)ct->upper_bound)
|
||||
if(uval < (uint64_t)ct->lower_bound
|
||||
|| uval > (uint64_t)ct->upper_bound)
|
||||
inext = 1;
|
||||
}
|
||||
ASN_DEBUG("Value %lu (%02x/%d) lb %lu ub %lu %s",
|
||||
@ -733,7 +733,7 @@ INTEGER_encode_uper(asn_TYPE_descriptor_t *td,
|
||||
ct->range_bits);
|
||||
if(ct->range_bits == 32) {
|
||||
/* TODO: extend to >32 bits */
|
||||
long v = value - ct->lower_bound;
|
||||
int64_t v = value - ct->lower_bound;
|
||||
if(per_put_few_bits(po, v >> 1, 31)
|
||||
|| per_put_few_bits(po, v, 1))
|
||||
_ASN_ENCODE_FAILED;
|
||||
@ -768,7 +768,7 @@ asn_INTEGER2long(const INTEGER_t *iptr, int64_t *lptr) {
|
||||
uint8_t *b;
|
||||
uint8_t *end;
|
||||
size_t size;
|
||||
long l;
|
||||
int64_t l;
|
||||
|
||||
/* Sanity checking */
|
||||
if(!iptr || !iptr->buf || !lptr) {
|
||||
@ -781,11 +781,11 @@ asn_INTEGER2long(const INTEGER_t *iptr, int64_t *lptr) {
|
||||
size = iptr->size;
|
||||
end = b + size; /* Where to stop */
|
||||
|
||||
if(size > sizeof(long)) {
|
||||
if(size > sizeof(int64_t)) {
|
||||
uint8_t *end1 = end - 1;
|
||||
/*
|
||||
* Slightly more advanced processing,
|
||||
* able to >sizeof(long) bytes,
|
||||
* able to >sizeof(int64_t) bytes,
|
||||
* when the actual value is small
|
||||
* (0x0000000000abcdef would yield a fine 0x00abcdef)
|
||||
*/
|
||||
@ -799,8 +799,8 @@ asn_INTEGER2long(const INTEGER_t *iptr, int64_t *lptr) {
|
||||
}
|
||||
|
||||
size = end - b;
|
||||
if(size > sizeof(long)) {
|
||||
/* Still cannot fit the long */
|
||||
if(size > sizeof(int64_t)) {
|
||||
/* Still cannot fit the int64_t */
|
||||
errno = ERANGE;
|
||||
return -1;
|
||||
}
|
||||
@ -828,7 +828,7 @@ int
|
||||
asn_INTEGER2ulong(const INTEGER_t *iptr, uint64_t *lptr) {
|
||||
uint8_t *b;
|
||||
uint8_t *end;
|
||||
unsigned long l;
|
||||
uint64_t l;
|
||||
size_t size;
|
||||
|
||||
if(!iptr || !iptr->buf || !lptr) {
|
||||
@ -841,9 +841,9 @@ asn_INTEGER2ulong(const INTEGER_t *iptr, uint64_t *lptr) {
|
||||
end = b + size;
|
||||
|
||||
/* If all extra leading bytes are zeroes, ignore them */
|
||||
for(; size > sizeof(unsigned long); b++, size--) {
|
||||
for(; size > sizeof(uint64_t); b++, size--) {
|
||||
if(*b) {
|
||||
/* Value won't fit unsigned long */
|
||||
/* Value won't fit uint64_t */
|
||||
errno = ERANGE;
|
||||
return -1;
|
||||
}
|
||||
@ -872,7 +872,7 @@ asn_ulong2INTEGER(INTEGER_t *st, uint64_t value) {
|
||||
|
||||
end = buf + (sizeof(value) + 1);
|
||||
buf[0] = 0;
|
||||
for(b = buf + 1, shr = (sizeof(long)-1)*8; b < end; shr -= 8, b++)
|
||||
for(b = buf + 1, shr = (sizeof(int64_t)-1)*8; b < end; shr -= 8, b++)
|
||||
*b = (uint8_t)(value >> shr);
|
||||
|
||||
if(st->buf) FREEMEM(st->buf);
|
||||
|
@ -27,7 +27,6 @@ extern "C"
|
||||
PosPayLoad_PR_rrcPayload,
|
||||
PosPayLoad_PR_rrlpPayload,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} PosPayLoad_PR;
|
||||
|
||||
/* PosPayLoad */
|
||||
|
@ -57,7 +57,7 @@ extern "C"
|
||||
} PositionEstimate_t;
|
||||
|
||||
/* Implementation */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_latitudeSign_2; // (Use -fall-defs-global to expose) */
|
||||
/* extern asn_TYPE_descriptor_t asn_DEF_latitudeSign_2; // (Use -fall-defs-global to expose) */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_PositionEstimate;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -26,7 +26,6 @@ extern "C"
|
||||
SETAuthKey_PR_shortKey,
|
||||
SETAuthKey_PR_longKey,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} SETAuthKey_PR;
|
||||
|
||||
/* SETAuthKey */
|
||||
|
@ -33,7 +33,6 @@ extern "C"
|
||||
SETId_PR_nai,
|
||||
SETId_PR_iPAddress,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} SETId_PR;
|
||||
|
||||
/* SETId */
|
||||
|
@ -27,7 +27,6 @@ extern "C"
|
||||
SLPAddress_PR_iPAddress,
|
||||
SLPAddress_PR_fQDN,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} SLPAddress_PR;
|
||||
|
||||
/* SLPAddress */
|
||||
|
@ -38,7 +38,6 @@ extern "C"
|
||||
UlpMessage_PR_msDUMMY2,
|
||||
UlpMessage_PR_msDUMMY3,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} UlpMessage_PR;
|
||||
|
||||
/* UlpMessage */
|
||||
|
@ -31,7 +31,6 @@ extern "C"
|
||||
Velocity_PR_horveluncert,
|
||||
Velocity_PR_horandveruncert,
|
||||
/* Extensions may appear below */
|
||||
|
||||
} Velocity_PR;
|
||||
|
||||
/* Velocity */
|
||||
|
@ -116,8 +116,8 @@ typedef unsigned int uint32_t;
|
||||
|
||||
#ifndef MIN /* Suitable for comparing primitive types (integers) */
|
||||
#if defined(__GNUC__)
|
||||
#define MIN(a, b) ({ __typeof a _a = a; __typeof b _b = b; \
|
||||
((_a)<(_b)?(_a):(_b)); })
|
||||
#define MIN(a, b) ({ __typeof a _a = a; __typeof b _b = b; \
|
||||
((_a)<(_b)?(_a):(_b)); })
|
||||
#else /* !__GNUC__ */
|
||||
#define MIN(a, b) ((a) < (b) ? (a) : (b)) /* Unsafe variant */
|
||||
#endif /* __GNUC__ */
|
||||
|
@ -191,7 +191,6 @@ typedef struct supl_rrlp_ctx_s
|
||||
int cnt_acq;
|
||||
int acq_time;
|
||||
struct supl_acquis_s acq[MAX_EPHEMERIS];
|
||||
|
||||
} supl_assist_t;
|
||||
|
||||
typedef struct supl_param_s
|
||||
@ -232,7 +231,6 @@ typedef struct supl_ctx_s
|
||||
void *buf;
|
||||
size_t size;
|
||||
} slp_session_id;
|
||||
|
||||
} supl_ctx_t;
|
||||
|
||||
int supl_ctx_new(supl_ctx_t *ctx);
|
||||
|
@ -35,9 +35,10 @@
|
||||
#include "gnss_synchro.h"
|
||||
#include "gnss_synchro.pb.h" // file created by Protocol Buffers at compile time
|
||||
#include <array>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
|
||||
/*!
|
||||
* \brief This class implements serialization and deserialization of
|
||||
* Gnss_Synchro objects using Protocol Buffers.
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "string_converter.h"
|
||||
#include <glog/logging.h>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
|
||||
FileConfiguration::FileConfiguration(std::string filename)
|
||||
|
@ -33,6 +33,7 @@
|
||||
|
||||
#include "MATH_CONSTANTS.h"
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include "MATH_CONSTANTS.h"
|
||||
#include "gnss_frequencies.h"
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <utility> // std::pair
|
||||
#include <vector>
|
||||
|
||||
|
@ -35,6 +35,7 @@
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
#include <boost/date_time/posix_time/time_formatters.hpp>
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
|
||||
|
||||
Glonass_Gnav_Ephemeris::Glonass_Gnav_Ephemeris()
|
||||
|
@ -654,94 +654,94 @@ std::string Gnss_Satellite::what_block(const std::string& system_, uint32_t PRN_
|
||||
switch (PRN_)
|
||||
{
|
||||
case 1:
|
||||
block_ = std::string("Compass-G1"); //!<GEO 140.0°E; launched 2010/01/16
|
||||
block_ = std::string("Compass-G1"); // GEO 140.0°E; launched 2010/01/16
|
||||
break;
|
||||
case 2:
|
||||
block_ = std::string("Compass-G6"); //!<GEO 80°E; launched 2012/10/25
|
||||
block_ = std::string("Compass-G6"); // GEO 80°E; launched 2012/10/25
|
||||
break;
|
||||
case 3:
|
||||
block_ = std::string("Compass-G7"); //!<GEO 110.5°E; launched 2016/06/12
|
||||
block_ = std::string("Compass-G7"); // GEO 110.5°E; launched 2016/06/12
|
||||
break;
|
||||
case 4:
|
||||
block_ = std::string("Compass-G4"); //!<GEO 160.0°E; launched 2010/10/31
|
||||
block_ = std::string("Compass-G4"); // GEO 160.0°E; launched 2010/10/31
|
||||
break;
|
||||
case 5:
|
||||
block_ = std::string("Compass-G5"); //!<GEO 58.75°E; launched 2012/02/24
|
||||
block_ = std::string("Compass-G5"); // GEO 58.75°E; launched 2012/02/24
|
||||
break;
|
||||
case 6:
|
||||
block_ = std::string("Compass-IGS01"); //!<55° inclination IGSO 118°E; launched 2010/07/31
|
||||
block_ = std::string("Compass-IGS01"); // 55° inclination IGSO 118°E; launched 2010/07/31
|
||||
break;
|
||||
case 7:
|
||||
block_ = std::string("Compass-IGS02"); //!<55° inclination IGSO 118°E; launched 2010/12/17
|
||||
block_ = std::string("Compass-IGS02"); // 55° inclination IGSO 118°E; launched 2010/12/17
|
||||
break;
|
||||
case 8:
|
||||
block_ = std::string("Compass-IGS03"); //!<55° inclination IGSO 118°E; launched 2011/04/09
|
||||
block_ = std::string("Compass-IGS03"); // 55° inclination IGSO 118°E; launched 2011/04/09
|
||||
break;
|
||||
case 9:
|
||||
block_ = std::string("Compass-IGS04"); //!<55° inclination IGSO 95°E; launched 2011/07/27
|
||||
block_ = std::string("Compass-IGS04"); // 55° inclination IGSO 95°E; launched 2011/07/27
|
||||
break;
|
||||
case 10:
|
||||
block_ = std::string("Compass-IGS05"); //!<55° inclination IGSO 118°E; launched 2011/12/01
|
||||
block_ = std::string("Compass-IGS05"); // 55° inclination IGSO 118°E; launched 2011/12/01
|
||||
break;
|
||||
case 11:
|
||||
block_ = std::string("Compass-M3"); //!<Slot A07; launched 2012/04/29
|
||||
block_ = std::string("Compass-M3"); // Slot A07; launched 2012/04/29
|
||||
break;
|
||||
case 12:
|
||||
block_ = std::string("Compass-M4"); //!<Slot A08; launched 2012/04/29
|
||||
block_ = std::string("Compass-M4"); // Slot A08; launched 2012/04/29
|
||||
break;
|
||||
case 19:
|
||||
block_ = std::string("BEIDOU-3 M1"); //!<Slot B-7; launched 2017/11/05
|
||||
block_ = std::string("BEIDOU-3 M1"); // Slot B-7; launched 2017/11/05
|
||||
break;
|
||||
case 20:
|
||||
block_ = std::string("BEIDOU-3 M2"); //!<Slot B-5; launched 2017/11/05
|
||||
block_ = std::string("BEIDOU-3 M2"); // Slot B-5; launched 2017/11/05
|
||||
break;
|
||||
case 21:
|
||||
block_ = std::string("BEIDOU 3M5"); //!<Slot B-?; launched 2018/02/12
|
||||
block_ = std::string("BEIDOU 3M5"); // Slot B-?; launched 2018/02/12
|
||||
break;
|
||||
case 22:
|
||||
block_ = std::string("BEIDOU 3M6"); //!<Slot B-6; launched 2018/02/12
|
||||
block_ = std::string("BEIDOU 3M6"); // Slot B-6; launched 2018/02/12
|
||||
break;
|
||||
case 23:
|
||||
block_ = std::string("BEIDOU 3M9"); //!<Slot C-7; launched 2018/07/29
|
||||
block_ = std::string("BEIDOU 3M9"); // Slot C-7; launched 2018/07/29
|
||||
break;
|
||||
case 24:
|
||||
block_ = std::string("BEIDOU 3M10"); //!<Slot C-1; launched 2018/07/29
|
||||
block_ = std::string("BEIDOU 3M10"); // Slot C-1; launched 2018/07/29
|
||||
break;
|
||||
case 25:
|
||||
block_ = std::string("BEIDOU 3M12"); //!<Slot C-8; launched 2018/08/24
|
||||
block_ = std::string("BEIDOU 3M12"); // Slot C-8; launched 2018/08/24
|
||||
break;
|
||||
case 26:
|
||||
block_ = std::string("BEIDOU 3M11"); //!<Slot C-2; launched 2018/08/24
|
||||
block_ = std::string("BEIDOU 3M11"); // Slot C-2; launched 2018/08/24
|
||||
break;
|
||||
case 27:
|
||||
block_ = std::string("BEIDOU 3M3"); //!<Slot A-?; launched 2018/01/11
|
||||
block_ = std::string("BEIDOU 3M3"); // Slot A-?; launched 2018/01/11
|
||||
break;
|
||||
case 28:
|
||||
block_ = std::string("BEIDOU 3M4"); //!<Slot A-?; launched 2018/01/11
|
||||
block_ = std::string("BEIDOU 3M4"); // Slot A-?; launched 2018/01/11
|
||||
break;
|
||||
case 29:
|
||||
block_ = std::string("BEIDOU 3M7"); //!<Slot A-?; launched 2018/03/29
|
||||
block_ = std::string("BEIDOU 3M7"); // Slot A-?; launched 2018/03/29
|
||||
break;
|
||||
case 30:
|
||||
block_ = std::string("BEIDOU 3M8"); //!<Slot A-?; launched 2018/03/29
|
||||
block_ = std::string("BEIDOU 3M8"); // Slot A-?; launched 2018/03/29
|
||||
break;
|
||||
case 32:
|
||||
block_ = std::string("BEIDOU 3M13"); //!<Slot B-1?; launched 2018/09/19
|
||||
block_ = std::string("BEIDOU 3M13"); // Slot B-1?; launched 2018/09/19
|
||||
break;
|
||||
case 33:
|
||||
block_ = std::string("BEIDOU 3M14"); //!<Slot B-3; launched 2018/09/19
|
||||
block_ = std::string("BEIDOU 3M14"); // Slot B-3; launched 2018/09/19
|
||||
break;
|
||||
case 34:
|
||||
block_ = std::string("BEIDOU 3M15"); //!<Slot B-3; launched 2018/10/15
|
||||
block_ = std::string("BEIDOU 3M15"); // Slot B-3; launched 2018/10/15
|
||||
break;
|
||||
case 35:
|
||||
block_ = std::string("BEIDOU 3M16"); //!<Slot B-3; launched 2018/10/15
|
||||
block_ = std::string("BEIDOU 3M16"); // Slot B-3; launched 2018/10/15
|
||||
break;
|
||||
case 36:
|
||||
block_ = std::string("BEIDOU 3M17"); //!<Slot B-3; launched 2018/11/18
|
||||
block_ = std::string("BEIDOU 3M17"); // Slot B-3; launched 2018/11/18
|
||||
break;
|
||||
case 37:
|
||||
block_ = std::string("BEIDOU 3M18"); //!<Slot B-3; launched 2018/11/18
|
||||
block_ = std::string("BEIDOU 3M18"); // Slot B-3; launched 2018/11/18
|
||||
break;
|
||||
default:
|
||||
block_ = std::string("Unknown(Simulated)");
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user