1.1 --- a/Hardware/LPC/IT87XX.cs Mon Feb 08 20:23:24 2010 +0000
1.2 +++ b/Hardware/LPC/IT87XX.cs Tue Feb 09 18:52:52 2010 +0000
1.3 @@ -69,10 +69,24 @@
1.4 new byte[] { 0x18, 0x19, 0x1a, 0x81, 0x83 };
1.5 private const byte VOLTAGE_BASE_REG = 0x20;
1.6
1.7 - private byte ReadByte(byte register) {
1.8 + /* private byte ReadByte(byte register) {
1.9 WinRing0.WriteIoPortByte(
1.10 (ushort)(address + ADDRESS_REGISTER_OFFSET), register);
1.11 return WinRing0.ReadIoPortByte((ushort)(address + DATA_REGISTER_OFFSET));
1.12 + } */
1.13 + private byte ReadByte(byte register) {
1.14 + return new Utilities.HexStringArray(
1.15 + @"19 00 00 00 00 00 00 00 00 80 3F C9 07 9B A3 FF
1.16 + FF FF FF 73 D7 80 81 40 00 03 FF FF FF FF FF FF
1.17 + 50 70 D2 B9 BA 57 48 FF BD 24 24 2D 84 DC DC DC
1.18 + FF FF FF FF FF FF FF FF FF FF EF FF FF FF FF FF
1.19 + 3C 7F 70 7F 70 7F 5F 74 2D 40 9C 22 FF FF FF FF
1.20 + FF 15 7F 7F 7F 50 FF 56 90 0A 03 12 64 00 00 83
1.21 + 00 00 50 7F 10 24 FF FF 00 23 50 40 10 24 FF FF
1.22 + 7F 7F 7F 00 00 24 FF FF FF FF FF FF FF FF FF FF
1.23 + 19 00 00 00 00 00 00 00 00 80 3F C9 07 9B A3 FF
1.24 + FF FF FF 73 D7 80 81 40 00 03 FF FF FF FF FF FF
1.25 + 50 70 D2 B9 BA 57 48 FF BD 24 24 2D 84 DC DC DC")[register];
1.26 }
1.27
1.28 public IT87XX(Chip chip, ushort address) : base (chip) {
1.29 @@ -162,7 +176,7 @@
1.30 int value = ReadByte(FAN_TACHOMETER_REG[sensor.Index]);
1.31 value |= ReadByte(FAN_TACHOMETER_EXT_REG[sensor.Index]) << 8;
1.32
1.33 - if (value > 0) {
1.34 + if (value > 0x3f) {
1.35 sensor.Value = (value < 0xffff) ? 1.35e6f / ((value) * 2) : 0;
1.36 if (sensor.Value > 0)
1.37 ActivateSensor(sensor);