Apollo
10.0
自动驾驶开放平台
nano_radar_canbus_component.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2021 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
21
#pragma once
22
23
#include <memory>
24
#include <string>
25
#include <utility>
26
#include <vector>
27
28
#include "modules/common_msgs/drivers_msgs/can_card_parameter.pb.h"
29
#include "modules/common_msgs/sensor_msgs/nano_radar.pb.h"
30
31
#include "
cyber/cyber.h
"
32
#include "
modules/common/monitor_log/monitor_log_buffer.h
"
33
#include "
modules/common/util/util.h
"
34
#include "
modules/drivers/canbus/can_client/can_client.h
"
35
#include "
modules/drivers/canbus/can_comm/can_receiver.h
"
36
#include "
modules/drivers/canbus/can_comm/message_manager.h
"
37
#include "
modules/drivers/radar/nano_radar/nano_radar_message_manager.h
"
38
#include "
modules/drivers/radar/nano_radar/protocol/radar_config_200.h
"
39
#include "
modules/drivers/radar/nano_radar/protocol/region_config_401.h
"
40
45
namespace
apollo
{
46
namespace
drivers {
47
namespace
nano_radar {
48
55
class
NanoRadarCanbusComponent
:
public
apollo::cyber::Component
<> {
56
public
:
57
NanoRadarCanbusComponent
();
58
~NanoRadarCanbusComponent
();
59
bool
Init
()
override
;
60
61
private
:
62
bool
OnError(
const
std::string& error_msg);
63
void
RegisterCanClients();
64
apollo::common::ErrorCode
ConfigureRadar();
65
apollo::common::ErrorCode
ConfigureRadarRegion();
66
bool
Start();
67
void
Stop();
68
69
NanoRadarConf
nano_radar_conf_;
70
std::shared_ptr<apollo::drivers::canbus::CanClient> can_client_;
71
apollo::drivers::canbus::CanReceiver<NanoRadar>
can_receiver_;
72
std::unique_ptr<NanoRadarMessageManager> sensor_message_manager_;
73
std::shared_ptr<apollo::cyber::Writer<NanoRadar>> nano_radar_writer_;
74
75
bool
start_success_ =
false
;
76
apollo::common::monitor::MonitorLogBuffer
monitor_logger_buffer_;
77
};
78
79
CYBER_REGISTER_COMPONENT
(
NanoRadarCanbusComponent
)
80
81
}
// namespace nano_radar
82
}
// namespace drivers
83
}
// namespace apollo
can_client.h
Defines the CanFrame struct and CanClient interface.
can_receiver.h
Defines CanReceiver class.
apollo::common::monitor::MonitorLogBuffer
class MonitorLogBuffer
Definition
monitor_log_buffer.h:60
apollo::cyber::Component
Definition
component.h:60
apollo::drivers::canbus::CanReceiver
CAN receiver.
Definition
can_receiver.h:54
apollo::drivers::nano_radar::NanoRadarCanbusComponent
Definition
nano_radar_canbus_component.h:55
apollo::drivers::nano_radar::NanoRadarCanbusComponent::Init
bool Init() override
Definition
nano_radar_canbus_component.cc:51
apollo::drivers::nano_radar::NanoRadarCanbusComponent::NanoRadarCanbusComponent
NanoRadarCanbusComponent()
Definition
nano_radar_canbus_component.cc:46
apollo::drivers::nano_radar::NanoRadarCanbusComponent::~NanoRadarCanbusComponent
~NanoRadarCanbusComponent()
Definition
nano_radar_canbus_component.cc:49
CYBER_REGISTER_COMPONENT
#define CYBER_REGISTER_COMPONENT(name)
Definition
component.h:656
cyber.h
message_manager.h
The class of MessageManager
util.h
Some util functions.
monitor_log_buffer.h
The class of MonitorLogBuffer
apollo::common::ErrorCode
ErrorCode
Definition
error_code.proto:6
apollo
class register implement
Definition
arena_queue.h:37
radar_config_200.h
nano_radar_message_manager.h
The class of NanoRadarMessageManager
region_config_401.h
apollo::drivers::nano_radar::NanoRadarConf
Definition
nano_radar_conf.proto:49
modules
drivers
radar
nano_radar
nano_radar_canbus_component.h