Main MRPT website > C++ reference for MRPT 1.9.9
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-2018, 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
21  * frames to enable RTCM 3.0.
22  * This class holds instances of two classes, publicly exposed as member
23  * variables:
24  * - mrpt::hwdrivers::CGPSInterface gps;
25  * - mrpt::hwdrivers::CNTRIPEmitter ntrip;
26  *
27  * and acts as a "joint sensor", calling both objects' doProcess() inside the
28  * doProcess() loop, etc.
29  *
30  * The goal of this class is automatically gather GGA frames from the gps
31  * sensor and upload them to the NTRIP server.
32  *
33  * Configuration file format is a combination of the original parameters for
34  * both classes, each with
35  * a prefix: "gps_" for CGPSInterface params and "ntrip_" for CNTRIPEmitter.
36  *
37  * \code
38  * PARAMETERS IN THE ".INI"-LIKE CONFIGURATION STRINGS:
39  * -------------------------------------------------------
40  * [supplied_section_name]
41  * gps_COM_port_WIN = COM3
42  * gps_COM_port_LIN = ttyS0
43  * gps_baudRate = 4800 // The baudrate of the communications (typ.
44  * 4800 bauds)
45  * gps_pose_x = 0 // 3D position of the sensed point relative to
46  * the robot (meters)
47  * gps_pose_y = 0
48  * gps_pose_z = 0
49  * # Other params (see CGPSInterface)
50  *
51  * ntrip_COM_port_WIN = COM1 // Serial port where the NTRIP stream
52  * will be dumped to.
53  * ntrip_COM_port_LIN = ttyUSB0
54  * ntrip_baudRate = 38400
55  *
56  * ntrip_server = 143.123.9.129 // NTRIP caster IP
57  * ntrip_port = 2101
58  * ntrip_mountpoint = MYPOINT23
59  * #ntrip_user = pepe // User & password optional.
60  * #ntrip_password = loco
61  *
62  * \endcode
63  *
64  * The next picture summarizes existing MRPT classes related to GPS / GNSS
65  * devices (CGPSInterface, CNTRIPEmitter, CGPS_NTRIP):
66  *
67  * <div align=center> <img src="mrpt_gps_classes_usage.png"> </div>
68  *
69  * \note Verbose debug info will be dumped to cout if the environment variable
70  * "MRPT_HWDRIVERS_VERBOSE" is set to "1", or if you call
71  * CGenericSensor::enableVerbose(true)
72  *
73  * \ingroup mrpt_hwdrivers_grp
74  * \sa CGPSInterface, CNTRIPEmitter
75  */
76 class CGPS_NTRIP : public CGenericSensor
77 {
79 
80  public:
83 
84  /** Constructor */
85  CGPS_NTRIP();
86  /** Destructor */
87  virtual ~CGPS_NTRIP();
88 
89  void doProcess(); // See docs in parent class
90 
91  virtual void initialize();
92 
93  protected:
94  /** See the class documentation at the top for expected parameters */
96  const mrpt::config::CConfigFileBase& configSource,
97  const std::string& iniSection);
98 }; // end class
99 
100 } // end namespace
101 } // end namespace
mrpt::hwdrivers::CGPS_NTRIP::~CGPS_NTRIP
virtual ~CGPS_NTRIP()
Destructor.
Definition: CGPS_NTRIP.cpp:27
CNTRIPEmitter.h
mrpt::hwdrivers::CNTRIPEmitter
This "virtual driver" encapsulates a NTRIP client (see CNTRIPClient) but adds the functionality of du...
Definition: CNTRIPEmitter.h:64
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:145
mrpt::hwdrivers::CGPS_NTRIP::loadConfig_sensorSpecific
void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
Definition: CGPS_NTRIP.cpp:68
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
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:314
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.
Definition: CGPS_NTRIP.cpp:28
mrpt::hwdrivers::CGPS_NTRIP
A combination of GPS receiver + NTRIP receiver capable of submitting GGA frames to enable RTCM 3....
Definition: CGPS_NTRIP.h:76
mrpt::hwdrivers::CGPS_NTRIP::CGPS_NTRIP
CGPS_NTRIP()
Constructor.
Definition: CGPS_NTRIP.cpp:25
mrpt::config::CConfigFileBase
This class allows loading and storing values and vectors of different types from a configuration text...
Definition: config/CConfigFileBase.h:44
CGenericSensor.h
mrpt::hwdrivers::CGPS_NTRIP::gps
mrpt::hwdrivers::CGPSInterface gps
Definition: CGPS_NTRIP.h:81
mrpt::hwdrivers::CGenericSensor
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
Definition: CGenericSensor.h:70
string
GLsizei const GLchar ** string
Definition: glext.h:4101
mrpt::hwdrivers::CGPS_NTRIP::doProcess
void doProcess()
This method will be invoked at a minimum rate of "process_rate" (Hz)
Definition: CGPS_NTRIP.cpp:35
CGPSInterface.h
mrpt::hwdrivers::CGPS_NTRIP::ntrip
mrpt::hwdrivers::CNTRIPEmitter ntrip
Definition: CGPS_NTRIP.h:82



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST