improving documentation

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@335 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
Carles Fernandez 2013-01-28 23:50:09 +00:00
parent b7802d99ef
commit ae1cb212de
24 changed files with 108 additions and 56 deletions

View File

@ -38,6 +38,7 @@ Official GLONASS webpage: <a href="http://www.glonass-ianc.rsa.ru/en/" target="_
\subsection galileo Galileo \subsection galileo Galileo
Check the <a href="http://ec.europa.eu/enterprise/policies/satnav/galileo/index_en.htm" target="_blank">Galileo website of the European Commission</a> and the Check the <a href="http://ec.europa.eu/enterprise/policies/satnav/galileo/index_en.htm" target="_blank">Galileo website of the European Commission</a> and the
<a href="http://www.esa.int/Our_Activities/Navigation/The_future_-_Galileo/What_is_Galileo" target="_blank">Galileo website of the European Space Agency</a>. <a href="http://www.esa.int/Our_Activities/Navigation/The_future_-_Galileo/What_is_Galileo" target="_blank">Galileo website of the European Space Agency</a>.
There is a website with <a href="http://igs.org/mgex/Status_GAL.htm" target="_blank">Galileo constellation status information</a> from the International GNSS Service.
\li Galileo E5, E6, and E1: European GNSS (Galileo) Open Service. <a href="http://ec.europa.eu/enterprise/policies/satnav/galileo/files/galileo-os-sis-icd-issue1-revision1_en.pdf" target="_blank"><b>Signal In Space Interface Control Document. Ref: OS SIS ICD, Issue 1.1</b></a>, European Commission, Sept. 2010. \li Galileo E5, E6, and E1: European GNSS (Galileo) Open Service. <a href="http://ec.europa.eu/enterprise/policies/satnav/galileo/files/galileo-os-sis-icd-issue1-revision1_en.pdf" target="_blank"><b>Signal In Space Interface Control Document. Ref: OS SIS ICD, Issue 1.1</b></a>, European Commission, Sept. 2010.

View File

@ -8,7 +8,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2011 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver
@ -43,13 +43,11 @@
class ConfigurationInterface; class ConfigurationInterface;
/*! /*!
* \brief This class implements a PVT interface for GPS L1 C/A * \brief This class implements a PvtInterface for GPS L1 C/A
*/ */
class GpsL1CaPvt : public PvtInterface class GpsL1CaPvt : public PvtInterface
{ {
public: public:
GpsL1CaPvt(ConfigurationInterface* configuration, GpsL1CaPvt(ConfigurationInterface* configuration,
std::string role, std::string role,
unsigned int in_streams, unsigned int in_streams,
@ -62,6 +60,8 @@ public:
{ {
return role_; return role_;
} }
//! return "GPS_L1_CA_PVT"
std::string implementation() std::string implementation()
{ {
return "GPS_L1_CA_PVT"; return "GPS_L1_CA_PVT";
@ -75,15 +75,15 @@ public:
void reset() void reset()
{ {
return; return;
}; }
// all blocks must have an intem_size() function implementation
//! All blocks must have an item_size() function implementation
size_t item_size() size_t item_size()
{ {
return sizeof(gr_complex); return sizeof(gr_complex);
} }
private: private:
gps_l1_ca_pvt_cc_sptr pvt_; gps_l1_ca_pvt_cc_sptr pvt_;
bool dump_; bool dump_;
unsigned int fs_in_; unsigned int fs_in_;

View File

@ -122,8 +122,8 @@ galileo_e1_gen(std::complex<float>* _dest, int* _prn, char _Signal[3])
const float alpha = sqrt(10.0 / 11.0); const float alpha = sqrt(10.0 / 11.0);
const float beta = sqrt(1.0 / 11.0); const float beta = sqrt(1.0 / 11.0);
std::complex<float> sinboc_11[_codeLength]; std::complex<float> sinboc_11[49152]; // 12*4096 (_codeLength not accepted by Clang )
std::complex<float> sinboc_61[_codeLength]; std::complex<float> sinboc_61[49152];
galileo_e1_sinboc_11_gen(sinboc_11, _prn, _codeLength); //generate sinboc(1,1) 12 samples per chip galileo_e1_sinboc_11_gen(sinboc_11, _prn, _codeLength); //generate sinboc(1,1) 12 samples per chip
galileo_e1_sinboc_61_gen(sinboc_61, _prn, _codeLength); //generate sinboc(6,1) 12 samples per chip galileo_e1_sinboc_61_gen(sinboc_61, _prn, _codeLength); //generate sinboc(6,1) 12 samples per chip
@ -156,7 +156,7 @@ galileo_e1_code_gen_complex_sampled(std::complex<float>* _dest, char _Signal[3],
unsigned int _samplesPerCode; unsigned int _samplesPerCode;
const unsigned int _codeFreqBasis = Galileo_E1_CODE_CHIP_RATE_HZ; //Hz const unsigned int _codeFreqBasis = Galileo_E1_CODE_CHIP_RATE_HZ; //Hz
unsigned int _codeLength = Galileo_E1_B_CODE_LENGTH_CHIPS; unsigned int _codeLength = Galileo_E1_B_CODE_LENGTH_CHIPS;
int primary_code_E1_chips[_codeLength]; int primary_code_E1_chips[4096];
_samplesPerCode = round(_fs / (_codeFreqBasis / _codeLength)); _samplesPerCode = round(_fs / (_codeFreqBasis / _codeLength));
galileo_e1_code_gen_int(primary_code_E1_chips, _Signal, _prn, 0); //generate Galileo E1 code, 1 sample per chip galileo_e1_code_gen_int(primary_code_E1_chips, _Signal, _prn, 0); //generate Galileo E1 code, 1 sample per chip
@ -166,7 +166,7 @@ galileo_e1_code_gen_complex_sampled(std::complex<float>* _dest, char _Signal[3],
_codeLength = 12 * Galileo_E1_B_CODE_LENGTH_CHIPS; _codeLength = 12 * Galileo_E1_B_CODE_LENGTH_CHIPS;
if (_fs != 12 * _codeFreqBasis) if (_fs != 12 * _codeFreqBasis)
{ {
std::complex<float> _signal_E1[_codeLength]; std::complex<float> _signal_E1[4096];
galileo_e1_gen(_signal_E1, primary_code_E1_chips, _Signal); //generate cboc 12 samples per chip galileo_e1_gen(_signal_E1, primary_code_E1_chips, _Signal); //generate cboc 12 samples per chip
resampler(_signal_E1, _dest, 12 * _codeFreqBasis, _fs, resampler(_signal_E1, _dest, 12 * _codeFreqBasis, _fs,
_codeLength, _samplesPerCode); //resamples code to fs _codeLength, _samplesPerCode); //resamples code to fs
@ -182,7 +182,7 @@ galileo_e1_code_gen_complex_sampled(std::complex<float>* _dest, char _Signal[3],
_codeLength = 2 * Galileo_E1_B_CODE_LENGTH_CHIPS; _codeLength = 2 * Galileo_E1_B_CODE_LENGTH_CHIPS;
if (_fs != 2 * _codeFreqBasis) if (_fs != 2 * _codeFreqBasis)
{ {
std::complex<float> _signal_E1[_codeLength]; std::complex<float> _signal_E1[8192];
galileo_e1_sinboc_11_gen(_signal_E1, primary_code_E1_chips, galileo_e1_sinboc_11_gen(_signal_E1, primary_code_E1_chips,
_codeLength); //generate sinboc(1,1) 2 samples per chip _codeLength); //generate sinboc(1,1) 2 samples per chip
resampler(_signal_E1, _dest, 2 * _codeFreqBasis, _fs, resampler(_signal_E1, _dest, 2 * _codeFreqBasis, _fs,

View File

@ -99,7 +99,7 @@ void gps_l1_ca_code_gen_complex(std::complex<float>* _dest, signed int _prn, uns
/* /*
* code_gen_complex_sampled, generate GPS L1 C/A code complex for the desired SV ID and sampled to specific sampling frequency * Generates complex GPS L1 C/A code for the desired SV ID and sampled to specific sampling frequency
*/ */
void gps_l1_ca_code_gen_complex_sampled(std::complex<float>* _dest, unsigned int _prn, signed int _fs, unsigned int _chip_shift) void gps_l1_ca_code_gen_complex_sampled(std::complex<float>* _dest, unsigned int _prn, signed int _fs, unsigned int _chip_shift)
{ {

View File

@ -37,8 +37,10 @@
#include <iostream> #include <iostream>
#include "GPS_L1_CA.h" #include "GPS_L1_CA.h"
//!Generates complex GPS L1 C/A code for the desired SV ID and code shift, and sampled to specific sampling frequency
void gps_l1_ca_code_gen_complex(std::complex<float>* _dest, signed int _prn, unsigned int _chip_shift); void gps_l1_ca_code_gen_complex(std::complex<float>* _dest, signed int _prn, unsigned int _chip_shift);
//! Generates complex GPS L1 C/A code for the desired SV ID and code shift
void gps_l1_ca_code_gen_complex_sampled(std::complex<float>* _dest, unsigned int _prn, signed int _fs, unsigned int _chip_shift); void gps_l1_ca_code_gen_complex_sampled(std::complex<float>* _dest, unsigned int _prn, signed int _fs, unsigned int _chip_shift);
#endif /* GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_ */ #endif /* GNSS_SDR_GPS_SDR_SIGNAL_PROCESSING_H_ */

View File

@ -43,7 +43,7 @@
#include <cmath> #include <cmath>
/*! /*!
* \brief Implements a conjugate complex exponential vector in std::complex<float> *d_carr_sign * \brief Implements a complex conjugate exponential vector in std::complex<float> *d_carr_sign
* containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements * containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements
* float phase_step_rad. This function uses a SSE CORDIC implementation. * float phase_step_rad. This function uses a SSE CORDIC implementation.
* *
@ -51,7 +51,7 @@
void sse_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad); void sse_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad);
/*! /*!
* \brief Implements a conjugate complex exponential vector in std::complex<float> *d_carr_sign * \brief Implements a complex conjugate exponential vector in std::complex<float> *d_carr_sign
* containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements * containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements
* float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation. * float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation.
* *
@ -59,7 +59,7 @@ void sse_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, flo
void fxp_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad); void fxp_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad);
/*! /*!
* \brief Implements a conjugate complex exponential vector in std::complex<float> *d_carr_sign * \brief Implements a complex conjugate exponential vector in std::complex<float> *d_carr_sign
* containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements * containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements
* float phase_step_rad. This function uses the stdlib sin() and cos() implementation. * float phase_step_rad. This function uses the stdlib sin() and cos() implementation.
* *
@ -68,7 +68,7 @@ void fxp_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, flo
void std_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad); void std_nco(std::complex<float> *dest, int n_samples,float start_phase_rad, float phase_step_rad);
/*! /*!
* \brief Implements a conjugate complex exponential vector in std::complex<float> *d_carr_sign * \brief Implements a complex conjugate exponential vector in std::complex<float> *d_carr_sign
* containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements * containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements
* float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation. * float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation.
* *
@ -78,7 +78,7 @@ void fxp_nco_cpyref(std::complex<float> *dest, int n_samples,float start_phase_r
/*! /*!
* \brief Implements a conjugate complex exponential vector in two separated float arrays (In-phase and Quadrature) * \brief Implements a complex conjugate exponential vector in two separated float arrays (In-phase and Quadrature)
* containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements * containing int n_samples, with the starting phase float start_phase_rad and the pase step between vector elements
* float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation. * float phase_step_rad. This function uses the GNU Radio fixed point CORDIC implementation.
* *

View File

@ -40,6 +40,9 @@
class ConfigurationInterface; class ConfigurationInterface;
/*!
* \brief This class implements a block that connects input and output (does nothing)
*/
class Pass_Through : public GNSSBlockInterface class Pass_Through : public GNSSBlockInterface
{ {
public: public:
@ -53,6 +56,7 @@ public:
{ {
return role_; return role_;
} }
//! returns "Pass_Through"
std::string implementation() std::string implementation()
{ {
return "Pass_Through"; return "Pass_Through";

View File

@ -1,3 +1,13 @@
/*!
* \file sse_mathfun.h
* \brief SIMD (SSE1+MMX or SSE2) implementation of sin, cos, exp and log
*
* The default is to use the SSE1 version. If you define USE_SSE2 the
* SSE2 intrinsics will be used in place of the MMX intrinsics. Do
* not expect any significant performance improvement with SSE2.
* Copyright (C) 2007 Julien Pommier
*/
/* SIMD (SSE1+MMX or SSE2) implementation of sin, cos, exp and log /* SIMD (SSE1+MMX or SSE2) implementation of sin, cos, exp and log
Inspired by Intel Approximate Math library, and based on the Inspired by Intel Approximate Math library, and based on the

View File

@ -39,6 +39,9 @@
class ConfigurationInterface; class ConfigurationInterface;
/*!
* \brief This class implements an ObservablesInterface for GPS L1 C/A
*/
class GpsL1CaObservables : public ObservablesInterface class GpsL1CaObservables : public ObservablesInterface
{ {
public: public:
@ -52,6 +55,8 @@ public:
{ {
return role_; return role_;
} }
//! return "GPS_L1_CA_Observables"
std::string implementation() std::string implementation()
{ {
return "GPS_L1_CA_Observables"; return "GPS_L1_CA_Observables";
@ -63,8 +68,9 @@ public:
void reset() void reset()
{ {
return; return;
}; }
//!< All blocks must have an item_size() function implementation
//! All blocks must have an item_size() function implementation
size_t item_size() size_t item_size()
{ {
return sizeof(gr_complex); return sizeof(gr_complex);

View File

@ -38,6 +38,10 @@
class ConfigurationInterface; class ConfigurationInterface;
/*!
* \brief Interface of an adapter of a direct resampler conditioner block
* to a SignalConditionerInterface
*/
class DirectResamplerConditioner: public GNSSBlockInterface class DirectResamplerConditioner: public GNSSBlockInterface
{ {
public: public:
@ -50,6 +54,7 @@ public:
{ {
return role_; return role_;
} }
//! returns "Direct_Resampler"
std::string implementation() std::string implementation()
{ {
return "Direct_Resampler"; return "Direct_Resampler";

View File

@ -38,6 +38,9 @@
class ConfigurationInterface; class ConfigurationInterface;
/*!
* \brief This class reads samples from a GN3S USB dongle, a RF front-end signal sampler
*/
class Gn3sSignalSource: public GNSSBlockInterface class Gn3sSignalSource: public GNSSBlockInterface
{ {
public: public:

View File

@ -1,7 +1,7 @@
/*! /*!
* \file gps_l1_ca_tcp_connector_tracking.h * \file galileo_e1_tcp_connector_tracking.h
* \brief Interface of an adapter of a TCP connector block based on code DLL + carrier PLL * \brief Interface of an adapter of a TCP connector block based on code DLL + carrier PLL
* for GPS L1 C/A to a TrackingInterface * for Galileo E1 to a TrackingInterface
* \author David Pubill, 2012. dpubill(at)cttc.es * \author David Pubill, 2012. dpubill(at)cttc.es
* Luis Esteve, 2012. luis(at)epsilon-formacion.com * Luis Esteve, 2012. luis(at)epsilon-formacion.com
* Javier Arribas, 2011. jarribas(at)cttc.es * Javier Arribas, 2011. jarribas(at)cttc.es
@ -9,11 +9,11 @@
* Code DLL + carrier PLL according to the algorithms described in: * Code DLL + carrier PLL according to the algorithms described in:
* K.Borre, D.M.Akos, N.Bertelsen, P.Rinder, and S.H.Jensen, * K.Borre, D.M.Akos, N.Bertelsen, P.Rinder, and S.H.Jensen,
* A Software-Defined GPS and Galileo Receiver. A Single-Frequency * A Software-Defined GPS and Galileo Receiver. A Single-Frequency
* Approach, Birkha user, 2007 * Approach, Birkhauser, 2007
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2012-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver
@ -65,6 +65,7 @@ public:
{ {
return role_; return role_;
} }
//! returns "Galileo_E1_TCP_CONNECTOR_Tracking"
std::string implementation() std::string implementation()
{ {
return "Galileo_E1_TCP_CONNECTOR_Tracking"; return "Galileo_E1_TCP_CONNECTOR_Tracking";

View File

@ -1,9 +1,9 @@
/*! /*!
* \file gps_l1_ca_tcp_connector_tracking_cc.h * \file galileo_e1_tcp_connector_tracking_cc.h
* \brief Interface of a TCP connector block based on code DLL + carrier PLL VEML (Very Early * \brief Interface of a TCP connector block based on code DLL + carrier PLL VEML (Very Early
* Minus Late) tracking block for Galileo E1 signals * Minus Late) tracking block for Galileo E1 signals
* \author David Pubill, 2012. dpubill(at)cttc.es * \author David Pubill, 2012. dpubill(at)cttc.es
* Luis Esteve, 2012. luis(at)epsilon-formacion.com * Luis Esteve, 2012. luis(at)epsilon-formacion.com
* Javier Arribas, 2011. jarribas(at)cttc.es * Javier Arribas, 2011. jarribas(at)cttc.es
* *
* Code DLL + carrier PLL according to the algorithms described in: * Code DLL + carrier PLL according to the algorithms described in:
@ -13,7 +13,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver

View File

@ -6,7 +6,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver
@ -40,17 +40,19 @@
#define NUM_TX_VARIABLES_GPS_L1_CA 9 #define NUM_TX_VARIABLES_GPS_L1_CA 9
#define NUM_RX_VARIABLES 4 #define NUM_RX_VARIABLES 4
/*!
* \brief TCP communication class
*/
class tcp_communication class tcp_communication
{ {
public: public:
tcp_communication(); tcp_communication();
~tcp_communication(); ~tcp_communication();
int listen_tcp_connection(size_t d_port_, size_t d_port_ch0_); int listen_tcp_connection(size_t d_port_, size_t d_port_ch0_);
void send_receive_tcp_packet_galileo_e1(boost::array<float, NUM_TX_VARIABLES_GALILEO_E1> buf, tcp_packet_data *tcp_data_); void send_receive_tcp_packet_galileo_e1(boost::array<float, NUM_TX_VARIABLES_GALILEO_E1> buf, tcp_packet_data *tcp_data_);
void send_receive_tcp_packet_gps_l1_ca(boost::array<float, NUM_TX_VARIABLES_GPS_L1_CA> buf, tcp_packet_data *tcp_data_); void send_receive_tcp_packet_gps_l1_ca(boost::array<float, NUM_TX_VARIABLES_GPS_L1_CA> buf, tcp_packet_data *tcp_data_);
void close_tcp_connection(size_t d_port_); void close_tcp_connection(size_t d_port_);
private: private:
boost::asio::io_service io_service_; boost::asio::io_service io_service_;

View File

@ -1,6 +1,6 @@
/*! /*!
* \file tcp_packet_data.h * \file tcp_packet_data.h
* \brief Interface of the TCP packet data class * \brief Interface of the TCP data packet class
* \author David Pubill, 2011. dpubill(at)cttc.es * \author David Pubill, 2011. dpubill(at)cttc.es
* *
* *
@ -32,6 +32,9 @@
#ifndef GNSS_SDR_TCP_PACKET_DATA_H_ #ifndef GNSS_SDR_TCP_PACKET_DATA_H_
#define GNSS_SDR_TCP_PACKET_DATA_H_ #define GNSS_SDR_TCP_PACKET_DATA_H_
/*!
* \brief Class that implements a TCP data packet
*/
class tcp_packet_data class tcp_packet_data
{ {
public: public:

View File

@ -1,5 +1,5 @@
/*! /*!
* \file pseudorange_interface.h * \file observables_interface.h
* \brief This class represents an interface to an Observables block. * \brief This class represents an interface to an Observables block.
* \author Javier Arribas, 2011. jarribas(at)cttc.es * \author Javier Arribas, 2011. jarribas(at)cttc.es
* *
@ -10,7 +10,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver

View File

@ -1,5 +1,5 @@
/*! /*!
* \file navigation_interface.h * \file telemetry_decoder_interface.h
* \brief This class represents an interface to a telemetry decoder block. * \brief This class represents an interface to a telemetry decoder block.
* \author Javier Arribas, 2011. jarribas(at)cttc.es * \author Javier Arribas, 2011. jarribas(at)cttc.es
* *
@ -10,7 +10,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver

View File

@ -51,25 +51,24 @@
#include <map> #include <map>
#include <string> #include <string>
// Read an INI file into easy-to-access name/value pairs. (Note that I've gone /*!
// for simplicity here rather than speed, but it should be pretty decent.) * \brief Read an INI file into easy-to-access name/value pairs. (Note that I've gone
* for simplicity here rather than speed, but it should be pretty decent.)
*/
class INIReader class INIReader
{ {
public: public:
// Construct INIReader and parse given filename. See ini.h for more info //! Construct INIReader and parse given filename. See ini.h for more info about the parsing.
// about the parsing.
INIReader(std::string filename); INIReader(std::string filename);
// Return the result of ini_parse(), i.e., 0 on success, line number of //! Return the result of ini_parse(), i.e., 0 on success, line number of first error on parse error, or -1 on file open error.
// first error on parse error, or -1 on file open error.
int ParseError(); int ParseError();
// Get a string value from INI file, returning default_value if not found. //! Get a string value from INI file, returning default_value if not found.
std::string Get(std::string section, std::string name, std::string Get(std::string section, std::string name,
std::string default_value); std::string default_value);
// Get an integer (long) value from INI file, returning default_value if //! Get an integer (long) value from INI file, returning default_value if not found.
// not found.
long GetInteger(std::string section, std::string name, long default_value); long GetInteger(std::string section, std::string name, long default_value);
private: private:

View File

@ -6,7 +6,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver
@ -35,6 +35,10 @@
#include <string> #include <string>
/*!
* \brief Class that interprets the contents of a string
* and converts it into different types.
*/
class StringConverter class StringConverter
{ {
public: public:

View File

@ -35,6 +35,7 @@
#include <gnuradio/gr_message.h> #include <gnuradio/gr_message.h>
//! Message described by who sent it and what it says
typedef struct ControlMessage_ typedef struct ControlMessage_
{ {
unsigned int who; unsigned int who;

View File

@ -43,6 +43,9 @@
class ConfigurationInterface; class ConfigurationInterface;
class GNSSBlockInterface; class GNSSBlockInterface;
/*!
* \brief Class that produces all kinds of GNSS blocks
*/
class GNSSBlockFactory class GNSSBlockFactory
{ {
public: public:

View File

@ -5,7 +5,7 @@
* *
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
* *
* Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) * Copyright (C) 2010-2013 (see AUTHORS file for a list of contributors)
* *
* GNSS-SDR is a software defined Global Navigation * GNSS-SDR is a software defined Global Navigation
* Satellite Systems receiver * Satellite Systems receiver
@ -493,6 +493,7 @@ void Gnss_Satellite::set_block(std::string system_, unsigned int PRN_ )
} }
if (system_.compare("Galileo") == 0) if (system_.compare("Galileo") == 0)
{ {
// Check http://igs.org/mgex/Status_GAL.htm
switch ( PRN_ ) switch ( PRN_ )
{ {
case 11 : case 11 :
@ -501,6 +502,12 @@ void Gnss_Satellite::set_block(std::string system_, unsigned int PRN_ )
case 12 : case 12 :
block = std::string("IOV"); // Galileo In-Orbit Validation (IOV) satellite FM2 (Flight Model 2) also known as GSAT0102, launched the same day block = std::string("IOV"); // Galileo In-Orbit Validation (IOV) satellite FM2 (Flight Model 2) also known as GSAT0102, launched the same day
break; break;
case 19 :
block = std::string("IOV"); // Galileo In-Orbit Validation (IOV) satellite FM3 (Flight Model 3)
break;
case 20 :
block = std::string("IOV"); // Galileo In-Orbit Validation (IOV) satellite FM4 (Flight Model 4)
break;
default: default:
block = std::string("Unknown"); block = std::string("Unknown");
} }

View File

@ -38,7 +38,7 @@
#include <map> #include <map>
/* /*!
* \brief This class represents a GNSS satellite. * \brief This class represents a GNSS satellite.
* *
* It contains information about the space vehicles currently operational * It contains information about the space vehicles currently operational

View File

@ -34,7 +34,8 @@
#include "gnss_satellite.h" #include "gnss_satellite.h"
#include <string> #include <string>
/*
/*!
* \brief This class represents a GNSS signal. * \brief This class represents a GNSS signal.
* *
* It contains information about the space vehicle and the specific signal. * It contains information about the space vehicle and the specific signal.
@ -48,10 +49,10 @@ public:
Gnss_Signal(); Gnss_Signal();
Gnss_Signal(Gnss_Satellite satellite_, std::string signal_); Gnss_Signal(Gnss_Satellite satellite_, std::string signal_);
~Gnss_Signal(); ~Gnss_Signal();
std::string get_signal() const; std::string get_signal() const; //!< Get the satellite system {"GPS", "GLONASS", "SBAS", "Galileo", "Compass"}
Gnss_Satellite get_satellite() const; Gnss_Satellite get_satellite() const; //!< Get the Gnss_Satellite associated to the signal
friend bool operator== (const Gnss_Signal &, const Gnss_Signal &); // operator== for comparison friend bool operator== (const Gnss_Signal &, const Gnss_Signal &); //!< operator== for comparison
friend std::ostream& operator<<(std::ostream &, const Gnss_Signal &); // operator<< for pretty printing friend std::ostream& operator<<(std::ostream &, const Gnss_Signal &); //!< operator<< for pretty printing
}; };
#endif #endif