# asdk-example **Repository Path**: amovlab/asdk-example ## Basic Information - **Project Name**: asdk-example - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-19 - **Last Updated**: 2025-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## ASDK 示例工程 [ASDK框架概述](ASDK框架概述.md "ASDK框架概述") [如何开发一个ASDK插件](如何开发一个ASDK插件.md "如何开发一个ASDK插件") ### 使用方式 - 安装ASDK软件包 ```bash cd software # 卸载 ASDK-V0.5 版本 sudo dpkg -r bsa-su17-asdk-core # 移除 ASDK-V0.5 sudo rm -rf /usr/local/ASDK/ # 安装ASDK-V1.0.0 sudo dpkg -i *.deb ``` - 尝试运行ASDKCore ```bash ASDKCore ``` - 无异常退出并输出如下信息则为安装运行成功 ```bash ================================================================== Load ASDK Plugins ================================================================== load plugin: CAM load plugin: BSASlam load plugin: ros1T ================================================================== Start Plugins ================================================================== ``` - 确认后 使用"ctrl + c"退出程序 ## 运行例程插件 ```bash cd asdk-example # 运行ASDKCore 使用 config.json 作为配置文件;自动运行插件;启用Debug模式 ASDKCore -c config.json -a 1 -d 1 ``` **参数说明** ``` -c, --config config flie path ([def=/usr/local/etc/asdk/defconfig.json]) -a, --autoFlag run automatically or not (bool [=0]) -d, --debug debug mode (bool [=0]) -?, --help print this message ``` ## 实现内容 实现了一个使用DDS传输数据的插件,间隔500ms向外传输一个 ASDKTestPack 格式数据,并向控制台打印接收到的数据 ## 如何实现插件 - 编写类继承 `ASDK::Plugin` 并按示例使用 `ASDK_PLUGIN_NAME` 与 `ASDK_PLUGIN_CREAT` 宏 - 编译——参考示例 `CMakeLists.txt` 实现 - 使用json文件配置需要加载使用的插件 示例 `config.json` - `name` 字段 : 插件实例化的名字,不可重复 - `path` 字段 :编译完成的插件动态库的存储位置,若动态库已安装至`/usr/local/lib/asdkplugins/`目录下,则仅需声明动态库名 - `aps` 数组 : 插件需求的输出接口列表 - `test_send` : 接口名字,key由插件实现时指定,值可根据实际情况配置 - `test_listen` : 类似于 `test_send` - `config` 字段 : 插件需要的私有配置文件 **NOTE 目前存在一些调试信息,且由于线程执行时序问题,示例插件输出至控制台的字符可能会混淆**