Chronaxis用户手册English
本页目录相关类型对象导航direct_integral_inputs参数返回说明异常说明SameFrameBinding属性与数据字段SameFrameBinding.matchessame_frame_binding参数返回说明异常说明_same_value参数返回说明异常说明SameFrameIntegralsSameFrameIntegrals.__init__SameFrameIntegrals._require_openSameFrameIntegrals.consumeSameFrameIntegrals._flushSameFrameIntegrals.finishSameFrameIntegrals.close

chronaxis.execution.same_frame_integrals

把同一物理报文的简单数值表达式直接交给现役实际时间积分器。

本对象只保存一个待完成同一时刻组;不构造信号数组、历史或通用最新状态。 读取、DBC投影、范围推进、积分器及结果发布仍由原会话负责。只有首帧前 证明绑定一致的内部调用方使用本入口,运行错误不切换路径或重读输入。

这是模块参考。日常调用先查公开API索引;下划线对象和嵌套函数供维护者查阅。签名来自固定源码,公开类构造签名经实际Python接口核对。

相关类型

AnalysisPlan、D、LegacyDecodedUpdate、RecordIntegral、ResourceBudget、ResultClosedError、ScalarValue、SignalDefinition、StaticExpression

对象导航

对象 用途
direct_integral_inputs 检查直接积分的完整静态边界,不读取DBC或数据。
SameFrameBinding 保存同次DBC证明的共同定位;fd可为None,真实歧义继续由原投影器检查。
SameFrameBinding.matches 匹配已投影更新。
same_frame_binding 复用同次DBC字段事实证明唯一共同绑定,不加载文件。
_same_value 沿用同一时刻事实比较。
SameFrameIntegrals 拥有同一时刻选择和表达式上下文;借用积分器,关闭时不代替父会话关闭它们。
SameFrameIntegrals.__init__ 检查静态表达式与实定义,预付有界状态,不读取输入。
SameFrameIntegrals._require_open 失败后仅允许关闭。
SameFrameIntegrals.consume 接收一条已投影报文,完整同一时刻组才推进积分。
SameFrameIntegrals._flush 提交完整同一时刻值,复用原表达式核及积分器。
SameFrameIntegrals.finish 在原读取器确认EOF并关闭后,补算到来源真实末端的保持尾段。
SameFrameIntegrals.close 释放自有上下文及费用,借用积分器由父会话关闭。
导入与重导出来源(展开)
python
from __future__ import annotations
from dataclasses import dataclass, replace
from math import isnan
from typing import Callable, Mapping, Sequence, TYPE_CHECKING
from ..core.binding import SignalDefinition
from ..core.expression import validate_expression
from ..core.expression_reference import _evaluate
from ..core.numeric import normalize_reference, ScalarValue
from ..core.scalar import _scalar_from_validated_fields
from ..core.types import SignalDType as D
from ..legacy.records import field_from_dict
from ..legacy.updates import LegacyDecodedUpdate
from ..planning.backend_selection import simple_numeric_expression
from ..results.budget import ResourceBudget, _reserve_owned_ram, _release_owned_ram, _cleanup_owner
from ..results.errors import ResultClosedError
from ..sources.can_spec import can_field_from_key
from .history import _metadata_bytes
from .static_metadata import static_metadata_bytes

direct_integral_inputs

检查直接积分的完整静态边界,不读取DBC或数据。

python
direct_integral_inputs(plan: AnalysisPlan) -> tuple[SignalDefinition, ...] | None

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
plan AnalysisPlan 是 无 位置或关键字。已经完成静态后端选择的计划;检查直接积分全部条件,不读取DBC或报文。

返回说明

本次必要定义tuple;不适用为None。

异常说明

非法带有明确类型的结构,不把运行错误当成选择其他路径的理由。

返回类型:tuple[SignalDefinition, ...] | None。

源码:src/chronaxis/execution/same_frame_integrals.py:35(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameBinding

保存同次DBC证明的共同定位;fd可为None,真实歧义继续由原投影器检查。

python
class SameFrameBinding

属性与数据字段

名称 数据类型 必填 省略时的值 用途、取值和效果
source str 是 无 当前计划中的来源名称。
channel int 是 无 已转换为内部零起序号的通道。
frame_id int 是 无 DBC和原配置共同定位的报文编号。
extended bool 是 无 同次DBC字段事实已经确定的标准/扩展标记。
fd bool | None 是 无 原配置的CAN/FD约束;None保留原投影器的自动识别。
dbc_fd bool 是 无 DBC声明的FD属性,沿用经典CAN兼容规则。

源码:src/chronaxis/execution/same_frame_integrals.py:70(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameBinding.matches

匹配已投影更新。

python
SameFrameBinding.matches(update: LegacyDecodedUpdate) -> bool

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
update LegacyDecodedUpdate 是 无 位置或关键字。原读取器和投影器已经验证的本条解码更新;无效新值也必须交付。

返回说明

bool。

异常说明

非法内部对象属性错误。

返回类型:bool。

源码:src/chronaxis/execution/same_frame_integrals.py:80(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

same_frame_binding

复用同次DBC字段事实证明唯一共同绑定,不加载文件。

python
same_frame_binding(definitions: tuple[SignalDefinition, ...], facts: Sequence[Mapping]) -> SameFrameBinding | None

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
definitions tuple[SignalDefinition, ...] 是 无 位置或关键字。表达式实际依赖的定义,所有字段应证明属于同一消息。
facts Sequence[Mapping[str, object]] 是 无 位置或关键字。同次来源初始化得到的metadata.fields;包含已核定位和DBC帧型,不再次加载文件。

返回说明

共同定位或None(交回普通路径)。

异常说明

已有元数据结构损坏;不能将损坏当不支持而吞错。

返回类型:SameFrameBinding | None。

源码:src/chronaxis/execution/same_frame_integrals.py:89(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

_same_value

沿用同一时刻事实比较。

python
_same_value(left: ScalarValue, right: ScalarValue) -> bool

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
left ScalarValue 是 无 位置或关键字。已归一化的同一时刻左值。
right ScalarValue 是 无 位置或关键字。已归一化的同一时刻右值;按类型、有效性、质量、码和值比较。

返回说明

bool。

异常说明

无外部输入转换。

返回类型:bool。

源码:src/chronaxis/execution/same_frame_integrals.py:127(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals

拥有同一时刻选择和表达式上下文;借用积分器,关闭时不代替父会话关闭它们。

python
SameFrameIntegrals(budget: ResourceBudget, definitions: tuple[SignalDefinition, ...], expressions: tuple[StaticExpression, ...], calculations: tuple[RecordIntegral, ...], binding: SameFrameBinding, session_id: str, before_group: Callable[[], None], *, derived: tuple=()) -> None

源码:src/chronaxis/execution/same_frame_integrals.py:134(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals.__init__

检查静态表达式与实定义,预付有界状态,不读取输入。

python
SameFrameIntegrals.__init__(budget: ResourceBudget, definitions: tuple[SignalDefinition, ...], expressions: tuple[StaticExpression, ...], calculations: tuple[RecordIntegral, ...], binding: SameFrameBinding, session_id: str, before_group: Callable[[], None], *, derived: tuple=()) -> None

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
budget ResourceBudget 是 无 位置或关键字。与父会话共享的受管理预算;构造时预付自有状态。
definitions tuple[SignalDefinition, ...] 是 无 位置或关键字。已由来源补齐实际有效期的必要信号定义。
expressions tuple[StaticExpression, ...] 是 无 位置或关键字。已编译的简单数值表达式,逐项对应calculations。
calculations tuple[RecordIntegral, ...] 是 无 位置或关键字。父会话拥有的现役积分器;本对象只交付值,不替代父对象关闭它们。
binding SameFrameBinding 是 无 位置或关键字。首帧前已由同次DBC事实证明的共同消息定位。
session_id str 是 无 位置或关键字。当前分析会话身份,分卷不重置。
before_group Callable[[], None] 是 无 位置或关键字。积分缓冲即将结算时同步刷新真实观测范围;无参数且返回None,发生异常时直接交给调用者处理。
derived tuple[DerivedDefinition, ...] 否 () 仅关键字。本计划原有派生声明,供静态校核使用;不额外计算未请求的输出。

返回说明

None。构造器预付并安装自有状态;调用SameFrameIntegrals(...)取得实例。

异常说明

声明/预算/取消;未返回时附same_frame_cleanup_owner。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:137(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals._require_open

失败后仅允许关闭。

python
SameFrameIntegrals._require_open() -> None

参数:无显式参数。

参数说明

无。

返回说明

None。

异常说明

ResultClosedError。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:207(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals.consume

接收一条已投影报文,完整同一时刻组才推进积分。

python
SameFrameIntegrals.consume(update: LegacyDecodedUpdate) -> None

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
update LegacyDecodedUpdate 是 无 位置或关键字。原读取器和投影器已经验证的本条解码更新;无效新值也必须交付。

返回说明

None。

异常说明

身份、同一时刻冲突、预算、计算原错。 无效字段覆盖本次值,不沿用前条。未选择的帧只由原读取器维护观测范围。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:212(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals._flush

提交完整同一时刻值,复用原表达式核及积分器。

python
SameFrameIntegrals._flush() -> None

参数:无显式参数。

参数说明

无。

返回说明

None。

异常说明

原计算/预算错误。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:264(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals.finish

在原读取器确认EOF并关闭后,补算到来源真实末端的保持尾段。

python
SameFrameIntegrals.finish(observed_end: int | None) -> None

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
observed_end int | None 是 无 位置或关键字。原游标确认EOF后的实际末端纳秒;无观测为None,不用配置终点补造数据。

返回说明

None。

异常说明

原数值、预算或取消错误。 不替代EOF证明,不把domain.end当采集终点,不虚构固定周期。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:301(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

SameFrameIntegrals.close

释放自有上下文及费用,借用积分器由父会话关闭。

python
SameFrameIntegrals.close() -> None

参数:无显式参数。

参数说明

无。

返回说明

None。

异常说明

释放失败可重试。

返回类型:None。

源码:src/chronaxis/execution/same_frame_integrals.py:325(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

Chronaxis 用户手册 · 离线阅读