Apollo
11.0
自动驾驶开放平台
asensing_base_parser.cc
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2017 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
#include "
modules/drivers/gnss/parser/asensing_parser/asensing_base_parser.h
"
17
18
#include <cmath>
19
#include <iostream>
20
#include <limits>
21
#include <memory>
22
#include <vector>
23
24
namespace
apollo
{
25
namespace
drivers {
26
namespace
gnss {
27
28
AsensingBaseParser::AsensingBaseParser
(
const
config::Config
&config)
29
: auto_fill_gps_msg_(config.auto_fill_gps_msg()) {}
30
31
void
AsensingBaseParser::GetMessages
(
MessageInfoVec
*messages) {
32
if
(
data_
==
nullptr
) {
33
return
;
34
}
35
if
(!
PrepareMessage
()) {
36
return
;
37
}
38
39
FillGnssBestpos
();
40
FillImu
();
41
FillHeading
();
42
FillIns
();
43
FillInsStat
();
44
45
if
(
bestpos_ratecontrol_
.
check
()) {
46
messages->push_back(
MessageInfo
{
MessageType::BEST_GNSS_POS
,
47
reinterpret_cast<
MessagePtr
>
(&
bestpos_
)});
48
}
49
messages->push_back(
50
MessageInfo
{
MessageType::IMU
,
reinterpret_cast<
MessagePtr
>
(&
imu_
)});
51
messages->push_back(
MessageInfo
{
MessageType::HEADING
,
52
reinterpret_cast<
MessagePtr
>
(&
heading_
)});
53
messages->push_back(
54
MessageInfo
{
MessageType::INS
,
reinterpret_cast<
MessagePtr
>
(&
ins_
)});
55
messages->push_back(
MessageInfo
{
MessageType::INS_STAT
,
56
reinterpret_cast<
MessagePtr
>
(&
ins_stat_
)});
57
}
58
59
}
// namespace gnss
60
}
// namespace drivers
61
}
// namespace apollo
asensing_base_parser.h
apollo::drivers::gnss::AsensingBaseParser::FillHeading
virtual void FillHeading()=0
apollo::drivers::gnss::AsensingBaseParser::ins_stat_
InsStat ins_stat_
Definition
asensing_base_parser.h:63
apollo::drivers::gnss::AsensingBaseParser::GetMessages
virtual void GetMessages(MessageInfoVec *messages)
Definition
asensing_base_parser.cc:31
apollo::drivers::gnss::AsensingBaseParser::FillImu
virtual void FillImu()=0
apollo::drivers::gnss::AsensingBaseParser::FillIns
virtual void FillIns()=0
apollo::drivers::gnss::AsensingBaseParser::FillInsStat
virtual void FillInsStat()=0
apollo::drivers::gnss::AsensingBaseParser::bestpos_
GnssBestPose bestpos_
Definition
asensing_base_parser.h:57
apollo::drivers::gnss::AsensingBaseParser::AsensingBaseParser
AsensingBaseParser()
Definition
asensing_base_parser.h:41
apollo::drivers::gnss::AsensingBaseParser::bestpos_ratecontrol_
RateControl bestpos_ratecontrol_
Definition
asensing_base_parser.h:59
apollo::drivers::gnss::AsensingBaseParser::imu_
Imu imu_
Definition
asensing_base_parser.h:60
apollo::drivers::gnss::AsensingBaseParser::FillGnssBestpos
virtual void FillGnssBestpos()=0
apollo::drivers::gnss::AsensingBaseParser::heading_
Heading heading_
Definition
asensing_base_parser.h:61
apollo::drivers::gnss::AsensingBaseParser::PrepareMessage
virtual bool PrepareMessage()=0
apollo::drivers::gnss::AsensingBaseParser::ins_
Ins ins_
Definition
asensing_base_parser.h:62
apollo::drivers::gnss::Parser::data_
const uint8_t * data_
Definition
parser.h:145
apollo::drivers::gnss::RateControl::check
bool check()
Definition
parser_common.h:58
apollo::drivers::gnss::MessagePtr
::google::protobuf::Message * MessagePtr
Definition
parser.h:34
apollo::drivers::gnss::MessageType::BEST_GNSS_POS
@ BEST_GNSS_POS
apollo::drivers::gnss::MessageType::INS_STAT
@ INS_STAT
apollo::drivers::gnss::MessageType::INS
@ INS
apollo::drivers::gnss::MessageType::IMU
@ IMU
apollo::drivers::gnss::MessageType::HEADING
@ HEADING
apollo::drivers::gnss::MessageInfoVec
std::vector< MessageInfo > MessageInfoVec
Definition
parser.h:57
apollo
class register implement
Definition
arena_queue.h:37
apollo::drivers::gnss::MessageInfo
Definition
parser.h:53
apollo::drivers::gnss::config::Config
Definition
config.proto:100
modules
drivers
gnss
parser
asensing_parser
asensing_base_parser.cc