Skip to content

Commit

Permalink
feat(v9.0.0): update cyber srcs
Browse files Browse the repository at this point in the history
  • Loading branch information
minhanghuang committed Dec 23, 2023
1 parent b289fce commit 58dae4f
Show file tree
Hide file tree
Showing 209 changed files with 53,338 additions and 3,655 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ file(GLOB CYBER_SRCS
"cyber/message/*.cc"
"cyber/node/*.cc"
"cyber/parameter/*.cc"
"cyber/plugin_manager/*.cc"
"cyber/record/*.cc"
"cyber/record/*/*.cc"
"cyber/scheduler/*.cc"
Expand Down
Empty file modified cyber/.release.bash
100644 → 100755
Empty file.
249 changes: 47 additions & 202 deletions cyber/BUILD
Original file line number Diff line number Diff line change
@@ -1,233 +1,78 @@
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_binary")
load("//tools/install:install.bzl", "install", "install_files", "install_src_files")
load("//tools:cpplint.bzl", "cpplint")
load("//tools:apollo_package.bzl", "apollo_cc_library", "apollo_package")

package(default_visibility = ["//visibility:public"])

cc_library(
name = "cyber",
linkstatic = False,
deps = [
":cyber_core",
],
)

install(
name = "install",
data = [
":.release.bash",
":cyber_conf",
#"//cyber/python/cyber_py3:runtime_files",
"//cyber/proto:runtime_files",
":cyberfile.xml",
"cyber.BUILD"
],
data_dest = "cyber",
targets = [
":libcyber_core.so",
],
library_dest = "cyber/lib",
rename = {
"cyber/.release.bash": "setup.bash",
#"cyber/python/cyber_py3/cyber_py3.BUILD": "BUILD",
"cyber/proto/py_pb2.BUILD": "BUILD",
},
deps = [
"//cyber/python/cyber_py3:cyber_python_library",
"//cyber/proto:pb_cyber",
"//cyber/proto:cyber_proto_hdrs",
"//cyber/proto:cyber_proto_so",
"//cyber/mainboard:install",
"//cyber/python/internal:install",
"//cyber/tools:install",
],
)

install_src_files(
name = "install_src",
deps = [
":install_cyber_src",
":install_cyber_hdrs"
],
)

install_src_files(
name = "install_cyber_src",
src_dir = ["."],
dest = "cyber/src",
filter = "*",
)

install_src_files(
name = "install_cyber_hdrs",
src_dir = ["."],
dest = "cyber/include",
filter = "*.h",
)

cc_library(
name = "binary",
apollo_cc_library(
name = "cyber_binary",
srcs = ["binary.cc"],
hdrs = ["binary.h"],
)

cc_library(
name = "state",
apollo_cc_library(
name = "cyber_state",
srcs = ["state.cc"],
hdrs = ["state.h"],
deps = [
"//cyber/common",
],
)

cc_library(
name = "init",
srcs = ["init.cc"],
hdrs = ["init.h"],
alwayslink = True,
deps = [
"//cyber:binary",
"//cyber:state",
"//cyber/common:file",
"//cyber/logger:async_logger",
"//cyber/node",
"//cyber/proto:clock_cc_proto",
"//cyber/sysmo",
"//cyber/time:clock",
"//cyber/timer:timing_wheel",
],
deps = ["//cyber/common:cyber_common"],
)

cc_binary(
name = "libcyber_core.so",
srcs = glob([
apollo_cc_library(
name = "cyber",
srcs = [
"cyber.cc",
"init.cc",
],
hdrs = [
"cyber.h",
]),
linkshared = True,
linkstatic = True,
linkopts = ["-lrt"],
deps = [
"//cyber:binary",
"//cyber:init",
"//cyber:state",
"//cyber/base",
"//cyber/blocker:blocker_manager",
"//cyber/class_loader",
"//cyber/class_loader:class_loader_manager",
"//cyber/common",
"//cyber/component",
"//cyber/component:timer_component",
"//cyber/croutine",
"//cyber/data",
"//cyber/event:perf_event_cache",
"//cyber/io",
"//cyber/logger",
"//cyber/logger:async_logger",
"//cyber/message:message_traits",
"//cyber/message:protobuf_traits",
"//cyber/message:py_message_traits",
"//cyber/message:raw_message_traits",
"//cyber/node",
"//cyber/parameter:parameter_client",
"//cyber/parameter:parameter_server",
"//cyber/proto:run_mode_conf_cc_proto",
"//cyber/record",
"//cyber/scheduler",
"//cyber/scheduler:scheduler_factory",
"//cyber/service",
"//cyber/service:client",
"//cyber/service_discovery:topology_manager",
"//cyber/sysmo",
"//cyber/task",
"//cyber/time",
"//cyber/time:clock",
"//cyber/time:duration",
"//cyber/time:rate",
"//cyber/timer",
"//cyber/transport",
"//cyber/transport/rtps:participant",
"//cyber/transport/rtps:sub_listener",
"@com_github_google_glog//:glog",
"@com_google_protobuf//:protobuf",
"@fastrtps",
"init.h",
],
visibility = ["//visibility:public"],
)

cc_library(
name = "cyber_core",
srcs = ["libcyber_core.so"],
hdrs = ["cyber.h"],
includes = ["."],
linkopts = ["-lrt"],
visibility = ["//visibility:public"],
deps = [
":cyber_binary",
":cyber_state",
"//cyber/base:cyber_base",
"//cyber/blocker:cyber_blocker",
"//cyber/class_loader:cyber_class_loader",
"//cyber/common:cyber_common",
"//cyber/component:cyber_component",
"//cyber/context:cyber_context",
"//cyber/croutine:cyber_croutine",
"//cyber/data:cyber_data",
"//cyber/event:cyber_event",
"//cyber/io:cyber_io",
"//cyber/logger:cyber_logger",
"//cyber/message:cyber_message",
"//cyber/node:cyber_node",
"//cyber/parameter:cyber_parameter",
"//cyber/plugin_manager:cyber_plugin_manager",
"//cyber/profiler:cyber_profiler",
"//cyber/proto:clock_cc_proto",
"//cyber/proto:run_mode_conf_cc_proto",
"//cyber/record:cyber_record",
"//cyber/scheduler:cyber_scheduler",
"//cyber/service:cyber_service",
"//cyber/service_discovery:cyber_service_discovery",
"//cyber/service_discovery:cyber_service_discovery_role",
"//cyber/sysmo:cyber_sysmo",
"//cyber/task:cyber_task",
"//cyber/time:cyber_time",
"//cyber/timer:cyber_timer",
"//cyber/transport:cyber_transport",
"@com_github_google_glog//:glog",
"@com_google_protobuf//:protobuf",
"@fastrtps",
"@com_github_gflags_gflags//:gflags",
"//cyber/proto:run_mode_conf_cc_proto",
"//cyber/proto:cyber_conf_cc_proto",
"//cyber/proto:scheduler_conf_cc_proto",
"//cyber/proto:classic_conf_cc_proto",
"//cyber/proto:choreography_conf_cc_proto",
"//cyber/proto:transport_conf_cc_proto",
"//cyber/proto:perf_conf_cc_proto",
"//cyber/proto:topology_change_cc_proto",
"//cyber/proto:role_attributes_cc_proto",
"//cyber/proto:proto_desc_cc_proto",
"//cyber/proto:component_conf_cc_proto",
"//cyber/proto:record_cc_proto",
"//cyber/proto:parameter_cc_proto",
"//cyber/proto:clock_cc_proto",
"//cyber/proto:qos_profile_cc_proto",
"//cyber:binary",
"//cyber:init",
"//cyber:state",
"//cyber/base",
"//cyber/blocker:blocker_manager",
"//cyber/class_loader",
"//cyber/class_loader:class_loader_manager",
"//cyber/common",
"//cyber/component",
"//cyber/component:timer_component",
"//cyber/croutine",
"//cyber/data",
"//cyber/event:perf_event_cache",
"//cyber/io",
"//cyber/logger",
"//cyber/logger:async_logger",
"//cyber/message:message_traits",
"//cyber/message:protobuf_traits",
"//cyber/message:py_message_traits",
"//cyber/message:raw_message_traits",
"//cyber/node",
"//cyber/parameter:parameter_client",
"//cyber/parameter:parameter_server",
"//cyber/record",
"//cyber/scheduler",
"//cyber/scheduler:scheduler_factory",
"//cyber/service",
"//cyber/service:client",
"//cyber/service_discovery:topology_manager",
"//cyber/sysmo",
"//cyber/task",
"//cyber/time",
"//cyber/time:clock",
"//cyber/time:duration",
"//cyber/time:rate",
"//cyber/timer",
"//cyber/transport",
"//cyber/transport/rtps:participant",
"//cyber/transport/rtps:sub_listener",
],
includes = ["."],
)

filegroup(
name = "cyber_conf",
srcs = glob([
"conf/*.conf",
]),
)

apollo_package()

cpplint()
12 changes: 6 additions & 6 deletions cyber/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ Key benefits of using Apollo Cyber RT:

# Documents

* ***New!!*** [How to Develop Cyber RT inside Docker Environment on Both x86 and ARM Platform](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_Docker.md): Official docker image for Cyber RT development, which is easiest way to build and play with Cyber RT. On top of that, we officially support development of Cyber RT on both x86 and ARM platform.
* ***New!!*** [How to Develop Cyber RT inside Docker Environment on Both x86 and ARM Platform](../docs/04_CyberRT/CyberRT_Docker.md): Official docker image for Cyber RT development, which is easiest way to build and play with Cyber RT. On top of that, we officially support development of Cyber RT on both x86 and ARM platform.

* [Apollo Cyber RT Quick Start](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_Quick_Start.md): Everything you need to know about how to start developing your first application module on top of Apollo Cyber RT.
* [Apollo Cyber RT Quick Start](../docs/04_CyberRT/CyberRT_Quick_Start.md): Everything you need to know about how to start developing your first application module on top of Apollo Cyber RT.

* [Apollo Cyber RT Developer Tools](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_Developer_Tools.md): Detailed guidance on how to use the developer tools from Apollo Cyber RT.
* [Apollo Cyber RT Developer Tools](../docs/04_CyberRT/CyberRT_Developer_Tools.md): Detailed guidance on how to use the developer tools from Apollo Cyber RT.

* [Apollo Cyber RT API for Developers](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_API_for_Developers.md): A comprehensive guide to explore all the APIs of Apollo Cyber RT, with many concrete examples in source code.
* [Apollo Cyber RT API for Developers](../docs/04_CyberRT/CyberRT_API_for_Developers.md): A comprehensive guide to explore all the APIs of Apollo Cyber RT, with many concrete examples in source code.

* [Apollo Cyber RT FAQs](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_FAQs.md): Answers to the most frequently asked questions about Apollo Cyber RT.
* [Apollo Cyber RT FAQs](../docs/04_CyberRT/CyberRT_FAQs.md): Answers to the most frequently asked questions about Apollo Cyber RT.

* [Apollo Cyber RT Terms](https://github.com/ApolloAuto/apollo/tree/master/docs/cyber/CyberRT_Terms.md): Commonly used terminologies in Cyber RT documentation and code.
* [Apollo Cyber RT Terms](../docs/04_CyberRT/CyberRT_Terms.md): Commonly used terminologies in Cyber RT documentation and code.

* [Apollo Cyber RT Python Wrapper](python/README.md): Develop projects in Python.

Expand Down
41 changes: 41 additions & 0 deletions cyber/README_cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# cyber

## 功能介绍

Apollo Cyber RT 是专为自动驾驶场景设计的开源高性能运行时框架。它基于集中式计算模型,针对自动驾驶中的高并发、低延迟和高吞
吐量进行了大幅优化。

在过去几年的自动驾驶技术发展中,我们从之前的 Apollo 经验中学到了很多。行业在发展,阿波罗也在发展。展望未来,Apollo 已经
从开发走向产品化,随着在现实世界中的批量部署,我们看到了对最高级别的稳健性和性能的需求。因此,我们花了数年时间打造并完善
Apollo Cyber RT,以满足自动驾驶解决方案的要求。

使用 Apollo Cyber RT 的主要优势:

- 加速开发
- 明确定义的任务界面与数据融合
- 一系列开发工具
- 大量传感器驱动程序
- 简化部署
- 高效的自适应信息通信
- 可配置的用户级调度程序,具有资源感知功能
- 可移植,依赖性更低
- 为自己的自动驾驶汽车赋能
- 默认的开源运行时框架
- 专为自动驾驶设计的构件
- 即插即用您自己的 AD 系统

### 相关文档

@subpage md_cyber_2docs_2cyber\_\_quick\_\_start\_\_cn "Apollo Cyber RT 快速开始"

@subpage md_cyber_2docs_2cyber\_\_developer\_\_tools "Apollo Cyber RT 开发者工具"

@subpage md_cyber_2docs_2cyber\_\_api\_\_for\_\_developers "Apollo Cyber RT API"

@subpage md_cyber_2docs_2cyber\_\_python\_\_api\_\_cn "Apollo Cyber RT Python API"

@subpage md_cyber_2docs_2cyber\_\_faqs "Apollo Cyber RT FAQs"

@subpage md_cyber_2docs_2cyber\_\_terms "Apollo Cyber RT 术语"

@subpage md_cyber_2docs_2cyber\_\_scheduler\_\_cn "Apollo Cyber RT 调度策略"
Loading

0 comments on commit 58dae4f

Please sign in to comment.