Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
58b13985
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
58b13985
编写于
9月 16, 2018
作者:
D
dengchengliang
提交者:
fengqikai1414
9月 17, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Drivers: add eph and obs writer in rtcm parser
上级
2c490b52
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
11 deletion
+36
-11
modules/drivers/gnss/parser/rtcm_parser.cc
modules/drivers/gnss/parser/rtcm_parser.cc
+17
-6
modules/drivers/gnss/parser/rtcm_parser.h
modules/drivers/gnss/parser/rtcm_parser.h
+18
-4
modules/drivers/gnss/stream/raw_stream.cc
modules/drivers/gnss/stream/raw_stream.cc
+1
-1
未找到文件。
modules/drivers/gnss/parser/rtcm_parser.cc
浏览文件 @
58b13985
...
...
@@ -32,6 +32,11 @@ namespace gnss {
using
::
apollo
::
drivers
::
gnss
::
EpochObservation
;
using
::
apollo
::
drivers
::
gnss
::
GnssEphemeris
;
RtcmParser
::
RtcmParser
(
const
config
::
Config
&
config
,
const
std
::
shared_ptr
<
Node
>
&
node
)
:
config_
(
config
),
node_
(
node
)
{
}
bool
RtcmParser
::
Init
()
{
rtcm_parser_
.
reset
(
new
Rtcm3Parser
(
true
));
...
...
@@ -40,6 +45,11 @@ bool RtcmParser::Init() {
return
false
;
}
gnssephemeris_writer_
=
node_
->
CreateWriter
<
GnssEphemeris
>
(
config_
.
gnssephemeris_channel_name
());
epochobservation_writer_
=
node_
->
CreateWriter
<
EpochObservation
>
(
config_
.
epochobservation_channel_name
());
inited_flag_
=
true
;
return
true
;
}
...
...
@@ -75,14 +85,15 @@ void RtcmParser::DispatchMessage(Parser::MessageType type, MessagePtr message) {
}
}
void
RtcmParser
::
PublishEphemeris
(
const
MessagePtr
message
)
{
GnssEphemeris
eph
=
*
As
<
GnssEphemeris
>
(
message
);
// AdapterManager::PublishGnssRtkEph
(eph);
void
RtcmParser
::
PublishEphemeris
(
const
MessagePtr
&
message
)
{
auto
eph
=
std
::
make_shared
<
GnssEphemeris
>
(
*
As
<
GnssEphemeris
>
(
message
)
);
gnssephemeris_writer_
->
Write
(
eph
);
}
void
RtcmParser
::
PublishObservation
(
const
MessagePtr
message
)
{
EpochObservation
observation
=
*
As
<
EpochObservation
>
(
message
);
// AdapterManager::PublishGnssRtkObs(observation);
void
RtcmParser
::
PublishObservation
(
const
MessagePtr
&
message
)
{
auto
observation
=
std
::
make_shared
<
EpochObservation
>
(
*
As
<
EpochObservation
>
(
message
));
epochobservation_writer_
->
Write
(
observation
);
}
}
// namespace gnss
...
...
modules/drivers/gnss/parser/rtcm_parser.h
浏览文件 @
58b13985
...
...
@@ -24,24 +24,38 @@
#include "modules/drivers/gnss/parser/parser.h"
#include "modules/drivers/gnss/proto/gnss_raw_observation.pb.h"
namespace
apollo
{
namespace
drivers
{
namespace
gnss
{
using
::
apollo
::
drivers
::
gnss
::
EpochObservation
;
using
::
apollo
::
drivers
::
gnss
::
GnssEphemeris
;
using
apollo
::
cybertron
::
Node
;
using
apollo
::
cybertron
::
Reader
;
using
apollo
::
cybertron
::
Writer
;
class
RtcmParser
{
public:
RtcmParser
()
{}
RtcmParser
(
const
config
::
Config
&
config
,
const
std
::
shared_ptr
<
Node
>
&
node
);
~
RtcmParser
()
{}
bool
Init
();
void
ParseRtcmData
(
const
std
::
string
&
msg
);
private:
void
DispatchMessage
(
Parser
::
MessageType
type
,
MessagePtr
message
);
void
PublishEphemeris
(
const
MessagePtr
message
);
void
PublishObservation
(
const
MessagePtr
message
);
void
PublishEphemeris
(
const
MessagePtr
&
message
);
void
PublishObservation
(
const
MessagePtr
&
message
);
config
::
Config
config_
;
std
::
shared_ptr
<
Node
>
node_
=
nullptr
;
std
::
shared_ptr
<
Writer
<
GnssEphemeris
>>
gnssephemeris_writer_
=
nullptr
;
std
::
shared_ptr
<
Writer
<
EpochObservation
>>
epochobservation_writer_
=
nullptr
;
bool
inited_flag_
=
false
;
std
::
unique_ptr
<
Parser
>
rtcm_parser_
;
std
::
unique_ptr
<
Parser
>
rtcm_parser_
=
nullptr
;
};
}
// namespace gnss
...
...
modules/drivers/gnss/stream/raw_stream.cc
浏览文件 @
58b13985
...
...
@@ -134,7 +134,7 @@ RawStream::RawStream(const config::Config &config,
const
std
::
shared_ptr
<
Node
>
&
node
)
:
config_
(
config
),
node_
(
node
)
{
data_parser_ptr_
.
reset
(
new
DataParser
(
config_
,
node_
));
rtcm_parser_ptr_
.
reset
(
new
RtcmParser
());
rtcm_parser_ptr_
.
reset
(
new
RtcmParser
(
config_
,
node_
));
}
RawStream
::~
RawStream
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录