1.1 --- a/Hardware/LPC/NCT677X.cs Sun Jul 14 16:32:27 2013 +0000
1.2 +++ b/Hardware/LPC/NCT677X.cs Sun Jul 21 14:17:11 2013 +0000
1.3 @@ -4,7 +4,7 @@
1.4 License, v. 2.0. If a copy of the MPL was not distributed with this
1.5 file, You can obtain one at http://mozilla.org/MPL/2.0/.
1.6
1.7 - Copyright (C) 2010-2012 Michael Möller <mmoeller@openhardwaremonitor.org>
1.8 + Copyright (C) 2010-2013 Michael Möller <mmoeller@openhardwaremonitor.org>
1.9
1.10 */
1.11
1.12 @@ -56,11 +56,11 @@
1.13 private const ushort VENDOR_ID_LOW_REGISTER = 0x004F;
1.14
1.15 private readonly ushort[] FAN_PWM_OUT_REG =
1.16 - { 0x001, 0x003, 0x011, 0x013, 0x015 };
1.17 + { 0x001, 0x003, 0x011, 0x013, 0x015, 0x017 };
1.18 private readonly ushort[] FAN_PWM_COMMAND_REG =
1.19 - { 0x109, 0x209, 0x309, 0x809, 0x909 };
1.20 + { 0x109, 0x209, 0x309, 0x809, 0x909, 0xA09 };
1.21 private readonly ushort[] FAN_CONTROL_MODE_REG =
1.22 - { 0x102, 0x202, 0x302, 0x802, 0x902 };
1.23 + { 0x102, 0x202, 0x302, 0x802, 0x902, 0xA02 };
1.24
1.25 private readonly ushort fanRpmBaseRegister;
1.26 private readonly int minFanRPM;
1.27 @@ -129,7 +129,7 @@
1.28 BYTE_TEMP = 22
1.29 }
1.30
1.31 - private enum SourceNCT6779D : byte {
1.32 + private enum SourceNCT67XXD : byte {
1.33 SYSTIN = 1,
1.34 CPUTIN = 2,
1.35 AUXTIN0 = 3,
1.36 @@ -217,14 +217,20 @@
1.37 break;
1.38
1.39 case Chip.NCT6779D:
1.40 - fans = new float?[5];
1.41 + case Chip.NCT6791D:
1.42 + if (chip == Chip.NCT6779D) {
1.43 + fans = new float?[5];
1.44 + controls = new float?[5];
1.45 + } else {
1.46 + fans = new float?[6];
1.47 + controls = new float?[6];
1.48 + }
1.49 +
1.50 fanRpmBaseRegister = 0x4C0;
1.51
1.52 // min value RPM value with 13-bit fan counter
1.53 minFanRPM = (int)(1.35e6 / 0x1FFF);
1.54
1.55 - controls = new float?[5];
1.56 -
1.57 voltages = new float?[15];
1.58 voltageRegisters = new ushort[]
1.59 { 0x480, 0x481, 0x482, 0x483, 0x484, 0x485, 0x486, 0x487, 0x488,
1.60 @@ -233,13 +239,13 @@
1.61
1.62 temperatures = new float?[7];
1.63 temperaturesSource = new byte[] {
1.64 - (byte)SourceNCT6779D.PECI_0,
1.65 - (byte)SourceNCT6779D.CPUTIN,
1.66 - (byte)SourceNCT6779D.SYSTIN,
1.67 - (byte)SourceNCT6779D.AUXTIN0,
1.68 - (byte)SourceNCT6779D.AUXTIN1,
1.69 - (byte)SourceNCT6779D.AUXTIN2,
1.70 - (byte)SourceNCT6779D.AUXTIN3
1.71 + (byte)SourceNCT67XXD.PECI_0,
1.72 + (byte)SourceNCT67XXD.CPUTIN,
1.73 + (byte)SourceNCT67XXD.SYSTIN,
1.74 + (byte)SourceNCT67XXD.AUXTIN0,
1.75 + (byte)SourceNCT67XXD.AUXTIN1,
1.76 + (byte)SourceNCT67XXD.AUXTIN2,
1.77 + (byte)SourceNCT67XXD.AUXTIN3
1.78 };
1.79
1.80 temperatureRegister = new ushort[]
1.81 @@ -254,7 +260,7 @@
1.82 alternateTemperatureRegister = new ushort?[]
1.83 {null, 0x491, 0x490, 0x492, 0x493, 0x494, 0x495 };
1.84
1.85 - break;
1.86 + break;
1.87 }
1.88 }
1.89
1.90 @@ -398,14 +404,16 @@
1.91 ushort[] addresses = new ushort[] {
1.92 0x000, 0x010, 0x020, 0x030, 0x040, 0x050, 0x060, 0x070,
1.93 0x100, 0x110, 0x120, 0x130, 0x140, 0x150,
1.94 - 0x200, 0x220, 0x230, 0x240, 0x250,
1.95 - 0x300, 0x320, 0x330, 0x340,
1.96 - 0x400, 0x410, 0x420, 0x440, 0x450, 0x460, 0x480, 0x490, 0x4C0,
1.97 - 0x500, 0x550,
1.98 + 0x200, 0x220, 0x230, 0x240, 0x250, 0x260,
1.99 + 0x300, 0x320, 0x330, 0x340, 0x360,
1.100 + 0x400, 0x410, 0x420, 0x440, 0x450, 0x460, 0x480, 0x490, 0x4B0,
1.101 + 0x4C0, 0x4F0,
1.102 + 0x500, 0x550, 0x560,
1.103 0x600, 0x610 ,0x620, 0x630, 0x640, 0x650, 0x660, 0x670,
1.104 - 0x800,
1.105 - 0x900,
1.106 - 0xA00, 0xA10, 0xA20, 0xA30, 0xA50, 0xA60, 0xA70,
1.107 + 0x700, 0x710, 0x720, 0x730,
1.108 + 0x800, 0x820, 0x830, 0x840,
1.109 + 0x900, 0x920, 0x930, 0x940, 0x960,
1.110 + 0xA00, 0xA10, 0xA20, 0xA30, 0xA40, 0xA50, 0xA60, 0xA70,
1.111 0xB00, 0xB10, 0xB20, 0xB30, 0xB50, 0xB60, 0xB70,
1.112 0xC00, 0xC10, 0xC20, 0xC30, 0xC50, 0xC60, 0xC70,
1.113 0xD00, 0xD10, 0xD20, 0xD30, 0xD50, 0xD60,