专栏算法工具链dbc文件转json文件示例

dbc文件转json文件示例

TROS.Assist2024-04-18
64
0

将车型信号对应的DBC文件转化为json文件,作为信号解析的重要依据。

1. 底盘车身信号

1.1 资源文件及参数说明

  1. 所需文件

    dbc文件(项目自备)
    python脚本(脚本cardbc_to_json.py)
    excel表格(手动新建,范例dbc_signal.xlsx)
  2. cardbc_to_json.py参数说明

    • dbc_file :dbc文件所在路径

    • dbc_name :dbc文件名称

    • table_excel :依赖的映射表格

    • jsonout :输出的xxx.json文件

    • msb_lsb :使用msb设置为0,使用lsb设置为1

    • cantype :类型设置。can或者canfd类型

    • 此脚本不兼容所用的dbc文件,若dbc生成的json文件有误差,需要对应此脚本

  3. table_excel参数说明

    • dbc:dbc文件名称

    • can_id:dbc文件的CAN信号对应的id

    • signal_name:dbc文件中信号对应的名称(必须与dbc里面的名字保持一致,否则无法识别)

    • internal_signal_name:映射的程序内部的名称(纯小写字母组成)

不存在物理值,通过配置文件的方式新增信号,internal_signal_name可以任意指定,在映射的配置文件中做映射,使用时通过用户映射之后的信号名称即可

1.2 json文件检查以及其他说明

2. 雷达信号

2.1资源文件及参数说明

  1. 所需文件

    dbc文件(项目自备)
    python脚本(脚本radardbc_to_json.py)
    excel表格(手动新建,范例dbc_signal.xlsx)
  2. cardbc_to_json.py参数说明

    • dbc_file :dbc文件所在路径

    • dbc_name :dbc文件名称

    • table_excel :依赖的映射表格

    • jsonout :输出的xxx.json文件

    • msb_lsb :使用msb设置为0,使用lsb设置为1

    • cantype :类型设置。can或者canfd类型

    • device_num:在一个DBC文件里面有几个雷达,如果该值大于1,将生成“device”字段,该字段列出每一个device的canid值

    • 此脚本不兼容所用的dbc文件或excel文件,若dbc生成的json文件有误差,需要微调此脚本

  3. table_excel参数说明

    • dbc:dbc文件名称

    • can_id:dbc文件的CAN信号对应的id

    • signal_name:dbc文件中信号对应的名称

    • internal_signal_name:映射的程序内部的名称(纯小写字母组成)

    • 针对radar的信号,内部已经有的字段如下(引号里面的字段):

      不存在物理值,internal_signal_name需要用户自己指定(风格保持一致,用小写字母组成),并在上层调用AddMessageFilter等接口(参考新增信号接口)

2.2 json文件检查以及其他说明

  1. json文件检查

    • 使用Canoe软件打开dbc文件,查看信号的详细信息。

    • 对比信号详细信息是否和json文件解析相同。

    • 若不相同需要对python脚本进行微调,再重新生成json文件

  2. json文件名称格式规范要求

    value_table:首字母大写,后面小写。不用空格下划线等符号

算法工具链
杂谈
评论0
0/1000