Skip to content

扩展 IMU 多接口支持与测试工具 - #6

Closed
changchuanyong wants to merge 17 commits into
masterfrom
feature/imu-multi-interface
Closed

扩展 IMU 多接口支持与测试工具#6
changchuanyong wants to merge 17 commits into
masterfrom
feature/imu-multi-interface

Conversation

@changchuanyong

Copy link
Copy Markdown
Contributor

改动内容

  • 增加 MCT7123 串口、CAN FD 与 CANable2 SLCAN-FD 支持
  • 完善 HiPNUC CAN/J1939 回调路由、并发与生命周期管理
  • 重构传感器数据结构并拆分 MCT7123 串口/CAN 驱动
  • 增加 IMU 测试工具、设备扫描和节点编号配置
  • 完善构建、通信参数、协议与使用文档

改动规模

  • 17 个提交
  • 相对基线涉及 27 个文件
  • 最终差异:新增 1671 行,删除 139 行

验证

  • ROS2 Humble 下完成构建
  • 在 Orange Pi 5 Plus 上通过 HIPNUC 串口 /dev/ttyUSB0、921600 波特率读取四元数、角速度、加速度与温度数据

建立 IMU 驱动库的基础工程结构,同时提供 C++ 接口与 Python 绑定。
实现 MCT7123、HiPNUC 的串口、经典 CAN 和 CAN FD 通信,并补充构建、打包、测试及项目文档。
为 SocketCAN 增加发送能力,并公开 CRC16 校验接口供配置流程复用。
补充 MCT7123 配置帧解析,同时统一串口与 CAN FD 模式下的回调和数据处理行为。
将测试结果调整为对齐的表格格式,便于持续观察各项传感器数据,并同步更新 README 输出示例。
默认仅显示欧拉角和温度,同时保留 -a 选项用于展示陀螺仪、加速度、磁场和四元数等完整数据。
在解码器、驱动基类和 Python 绑定中补充 Cycle 计数器与 Running_Status 状态存储。
同步扩展测试脚本,使帧连续性和设备运行状态能够从底层解析一直传递到测试输出。
补充 CRC、CAN FD、Cycle 计数器和 MCT7123 坐标系等关键协议说明。
修正文档中的接口描述与示例,并记录相关功能验证结果,便于部署和排查问题。
提供中文帮助、自动波特率和可见的错误提示,并将型号简化为主要启动参数。
增加 --list、--can 和 --serial 选项及常见串口自动扫描,同时更新 README 中的使用示例。
新增兼容 C 与 C++ 的 imu_sensor_data_t 公共数据结构,替代原有 can_sensor_data_t。
清理 MCT7123 对 HiPNUC 头文件的跨驱动依赖,并统一更新解析器、驱动和公共接口中的类型引用。
将原有 MCT7123 驱动拆分为独立的串口子类和 CAN 子类,各自管理连接与接收回调。
工厂根据接口类型创建对应实现,同时继续复用公共解码器,降低不同传输方式之间的耦合。
扩展 CAN FD 帧标识匹配范围,使原始数据、姿态数据和配置响应均能进入对应驱动。
避免仅处理单一帧类型时造成姿态或配置数据缺失。
支持同一路由键注册多个独立订阅者,并允许每个驱动精确注销自身回调。
注销时等待活动回调结束,并使用 CanCallbackSubscription 自动管理生命周期,避免析构并发和遗漏清理。
测试脚本在没有发现串口时自动使用对应型号的默认 CAN 接口和节点编号。
新增 --id 参数以覆盖默认节点编号,并同步更新 README 中的调用示例。
为初始化命令补充寄存器、参数组、数据周期和系统控制说明,并增加核心数据快速启用示例。
依据设备手册校正配置项对应关系,确保脚本注释、配置值与实际协议一致。
将测试工具移动到 scripts 目录,统一项目脚本的存放位置并更新 README 调用路径。
增加 CANable2 的 SLCAN-FD 连接、CRC 校验和 MCT7123 帧解析能力,同时保持原有串口与 SocketCAN 流程。
重新编排功能概览、构建、测试工具、API、CAN 与坐标系说明。补充 CANable2、SLCAN-FD、完整命令参数和依赖信息,并统一术语、示例及格式。
为 SocketCAN 增加通配回调订阅,由 HiPNUC 在自身回调中按 J1939 扩展帧和完整源地址过滤。避免共享 ID 提取器导致回调丢失,同时保持 MCT7123 的精确 CAN FD 路由不变。
在 README 中明确 MCT7123 与 HiPNUC 的串口波特率、CAN 仲裁速率、CAN FD 数据速率和默认节点编号,并补充带注释的 SocketCAN 拉起命令及节点编号覆盖示例。
@wentywenty
wentywenty self-requested a review August 3, 2026 03:47
@wentywenty wentywenty closed this Aug 3, 2026
@changchuanyong
changchuanyong deleted the feature/imu-multi-interface branch August 3, 2026 05:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants