# libcanard **Repository Path**: qjcyj/libcanard ## Basic Information - **Project Name**: libcanard - **Description**: 基于官方的libcanard 1.0.0版本,集成了dsdl库和dsdl编译脚本 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-02 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # libcanard ## 1、libcanard依赖 需安装3个python依赖包 1)empy ​ pip install empy==3.3.4 2)dronecan ​ pip install dronecan 3)pexpect ​ pip install pexpect ## 2、dsdl编译测试 使用python指令编译dsdl文件,成功后可在libcanard目录下生成一个dsdlc_generated 文件夹,文件夹内分有include和src,分别存有生成的源文件及头文件 python dronecan_dsdlc/dronecan_dsdlc.py -O dsdlc_generated uavcan ## 3、makefile文件集成关联编译 在 ``` # 定义 DSDL 目标 DSDL_DIR := libcanard/dsdlc_generated DSDL_SOURCE_DIR := libcanard/uavcan DSDL_GENERATOR := libcanard/dronecan_dsdlc/dronecan_dsdlc.py # 主构建目标添加 dsdl 依赖 all: dsdl $(TARGET) # DSDL 生成规则 (跨平台版本) dsdl: $(DSDL_DIR)/.generated $(DSDL_DIR)/.generated: $(wildcard $(DSDL_SOURCE_DIR)/*/*.uavcan) @echo "Generating DSDL headers..." @python $(DSDL_GENERATOR) -O $(DSDL_DIR) $(DSDL_SOURCE_DIR) @touch $@ # 添加DSDL生成目录到头文件搜索路径 CFLAGS += -I$(DSDL_DIR) # 清理目标 clean: rm -rf build $(DSDL_DIR) .PHONY: dsdl clean ```