Hardware/LPC/W836XX.cs
changeset 58 d787f441286d
parent 56 5cb7eb5bf628
child 63 1a7c13ac7348
     1.1 --- a/Hardware/LPC/W836XX.cs	Sun Feb 21 18:10:30 2010 +0000
     1.2 +++ b/Hardware/LPC/W836XX.cs	Sun Feb 21 21:38:58 2010 +0000
     1.3 @@ -183,8 +183,18 @@
     1.4  
     1.5        foreach (Sensor sensor in voltages) {
     1.6          if (sensor.Index < 7) {
     1.7 -          int value = ReadByte(0, (byte)(VOLTAGE_BASE_REG + sensor.Index));
     1.8 -          sensor.Value = 0.008f * voltageGains[sensor.Index] * value;
     1.9 +          // two special VCore measurement modes for W83627THF
    1.10 +          if (chip == Chip.W83627THF && sensor.Index == 0) {
    1.11 +            byte vrmConfiguration = ReadByte(0, 0x18);
    1.12 +            int value = ReadByte(0, VOLTAGE_BASE_REG);
    1.13 +            if ((vrmConfiguration & 0x01) == 0)
    1.14 +              sensor.Value = 0.016f * value; // VRM8 formula
    1.15 +            else
    1.16 +              sensor.Value = 0.00488f * value + 0.69f; // VRM9 formula
    1.17 +          } else {
    1.18 +            int value = ReadByte(0, (byte)(VOLTAGE_BASE_REG + sensor.Index));
    1.19 +            sensor.Value = 0.008f * voltageGains[sensor.Index] * value;
    1.20 +          }
    1.21            if (sensor.Value > 0)
    1.22              ActivateSensor(sensor);
    1.23            else