我希望了解自动诊断工具通过 USB 报告数据的方式。我已经做了一个 USB 捕获,以根据它测量的输入的已知更改来查找更改。测量的是节气门位置,报告范围为 0.000000% 到 100.000000%(显示 6 位小数)
Here as a full packet, throttle 100%
41 05 2B C0 FF 15 01 00 AA 00 00 00 00 00 FF 15
16 00 01 AA 00 00 00 00 01 08 11 00 05 61 C6 00
6D C3 67 52 4C 49 2D FF 00 00 00 00 55 00 F2
这是一个数据包序列,仅显示最后一行发生变化,以及收到同一数据包的连续时间
Throttle ~50%
6D C3 67 52 4C 49 2D 7F 00 00 00 00 55 00 72 x3
6C C3 67 52 4C 49 2D 7F 00 00 00 00 55 00 73 x3
6D C3 67 52 4C 49 2D 7F 00 00 00 00 55 00 72 x5
6C C3 67 52 4C 49 2D 7F 00 00 00 00 55 00 73 x1
Throttle 100%
6C C3 67 52 4C 49 2D FF 00 00 00 00 55 00 F3 x2
6D C3 67 52 4C 49 2D FF 00 00 00 00 55 00 F2 x4
6C C3 67 52 4C 49 2D FF 00 00 00 00 55 00 F3 x3
6D C3 67 52 4C 49 2D FF 00 00 00 00 55 00 F2 x3
Throttle 0%
6D C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F1 x2
6C C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F2 x1
6D C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F1 x1
6C C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F2 x1
6D C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F1 x3
6C C3 67 52 4C 49 2D 00 00 00 00 00 55 00 F2 x1
所以最初我注意到第 8 个字节,并认为它可能与 0 - 255 的 ADC 读数相关,然后显示为 0 - 100%。但是后来我在日志中发现它使用 _TYPE="FLOAT" 将百分比读数保存到小数点后 6 位。
我还注意到,在与同一节气门位置相关的一组类似数据包中,第一个和最后一个字节(对于该行)有交替变化的模式
我还注意到数据包几乎都是一样的,除了看起来很小的差异,但这些差异必须比看起来更大的存储数据差异。
那么任何人都可以看到它是如何存储的吗?