Apollo
10.0
自动驾驶开放平台
velodyne_driver_component.h
浏览该文件的文档.
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
#pragma once
17
18
#include <memory>
19
#include <string>
20
#include <thread>
21
22
#include "modules/drivers/lidar/proto/velodyne.pb.h"
23
#include "modules/drivers/lidar/proto/velodyne_config.pb.h"
24
25
#include "
cyber/cyber.h
"
26
#include "
modules/drivers/lidar/velodyne/driver/driver.h
"
27
28
namespace
apollo
{
29
namespace
drivers {
30
namespace
velodyne {
31
32
using
apollo::cyber::Component
;
33
using
apollo::cyber::Reader
;
34
using
apollo::cyber::Writer
;
35
using
apollo::drivers::velodyne::VelodyneScan
;
36
37
class
VelodyneDriverComponent
:
public
Component
<> {
38
public
:
39
~VelodyneDriverComponent
() {}
40
bool
Init
()
override
;
41
42
private
:
43
volatile
bool
runing_;
44
uint32_t seq_ = 0;
45
std::shared_ptr<VelodyneDriver> dvr_;
46
};
47
48
CYBER_REGISTER_COMPONENT
(VelodyneDriverComponent)
49
50
}
// namespace velodyne
51
}
// namespace drivers
52
}
// namespace apollo
apollo::cyber::Component
Definition
component.h:60
apollo::cyber::Reader
Reader subscribes a channel, it has two main functions:
Definition
reader.h:69
apollo::cyber::Writer
Definition
writer.h:42
apollo::drivers::velodyne::VelodyneDriverComponent
Definition
velodyne_driver_component.h:37
apollo::drivers::velodyne::VelodyneDriverComponent::Init
bool Init() override
Definition
velodyne_driver_component.cc:30
apollo::drivers::velodyne::VelodyneDriverComponent::~VelodyneDriverComponent
~VelodyneDriverComponent()
Definition
velodyne_driver_component.h:39
CYBER_REGISTER_COMPONENT
#define CYBER_REGISTER_COMPONENT(name)
Definition
component.h:656
cyber.h
driver.h
apollo
class register implement
Definition
arena_queue.h:37
apollo::drivers::velodyne::VelodyneScan
Definition
velodyne.proto:29
modules
drivers
lidar
velodyne
driver
velodyne_driver_component.h