内核驱动 w1_ds2423

支持的芯片

  • 基于 Maxim DS2423 的计数器设备。

支持的系列代码

W1_THERM_DS2423

0x1D

作者:Mika Laitio <lamikr@pilppa.org>

描述

通过 sysfs w1_slave 文件提供支持。每次打开和读取 w1_slave 文件都会启动对 DS2423 页面 12 - 15 中计数器和可用 RAM 的读取。

每个页面的结果都以 ASCII 输出的形式提供,其中每个计数器值和相关的 RAM 缓冲区都输出到自己的行。

每行将包含从计数器和内存页面读取的 42 个字节的值,以及 crc=YES 或 NO,表示读取操作是否成功且 CRC 是否匹配。如果操作成功,则每行末尾还有一个计数器值,表示为整数,后跟 c=

表示的 42 个字节的含义如下

  • 来自 RAM 页面的 1 个字节

  • 计数器值的 4 个字节

  • 4 个零字节

  • 自上一个 CRC 字节以来,从读取的数据计算出的 2 个字节的 crc16

  • 来自 RAM 页面的剩余 31 个字节

  • crc=YES/NO,表示读取是否正常且 CRC 是否匹配

  • c=<int> 当前计数器值

从成功读取的示例

00 02 00 00 00 00 00 00 00 6d 38 00 ff ff 00 00 fe ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2
00 02 00 00 00 00 00 00 00 e0 1f 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2
00 29 c6 5d 18 00 00 00 00 04 37 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=408798761
00 05 00 00 00 00 00 00 00 8d 39 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff crc=YES c=5

从 CRC 错误读取的示例

00 02 00 00 00 00 00 00 00 6d 38 00 ff ff 00 00 fe ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2
00 02 00 00 22 00 00 00 00 e0 1f 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=NO
00 e1 61 5d 19 00 00 00 00 df 0b 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=NO
00 05 00 00 20 00 00 00 00 8d 39 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff crc=NO