Chronaxis用户手册English
本页目录对象导航validate_decode_policy参数返回说明异常说明check_decode_length参数返回说明异常说明decode_serial_frame参数返回说明异常说明

chronaxis.legacy.decode_policy

原始报文的长度检查与显式纯BLF串行解码政策。

只对所需数据帧核所选长度规则。串行兼容函数保留唯一ID和多定义ID的既有异常 范围;普通并行和文本入口不自动使用这一兼容规则。返回空值时不继承前值。

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

对象导航

对象 用途
validate_decode_policy 核验长度政策。
check_decode_length 解码前检查所需帧长度,不复制载荷或检查无关报文。
decode_serial_frame 保留纯BLF串行的既有解码政策,不重复检查报文长度或缩放物理值。

validate_decode_policy

核验长度政策。

python
validate_decode_policy(value)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
value str 是 无 位置或关键字。待检查的解码政策,只接受strict、partial、legacy。

返回说明

原字符串。

异常说明

ValueError。

源码:src/chronaxis/legacy/decode_policy.py:7(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

check_decode_length

解码前检查所需帧长度,不复制载荷或检查无关报文。

python
check_decode_length(frame, expected, policy)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
frame can.Message | LegacyRawFrame 是 无 位置或关键字。当前实际帧或冻结帧快照;通过公开ID、通道、标志及载荷属性检查和定位,不接受DBC定义代替输入帧。
expected int 是 无 位置或关键字。DBC定义的载荷字节长度,用于与实际帧长度核对,不是DLC编码值。
policy str 是 无 位置或关键字。解码长度政策:strict严格长度,partial允许短载荷,legacy保留原解码路径。

返回说明

None;partial仅允许载荷短于DBC,不能掩盖DLC与实际字节不一致。

异常说明

ValueError表示结构或所选长度政策不符;属性访问错误原样传播。

源码:src/chronaxis/legacy/decode_policy.py:15(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

decode_serial_frame

保留纯BLF串行的既有解码政策,不重复检查报文长度或缩放物理值。

python
decode_serial_frame(database, frame, message, duplicate_ids)

参数

名称 数据类型 必填 省略时的值 用途、取值和效果
database cantools.database.can.Database 是 无 位置或关键字。同次加载的DBC数据库;唯一ID使用decode_message,保留该串行路径普通Exception转缺值行为。
frame LegacyRawFrame | can.Message 是 无 位置或关键字。当前原始帧,提供ID和data;长度已由调用侧按所选政策检查。
message cantools.database.can.Message | None 是 无 位置或关键字。按实际帧型已选定的定义;同ID有多个定义时直接使用它解码,None沿数据库入口处理。
duplicate_ids frozenset[int] | set[int] 是 无 位置或关键字。DBC内同一数值ID具有多个定义的集合;这些ID只将DecodeError转缺值,其他异常传播。

返回说明

解码值字典或失败时的空字典。

异常说明

唯一ID捕获普通Exception;多定义仅捕获DecodeError,其他错误原样传播。 这一区别只用于明确的串行兼容入口,普通并行和文本入口不自动套用。

源码:src/chronaxis/legacy/decode_policy.py:30(行号属于 8904c2f744951857659abd40aaa3535d57faf53c)。

Chronaxis 用户手册 · 离线阅读