config_version: 4                            # 选择分析配置结构版本；填写整数4
dataset:                                     # 定义本次分析的身份与可选时间范围
  name: interleaved_charge                   # 命名整个会话，不为每个文件建立新会话
sources:                                     # 列出输入来源；本例只有一个连续CAN来源
  - paths:                                   # 指定参与归并的文件；列表位置用于同刻记录排序
      - data/can/session/interleaved1.asc    # 本来源的第一个分卷
      - data/can/session/interleaved2.asc    # 同一会话的下一个分卷
    file_merge: time_order                   # 按实际记录时间归并各文件；不平移时间或删除同刻记录
    dbc_by_channel:                          # 指定各通道解释报文字节所需的DBC
      '1': data/can/teaching.dbc             # 通道1使用此相对路径的DBC
signals:                                     # 定义计算可以引用的信号
  - name: power                              # 为输入功率取分析名称
    field:                                   # 在DBC中定位信号
      frame_id: '0x100'                      # 信号所在报文的ID
      signal: Power                          # DBC中的信号名称
    valid_for: 3s                            # 每次有效更新最多沿用3秒，超时后值未知
rules:                                       # 定义要识别的活动，输入来自上面的power信号
  - name: active                             # 为这类活动命名
    rule_type: condition_duration            # 在条件持续成立后确认活动
    condition: power > 0                     # 选择功率大于零的时间
    minimum_duration: 1s                     # 条件至少持续一秒才确认活动
    duration_comparison: ">="                # 包含刚好达到一秒的情况
calculations:                                # 列出要得到的计算结果
  - name: energy                             # 命名能量结果
    operation: integral                      # 将功率乘实际持续时间后累计
    expr: power                              # 使用上面已定义的功率信号
execution:                                   # 设置本次分析的执行方式及资源
  process_count: 4                           # 最多4个文件工作进程；实际并行数不超过输入文件数
  memory_budget_bytes: 268435456             # 本任务全部受管理读取缓冲及状态共享256MiB额度
  spool_quota_bytes: 1073741824              # 本次临时数据累计写入最多1GiB，超出后停止
