Hardware/LPC/IT87XX.cs
changeset 36 32adc68f54f8
parent 34 dc276daadb2c
child 37 124f735b73aa
     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);