Classes | Namespaces | Macros | Enumerations | Variables
rx_message.hpp File Reference

Defines a class that reads messages handed over from the circular buffer. More...

#include <cassert>
#include <cstddef>
#include <map>
#include <sstream>
#include <boost/call_traits.hpp>
#include <boost/format.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/tokenizer.hpp>
#include <septentrio_gnss_driver/abstraction/typedefs.hpp>
#include <septentrio_gnss_driver/crc/crc.h>
#include <septentrio_gnss_driver/parsers/nmea_parsers/gpgga.hpp>
#include <septentrio_gnss_driver/parsers/nmea_parsers/gpgsa.hpp>
#include <septentrio_gnss_driver/parsers/nmea_parsers/gpgsv.hpp>
#include <septentrio_gnss_driver/parsers/nmea_parsers/gprmc.hpp>
#include <septentrio_gnss_driver/parsers/string_utilities.h>
Include dependency graph for rx_message.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  io_comm_rx::RxMessage
 Can search buffer for messages, read/parse them, and so on. More...
 

Namespaces

 io_comm_rx
 

Macros

#define CARRIAGE_RETURN   0x0D
 0x0D is ASCII for "Carriage Return", i.e. "Enter" More...
 
#define CONNECTION_DESCRIPTOR_BYTE_1   0x49
 
#define CONNECTION_DESCRIPTOR_BYTE_2   0x50
 
#define LINE_FEED   0x0A
 0x0A is ASCII for "Line Feed", i.e. "New Line" More...
 
#define NMEA_SYNC_BYTE_1   0x24
 0x24 is ASCII for $ - 1st byte in each message More...
 
#define NMEA_SYNC_BYTE_2_1   0x47
 0x47 is ASCII for G - 2nd byte to indicate NMEA-type ASCII message More...
 
#define NMEA_SYNC_BYTE_2_2   0x50
 0x50 is ASCII for P - 2nd byte to indicate proprietary ASCII message More...
 
#define RESPONSE_SYNC_BYTE_1   0x24
 0x24 is ASCII for $ - 1st byte in each response from the Rx More...
 
#define RESPONSE_SYNC_BYTE_2   0x52
 0x52 is ASCII for R (for "Response") - 2nd byte in each response from the Rx More...
 
#define RESPONSE_SYNC_BYTE_3   0x3F
 
#define RX_MESSAGE_HPP
 

Enumerations

enum  RxID_Enum {
  evNavSatFix, evINSNavSatFix, evGPSFix, evINSGPSFix,
  evPoseWithCovarianceStamped, evINSPoseWithCovarianceStamped, evGPGGA, evGPRMC,
  evGPGSA, evGPGSV, evGLGSV, evGAGSV,
  evPVTCartesian, evPVTGeodetic, evBaseVectorCart, evBaseVectorGeod,
  evPosCovCartesian, evPosCovGeodetic, evAttEuler, evAttCovEuler,
  evINSNavCart, evINSNavGeod, evIMUSetup, evVelSensorSetup,
  evExtEventINSNavGeod, evExtEventINSNavCart, evExtSensorMeas, evGPST,
  evChannelStatus, evMeasEpoch, evDOP, evVelCovGeodetic,
  evDiagnosticArray, evLocalization, evReceiverStatus, evQualityInd,
  evReceiverTime, evReceiverSetup
}
 
enum  TypeOfPVT_Enum {
  evNoPVT, evStandAlone, evDGPS, evFixed,
  evRTKFixed, evRTKFloat, evSBAS, evMovingBaseRTKFixed,
  evMovingBaseRTKFloat, evPPP
}
 

Variables

uint32_t g_cd_count
 
bool g_read_cd
 

Detailed Description

Defines a class that reads messages handed over from the circular buffer.

Date
20/08/20

Definition in file rx_message.hpp.

Macro Definition Documentation

◆ CARRIAGE_RETURN

#define CARRIAGE_RETURN   0x0D

0x0D is ASCII for "Carriage Return", i.e. "Enter"

Definition at line 81 of file rx_message.hpp.

◆ CONNECTION_DESCRIPTOR_BYTE_1

#define CONNECTION_DESCRIPTOR_BYTE_1   0x49

0x49 is ASCII for I - 1st character of connection descriptor sent by the Rx after initiating TCP connection

Definition at line 95 of file rx_message.hpp.

◆ CONNECTION_DESCRIPTOR_BYTE_2

#define CONNECTION_DESCRIPTOR_BYTE_2   0x50

0x50 is ASCII for P - 2nd character of connection descriptor sent by the Rx after initiating TCP connection

Definition at line 100 of file rx_message.hpp.

◆ LINE_FEED

#define LINE_FEED   0x0A

0x0A is ASCII for "Line Feed", i.e. "New Line"

Definition at line 85 of file rx_message.hpp.

◆ NMEA_SYNC_BYTE_1

#define NMEA_SYNC_BYTE_1   0x24

0x24 is ASCII for $ - 1st byte in each message

Definition at line 61 of file rx_message.hpp.

◆ NMEA_SYNC_BYTE_2_1

#define NMEA_SYNC_BYTE_2_1   0x47

0x47 is ASCII for G - 2nd byte to indicate NMEA-type ASCII message

Definition at line 65 of file rx_message.hpp.

◆ NMEA_SYNC_BYTE_2_2

#define NMEA_SYNC_BYTE_2_2   0x50

0x50 is ASCII for P - 2nd byte to indicate proprietary ASCII message

Definition at line 69 of file rx_message.hpp.

◆ RESPONSE_SYNC_BYTE_1

#define RESPONSE_SYNC_BYTE_1   0x24

0x24 is ASCII for $ - 1st byte in each response from the Rx

Definition at line 73 of file rx_message.hpp.

◆ RESPONSE_SYNC_BYTE_2

#define RESPONSE_SYNC_BYTE_2   0x52

0x52 is ASCII for R (for "Response") - 2nd byte in each response from the Rx

Definition at line 77 of file rx_message.hpp.

◆ RESPONSE_SYNC_BYTE_3

#define RESPONSE_SYNC_BYTE_3   0x3F

0x3F is ASCII for ? - 3rd byte in the response message from the Rx in case the command was invalid

Definition at line 90 of file rx_message.hpp.

◆ RX_MESSAGE_HPP

#define RX_MESSAGE_HPP

Definition at line 123 of file rx_message.hpp.

Enumeration Type Documentation

◆ RxID_Enum

enum RxID_Enum

Since switch only works with int (yet NMEA message IDs are strings), we need enum. Note drawbacks: No variable can have a name which is already in some enumeration, enums are not type safe etc..

Enumerator
evNavSatFix 
evINSNavSatFix 
evGPSFix 
evINSGPSFix 
evPoseWithCovarianceStamped 
evINSPoseWithCovarianceStamped 
evGPGGA 
evGPRMC 
evGPGSA 
evGPGSV 
evGLGSV 
evGAGSV 
evPVTCartesian 
evPVTGeodetic 
evBaseVectorCart 
evBaseVectorGeod 
evPosCovCartesian 
evPosCovGeodetic 
evAttEuler 
evAttCovEuler 
evINSNavCart 
evINSNavGeod 
evIMUSetup 
evVelSensorSetup 
evExtEventINSNavGeod 
evExtEventINSNavCart 
evExtSensorMeas 
evGPST 
evChannelStatus 
evMeasEpoch 
evDOP 
evVelCovGeodetic 
evDiagnosticArray 
evLocalization 
evReceiverStatus 
evQualityInd 
evReceiverTime 
evReceiverSetup 

Definition at line 153 of file rx_message.hpp.

◆ TypeOfPVT_Enum

Enum for NavSatFix's status.status field, which is obtained from PVTGeodetic's Mode field

Enumerator
evNoPVT 
evStandAlone 
evDGPS 
evFixed 
evRTKFixed 
evRTKFloat 
evSBAS 
evMovingBaseRTKFixed 
evMovingBaseRTKFloat 
evPPP 

Definition at line 136 of file rx_message.hpp.

Variable Documentation

◆ g_cd_count

uint32_t g_cd_count

Since after SSSSSSSSSSS we need to wait for second connection descriptor, we have to count the connection descriptors

Definition at line 120 of file communication_core.cpp.

◆ g_read_cd

bool g_read_cd

Whether or not we still want to read the connection descriptor, which we only want in the very beginning to know whether it is IP10, IP11 etc.

Definition at line 115 of file communication_core.cpp.



septentrio_gnss_driver
Author(s): Tibor Dome
autogenerated on Sat Mar 11 2023 03:12:56