Apollo 11.0
自动驾驶开放平台
apollo::drivers::gnss::BroadGnssBaseParser类 参考abstract

#include <broadgnss_base_parser.h>

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

Public 成员函数

 BroadGnssBaseParser ()
 
 BroadGnssBaseParser (const config::Config &config)
 
virtual bool PrepareMessage (const uint8_t &channel)=0
 
virtual void GetMessages (const uint8_t &channel, MessageInfoVec *messages)
 
virtual void GetMessages (MessageInfoVec *messages)
 
- Public 成员函数 继承自 apollo::drivers::gnss::Parser
virtual ~Parser ()
 
void Update (const uint8_t *data, size_t length)
 
void Update (const std::string &data)
 
virtual MessageType GetMessage (MessagePtr *message_ptr)
 
void GetMessagesByChannel (const uint8_t &channel, MessageInfoVec *messages)
 
virtual bool GetInsStat (MessagePtr *message_ptr)
 

Protected 成员函数

void PrepareMessageStatus (const uint8_t &solution_status, const uint8_t &solution_type)
 
- Protected 成员函数 继承自 apollo::drivers::gnss::Parser
 Parser ()
 

Protected 属性

BroadGnssMessage broadgnss_message_
 
- Protected 属性 继承自 apollo::drivers::gnss::Parser
const uint8_t * data_ = nullptr
 
const uint8_t * data_end_ = nullptr
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 apollo::drivers::gnss::Parser
static Parser * CreateNovatel (const config::Config &config)
 
static Parser * CreateHuaCeText (const config::Config &config)
 
static Parser * CreateAsensingBinary (const config::Config &config)
 
static Parser * CreateAsensingCan (const config::Config &config)
 
static Parser * CreateBroadGnssText (const config::Config &config)
 
static Parser * CreateParser (const config::Config &config)
 
static Parser * CreateRtcmV3 (bool is_base_station=false)
 

详细描述

在文件 broadgnss_base_parser.h 第 38 行定义.

构造及析构函数说明

◆ BroadGnssBaseParser() [1/2]

apollo::drivers::gnss::BroadGnssBaseParser::BroadGnssBaseParser ( )
inline

在文件 broadgnss_base_parser.h 第 40 行定义.

40{}

◆ BroadGnssBaseParser() [2/2]

apollo::drivers::gnss::BroadGnssBaseParser::BroadGnssBaseParser ( const config::Config &  config)
explicit

在文件 broadgnss_base_parser.cc 第 33 行定义.

34 : auto_fill_gps_msg_(config.auto_fill_gps_msg()) {}

成员函数说明

◆ GetMessages() [1/2]

void apollo::drivers::gnss::BroadGnssBaseParser::GetMessages ( const uint8_t &  channel,
MessageInfoVec *  messages 
)
virtual

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

在文件 broadgnss_base_parser.cc 第 40 行定义.

41 {
42 if (data_ == nullptr) {
43 return;
44 }
45 if (!PrepareMessage(channel)) {
46 return;
47 }
48
50 FillGnssBestpos();
51 messages->push_back(MessageInfo{MessageType::BEST_GNSS_POS,
52 reinterpret_cast<MessagePtr>(&bestpos_)});
53 return;
54 }
55
57 FillHeading();
58 messages->push_back(MessageInfo{MessageType::HEADING,
59 reinterpret_cast<MessagePtr>(&heading_)});
60 return;
61 }
62
63 if (auto_fill_gps_msg_ && broadgnss_message_.best_latitude < 0 &&
64 bestpos_ratecontrol_.check()) {
65 FillGnssBestpos();
66 messages->push_back(MessageInfo{MessageType::BEST_GNSS_POS,
67 reinterpret_cast<MessagePtr>(&bestpos_)});
68 }
69
70 if (auto_fill_gps_msg_ && broadgnss_message_.gps_heading < -0.1) {
71 FillHeading();
72 messages->push_back(MessageInfo{MessageType::HEADING,
73 reinterpret_cast<MessagePtr>(&heading_)});
74 }
75
76 FillImu();
77 FillIns();
78 FillInsStat();
79 messages->push_back(
80 MessageInfo{MessageType::IMU, reinterpret_cast<MessagePtr>(&imu_)});
81 messages->push_back(
82 MessageInfo{MessageType::INS, reinterpret_cast<MessagePtr>(&ins_)});
83 messages->push_back(MessageInfo{MessageType::INS_STAT,
84 reinterpret_cast<MessagePtr>(&ins_stat_)});
85}
virtual bool PrepareMessage(const uint8_t &channel)=0
const uint8_t * data_
Definition parser.h:145
::google::protobuf::Message * MessagePtr
Definition parser.h:34
constexpr char BESTPOSA_MESSAGE_ID[]
constexpr char HEADINGA_MESSAGE_ID[]

◆ GetMessages() [2/2]

void apollo::drivers::gnss::BroadGnssBaseParser::GetMessages ( MessageInfoVec *  messages)
virtual

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

在文件 broadgnss_base_parser.cc 第 36 行定义.

36 {
37 return GetMessages(0, messages);
38}
virtual void GetMessages(const uint8_t &channel, MessageInfoVec *messages)

◆ PrepareMessage()

virtual bool apollo::drivers::gnss::BroadGnssBaseParser::PrepareMessage ( const uint8_t &  channel)
pure virtual

◆ PrepareMessageStatus()

void apollo::drivers::gnss::BroadGnssBaseParser::PrepareMessageStatus ( const uint8_t &  solution_status,
const uint8_t &  solution_type 
)
protected

在文件 broadgnss_base_parser.cc 第 87 行定义.

88 {
89 switch (solution_status) {
90 case 0:
92 break;
93 case 1:
94 case 2:
95 case 3:
97 break;
98 case 4:
100 break;
101 default:
103 }
104 switch (solution_type) {
105 case 0:
107 break;
108 case 1:
109 case 2:
110 case 3:
111 case 6:
113 break;
114 case 4:
116 break;
117 case 5:
119 break;
120 default:
122 }
123}

类成员变量说明

◆ broadgnss_message_

BroadGnssMessage apollo::drivers::gnss::BroadGnssBaseParser::broadgnss_message_
protected

在文件 broadgnss_base_parser.h 第 51 行定义.


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