配置格式
配置格式和外部协议使用一些相同的概念 如 SAE J1939。参数组 (PG) 是属于以下参数的一组参数 属于同一主题并一起存储和发送。参数组 实例有一个唯一的参数组号(PGN)。各参数 还有一个可疑参数号(SPN),可用于获取或 直接设置一个参数。
当用作在线格式结构时,应打包以给出 存储、内存和在线格式相同。不过一定要注意 打包结构时的内存对齐问题。
PG 可以在系统范围内基于配置文件特定的基础上进行定义。 配置文件可以即时激活。
存储由标头、零个或多个PG、页脚和校验和组成。 为了保持较低的 RAM 使用率,参数直接写入闪存 这意味着只有到最后才知道的事情,例如 大小存储在页脚中。校验和写在页脚后面。
标头包含:
- 格式编号。这会因不兼容的更改而受到影响。
每个存储的 PG 包含:
- 该记录的大小
- PGN
- 版本号
- 个人资料编号
- 旗帜
- 记录格式。这会因不兼容的更改而受到影响。
- PG数据
页脚包含:
- 零标记数据结束
校验和基于页眉、PG 和页脚。
PG 注册保存相似但不相同的信息(例如个人资料 在存储之前,数字是未知的)。
初始化函数。
所有字段在初始化时重置为 0,然后如果重置功能 为组定义后,初始设置可由系统定义。
升级
升级是在 PG 级别完成的,并通过以下差异来检测 尺寸或版本。新字段可以添加到参数组的末尾。 重置和初始化函数在升级之前被调用,所以新 字段将首先重置为 0,然后由系统初始化(如果已定义)。
注意:目前代码不检查版本字段。
降级
降级是在PG级别完成的。任何尾随的、无法识别的 加载时字段将被静默删除。将配置保存回 flash 将丢弃这些无法识别的字段。
不兼容的更改
不兼容的更改是在其中插入字段、从字段中删除字段 中间,重新排序,调整大小(包括更改所包含数组的大小), 或含义已改变。此类更改应通过碰撞来处理 PG版本字段或分配新的PGN。