Apollo 10.0
自动驾驶开放平台
apollo::drivers::gnss::Rtcm3Parser类 参考

#include <rtcm3_parser.h>

类 apollo::drivers::gnss::Rtcm3Parser 继承关系图:
apollo::drivers::gnss::Rtcm3Parser 的协作图:

Public 成员函数

 Rtcm3Parser (bool is_base_satation)
 
virtual MessageType GetMessage (MessagePtr *message_ptr)
 
- Public 成员函数 继承自 apollo::drivers::gnss::Parser
virtual ~Parser ()
 
void Update (const uint8_t *data, size_t length)
 
void Update (const std::string &data)
 
virtual void GetMessages (MessageInfoVec *messages)
 
virtual bool GetInsStat (MessagePtr *message_ptr)
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 apollo::drivers::gnss::Parser
static ParserCreateNovatel (const config::Config &config)
 
static ParserCreateHuaCeText (const config::Config &config)
 
static ParserCreateAsensing (const config::Config &config)
 
static ParserCreateBroadGnssText (const config::Config &config)
 
static ParserCreateEnbroad (const config::Config &config)
 
static ParserCreateForsenseText (const config::Config &config)
 
static ParserCreateParser (const config::Config &config)
 
static ParserCreateRtcmV3 (bool is_base_station=false)
 
- Protected 成员函数 继承自 apollo::drivers::gnss::Parser
 Parser ()
 
- Protected 属性 继承自 apollo::drivers::gnss::Parser
const uint8_t * data_ = nullptr
 
const uint8_t * data_end_ = nullptr
 

详细描述

在文件 rtcm3_parser.h37 行定义.

构造及析构函数说明

◆ Rtcm3Parser()

apollo::drivers::gnss::Rtcm3Parser::Rtcm3Parser ( bool  is_base_satation)
explicit

在文件 rtcm3_parser.cc39 行定义.

39 {
40 if (1 != init_rtcm(&rtcm_)) {
41 init_flag_ = true;
42 } else {
43 init_flag_ = false;
44 }
45
46 ephemeris_.Clear();
47 observation_.Clear();
48 is_base_station_ = is_base_station;
49}

成员函数说明

◆ GetMessage()

MessageType apollo::drivers::gnss::Rtcm3Parser::GetMessage ( MessagePtr message_ptr)
virtual

重载 apollo::drivers::gnss::Parser .

在文件 rtcm3_parser.cc155 行定义.

155 {
156 if (data_ == nullptr) {
157 return MessageType::NONE;
158 }
159
160 while (data_ < data_end_) {
161 const int status = input_rtcm3(&rtcm_, *data_++); // parse data use rtklib
162
163 switch (status) {
164 case 1: // observation data
165 if (ProcessObservation()) {
166 *message_ptr = &observation_;
168 }
169 break;
170
171 case 2: // ephemeris
172 if (ProcessEphemerides()) {
173 *message_ptr = &ephemeris_;
175 }
176 break;
177
178 case 5:
179 ProcessStationParameters();
180 break;
181
182 case 10: // ssr messages
183 default:
184 break;
185 }
186 }
187
188 return MessageType::NONE;
189}
const uint8_t * data_
Definition parser.h:138
const uint8_t * data_end_
Definition parser.h:139

该类的文档由以下文件生成: