Main MRPT website > C++ reference for MRPT 1.4.0
CGPS_NTRIP.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
15 
16 namespace mrpt
17 {
18  namespace hwdrivers
19  {
20  /** A combination of GPS receiver + NTRIP receiver capable of submitting GGA frames to enable RTCM 3.0.
21  * This class holds instances of two classes, publicly exposed as member variables:
22  * - mrpt::hwdrivers::CGPSInterface gps;
23  * - mrpt::hwdrivers::CNTRIPEmitter ntrip;
24  *
25  * and acts as a "joint sensor", calling both objects' doProcess() inside the doProcess() loop, etc.
26  *
27  * The goal of this class is automatically gather GGA frames from the gps sensor and upload them to the NTRIP server.
28  *
29  * Configuration file format is a combination of the original parameters for both classes, each with
30  * a prefix: "gps_" for CGPSInterface params and "ntrip_" for CNTRIPEmitter.
31  *
32  * \code
33  * PARAMETERS IN THE ".INI"-LIKE CONFIGURATION STRINGS:
34  * -------------------------------------------------------
35  * [supplied_section_name]
36  * gps_COM_port_WIN = COM3
37  * gps_COM_port_LIN = ttyS0
38  * gps_baudRate = 4800 // The baudrate of the communications (typ. 4800 bauds)
39  * gps_pose_x = 0 // 3D position of the sensed point relative to the robot (meters)
40  * gps_pose_y = 0
41  * gps_pose_z = 0
42  * # Other params (see CGPSInterface)
43  *
44  * ntrip_COM_port_WIN = COM1 // Serial port where the NTRIP stream will be dumped to.
45  * ntrip_COM_port_LIN = ttyUSB0
46  * ntrip_baudRate = 38400
47  *
48  * ntrip_server = 143.123.9.129 // NTRIP caster IP
49  * ntrip_port = 2101
50  * ntrip_mountpoint = MYPOINT23
51  * #ntrip_user = pepe // User & password optional.
52  * #ntrip_password = loco
53  *
54  * \endcode
55  *
56  * The next picture summarizes existing MRPT classes related to GPS / GNSS devices (CGPSInterface, CNTRIPEmitter, CGPS_NTRIP):
57  *
58  * <div align=center> <img src="mrpt_gps_classes_usage.png"> </div>
59  *
60  * \note Verbose debug info will be dumped to cout if the environment variable "MRPT_HWDRIVERS_VERBOSE" is set to "1", or if you call CGenericSensor::enableVerbose(true)
61  *
62  * \ingroup mrpt_hwdrivers_grp
63  * \sa CGPSInterface, CNTRIPEmitter
64  */
66  {
68 
69  public:
72 
73  CGPS_NTRIP(); //!< Constructor
74  virtual ~CGPS_NTRIP(); //!< Destructor
75 
76  void doProcess(); // See docs in parent class
77 
78  virtual void initialize();
79  protected:
80  /** See the class documentation at the top for expected parameters */
81  void loadConfig_sensorSpecific( const mrpt::utils::CConfigFileBase &configSource, const std::string &iniSection );
82  }; // end class
83 
84  } // end namespace
85 } // end namespace
CNTRIPEmitter.h
mrpt::hwdrivers::CNTRIPEmitter
This "virtual driver" encapsulates a NTRIP client (see CNTRIPClient) but adds the functionality of du...
Definition: CNTRIPEmitter.h:52
mrpt::hwdrivers::CGPSInterface
A class capable of reading GPS/GNSS/GNSS+IMU receiver data, from a serial port or from any input stre...
Definition: CGPSInterface.h:111
mrpt::hwdrivers::CGPS_NTRIP::~CGPS_NTRIP
virtual ~CGPS_NTRIP()
Destructor.
mrpt::hwdrivers::CGPS_NTRIP::initialize
virtual void initialize()
This method can or cannot be implemented in the derived class, depending on the need for it.
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CParticleFilter.h:17
DEFINE_GENERIC_SENSOR
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
Definition: CGenericSensor.h:251
mrpt::hwdrivers::CGPS_NTRIP
A combination of GPS receiver + NTRIP receiver capable of submitting GGA frames to enable RTCM 3....
Definition: CGPS_NTRIP.h:66
mrpt::hwdrivers::CGPS_NTRIP::loadConfig_sensorSpecific
void loadConfig_sensorSpecific(const mrpt::utils::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
mrpt::utils::CConfigFileBase
This class allows loading and storing values and vectors of different types from a configuration text...
Definition: CConfigFileBase.h:31
CGenericSensor.h
mrpt::hwdrivers::CGPS_NTRIP::gps
mrpt::hwdrivers::CGPSInterface gps
Definition: CGPS_NTRIP.h:70
mrpt::hwdrivers::CGenericSensor
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
Definition: CGenericSensor.h:64
mrpt::hwdrivers::CGPS_NTRIP::CGPS_NTRIP
CGPS_NTRIP()
Constructor.
HWDRIVERS_IMPEXP
#define HWDRIVERS_IMPEXP
Definition: hwdrivers_impexp.h:82
CGPSInterface.h
mrpt::hwdrivers::CGPS_NTRIP::ntrip
mrpt::hwdrivers::CNTRIPEmitter ntrip
Definition: CGPS_NTRIP.h:71
mrpt::hwdrivers::CGPS_NTRIP::doProcess
void doProcess()
This method will be invoked at a minimum rate of "process_rate" (Hz)



Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020