10 #ifndef CGPSInterface_H 11 #define CGPSInterface_H 129 bool isGPS_connected();
130 bool isGPS_signalAcquired();
134 void setSerialPortName(
const std::string &COM_port);
137 void setParser(PARSERS parser);
138 PARSERS getParser()
const;
152 void setSetupCommandsDelay(
const double delay_secs);
153 double getSetupCommandsDelay()
const;
155 void setSetupCommands(
const std::vector<std::string> &cmds);
156 const std::vector<std::string> & getSetupCommands()
const;
158 void setShutdownCommands(
const std::vector<std::string> &cmds);
159 const std::vector<std::string> & getShutdownCommands()
const;
161 void enableSetupCommandsAppendCRLF(
const bool enable);
162 bool isEnabledSetupCommandsAppendCRLF()
const;
172 bool sendCustomCommand(
const void*
data,
const size_t datalen);
188 typedef bool (
CGPSInterface::*ptr_parser_t)(
size_t &out_minimum_rx_buf_to_decide);
193 bool implement_parser_NMEA(
size_t &out_minimum_rx_buf_to_decide);
194 bool implement_parser_NOVATEL_OEM6(
size_t &out_minimum_rx_buf_to_decide);
200 bool OnConnectionEstablished();
201 bool OnConnectionShutdown();
203 bool legacy_topcon_setup_commands();
213 void loadConfig_sensorSpecific(
229 bool setJAVAD_AIM_mode();
232 bool unsetJAVAD_AIM_mode();
258 void JAVAD_sendMessage(
const char*str,
bool waitForAnswer =
true);
263 bool tryToOpenTheCOM();
267 void flushParsedMessagesNow();
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
This class provides simple critical sections functionality.
mrpt::utils::CStream * m_data_stream
Typically a CSerialPort created by this class, but may be set externally.
PARSERS
Read about parser selection in the documentation for CGPSInterface.
A class capable of reading GPS/GNSS/GNSS+IMU receiver data, from a serial port or from any input stre...
double m_custom_cmds_delay
void setJAVAD_rtk_src_baud(unsigned int baud)
Only used when "m_JAVAD_rtk_src_port" is not empty.
poses::CPose3D m_sensorPose
static void fill(bimap< enum_t, std::string > &m_map)
mrpt::obs::CObservationGPS m_just_parsed_messages
A private copy of the last received gps datum.
bool m_sensorLabelAppendMsgType
bool m_topcon_AIMConfigured
Indicates if the AIM has been properly set up.
Only specializations of this class are defined for each enum type of interest.
std::string m_raw_dump_file_prefix
unsigned int m_JAVAD_rtk_src_baud
Only used when "m_JAVAD_rtk_src_port" is not empty.
std::string m_JAVAD_rtk_src_port
If not empty, will send a cmd "set,/par/pos/pd/port,...". Example value: "/dev/ser/b".
void setJAVAD_rtk_format(const std::string &s)
Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc.
This class allows loading and storing values and vectors of different types from a configuration text...
std::string getRawDumpFilePrefix() const
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
This CStream derived class allow using a file as a write-only, binary stream.
bool useExternalStream() const
int const JOCTET unsigned int datalen
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
std::string m_JAVAD_rtk_format
Only used when "m_JAVAD_rtk_src_port" is not empty: format of RTK corrections: "cmr", "rtcm", "rtcm3", etc.
mrpt::utils::circular_buffer< uint8_t > m_rx_buffer
Auxiliary buffer for readings.
GLsizei const GLchar ** string
std::vector< std::string > m_setup_cmds
bool m_custom_cmds_append_CRLF
bool m_data_stream_is_external
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
void setJAVAD_rtk_src_port(const std::string &s)
If not empty, will send a cmd "set,/par/pos/pd/port,...".
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::utils::CFileOutputStream m_raw_output_file
double m_topcon_data_period
The period in seconds which the data should be provided by the GPS.
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
mrpt::system::TTimeStamp m_last_timestamp
mrpt::synch::CCriticalSection * m_data_stream_cs
std::vector< std::string > m_shutdown_cmds
This class stores messages from GNSS or GNSS+IMU devices, from consumer-grade inexpensive GPS receive...
GLsizei GLsizei GLenum GLenum const GLvoid * data
std::string m_last_GGA
Used in getLastGGA()
bool m_topcon_useAIMMode
Use this mode for receive RTK corrections from a external source through the primary port...
hwdrivers::CGPSInterface::PARSERS enum_t
void setRawDumpFilePrefix(const std::string &filePrefix)
If set to non-empty, RAW GPS serial data will be also dumped to a separate file.
bool useExternCOM() const
void enableAppendMsgTypeToSensorLabel(bool enable)