# 合成教学配置；请连同配套输入使用，数值仅用于复现本例。
config_version: 4                  # 声明分析文件采用的字段结构版本；当前填写整数4
dataset:                           # 设置本次分析名称及可选的对象、会话和时间范围
  name: can_asc_example            # 命名本次分析数据集；名称写入结果身份字段
sources:                           # 列出输入来源；每项规定数据位置、格式和时间解释方式
  - dbc_by_channel:                # 为每个CAN通道指定解码用DBC文件；键是通道编号的字符串
      '1': data/joint.dbc          # 为这个通道指定DBC文件；路径相对当前配置文件，通道键须为字符串
    paths: data/joint.asc          # 选择输入文件、连续分卷列表或目录；相对路径基于本配置，目录按自然序读取
signals:                           # 把输入字段定义为有名称、类型、单位和有效期的分析信号
  - dtype: float64                 # 选择分析值类型；float64小数、int64有符号整数、uint64非负整数、bool真假、enum状态名称
    field:                         # 指定来源中的原始字段；CSV填表头，CAN填写通道/报文ID/DBC信号名
      frame_id: 256                # 选择包含信号的报文ID；从对应DBC取得，可写整数或支持的进制文本
      signal: Voltage              # 填写DBC中的信号名称，大小写须一致
    name: voltage                  # 给分析信号取名称；后续表达式和计算通过此名称引用它
    unit: V                        # 声明分析值的单位；按物理含义填写，无量纲用字符串"1"；按已登记的兼容单位换算数值
    valid_for: 10s                 # 设置一次有效更新最多沿用多久；依据采样周期和允许数据陈旧程度填写
calculations:                      # 列出希望获得的统计或积分结果，每项独立选择范围和算法
  - name: voltage_area             # 为这项计算结果取唯一名称；结果表用它区分计算项
    operation: integral            # 选择计算方法；本例将有效数值乘持续时间后累计，例如功率乘秒得到能量
    expr: voltage                  # 指定参与计算的数值或信号表达式；引用前面已定义的信号
outputs:                           # 选择额外导出的数据及格式；默认结果表由运行入口提供
  can_frames:                      # 配置原始或重建CAN帧的额外导出；与信号CSV分别设置
    format: asc                    # 选择输出报文文件格式；asc为文本，blf为二进制
    resampling:                    # 设置重建CAN帧网格；根据DBC重写选定信号，其他位取基础帧
      max_gap: 2s                  # 限制重建帧使用的记录间隔；超过上限不伪造连续数据
      messages:                    # 逐报文列出要重建的连续信号和保留字段
        - channel: 1               # 选择要重建的CAN通道；从日志取得
          continuous: [Voltage]    # 填写允许线性插值的DBC信号名；不是signals中的分析别名
          frame_id: 256            # 选择要重建的报文ID；从DBC取得
      period: 500ms                # 指定重建CAN帧的网格周期；与信号CSV网格独立
metadata:                          # 保存说明性信息；字段不会自动校准数据或更改计算公式
  device_label: home               # 可选设备标签；任意非空文本，省略为pending，不影响计算或导出
execution:                         # 设置本次分析的并行处理方式
  process_count: 4                 # 最多4个文件工作进程；实际并行数不超过输入文件数
