4.5 组件相关API

组件只有 C++ 实现,没有 Python 实现。

C++部分

1.组件接口

  • Init() 该函数用于执行初始化操纵;

  • Proc() 该函数类似于订阅方的回调函数,当接收到消息时会被调用。

2.dag 文件

  • module_library:要加载的 .so库,根目录是cyber的工作目录(与setup.bash同目录);

  • components & timer_component:选择需要加载的基组件类类型;

  • class_name:要加载的组件类的名称;

  • name:加载的class_name作为加载示例的标识符;

  • reader:当前组件接收到的数据,支持1-3路数据。

3.launch 文件

cyber_launch 是 Cyber​​ RT 框架的启动器。它根据launch文件启动多个 mainboard,根据dag文件将不同的组件加载到不同的mainboard 中。 cyber_launch 支持动态加载组件或在子进程中启动二进制程序的两种方案。

module:每个加载的组件或二进制文件都是一个模块

  • name 是加载的模块名称;

  • dag_conf 是组件对应的dag文件名;

  • process_name 是 mainboard 进程启动后的名称,process_name 相同的组件会被加载并运行在同一个进程中。

  • exception_handler 是进程发生异常时的处理方法。该值可以是下面列出的 exit 或 respawn。

    • exit, 这意味着当当前进程异常退出时,整个进程需要停止运行。
    • respawn,当前进程异常退出后需要重启。

results matching ""

    No results matching ""