diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs index a636806..8f05a29 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs @@ -112,13 +112,13 @@ namespace LibreHardwareMonitor.Hardware.Motherboard case ControlMode.Default: { superIO.SetControl(index, null); - + break; } case ControlMode.Software: { superIO.SetControl(index, (byte)(control.SoftwareValue * 2.55)); - + break; } } @@ -216,31 +216,36 @@ namespace LibreHardwareMonitor.Hardware.Motherboard switch (superIO.Chip) { - case Chip.IT8655E: - case Chip.IT8665E: - case Chip.IT8686E: - case Chip.IT8688E: case Chip.IT8705F: case Chip.IT8712F: case Chip.IT8716F: case Chip.IT8718F: case Chip.IT8720F: case Chip.IT8726F: - case Chip.IT879XE: { GetIteConfigurationsA(superIO, manufacturer, model, v, t, f, c, ref readFan, ref postUpdate, ref mutex); - + break; } case Chip.IT8620E: case Chip.IT8628E: + case Chip.IT8655E: + case Chip.IT8665E: + case Chip.IT8686E: + case Chip.IT8688E: case Chip.IT8721F: case Chip.IT8728F: case Chip.IT8771E: case Chip.IT8772E: { GetIteConfigurationsB(superIO, manufacturer, model, v, t, f, c); - + + break; + } + case Chip.IT879XE: + { + GetIteConfigurationsC(superIO, manufacturer, model, v, t, f, c); + break; } case Chip.F71858: @@ -248,7 +253,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("VCC3V", 0, 150, 150)); v.Add(new Voltage("VSB3V", 1, 150, 150)); v.Add(new Voltage("Battery", 2, 150, 150)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -267,13 +272,13 @@ namespace LibreHardwareMonitor.Hardware.Motherboard case Chip.F71889F: { GetFintekConfiguration(superIO, manufacturer, model, v, t, f, c); - + break; } case Chip.W83627EHF: { GetWinbondConfigurationEhf(manufacturer, model, v, t, f); - + break; } case Chip.W83627DHG: @@ -282,7 +287,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard case Chip.W83667HGB: { GetWinbondConfigurationHg(manufacturer, model, v, t, f); - + break; } case Chip.W83627HF: @@ -302,14 +307,14 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan", 0)); f.Add(new Fan("CPU Fan", 1)); f.Add(new Fan("Auxiliary Fan", 2)); - + break; } case Chip.NCT6771F: case Chip.NCT6776F: { GetNuvotonConfigurationF(superIO, manufacturer, model, v, t, f, c); - + break; } case Chip.NCT610XD: @@ -327,7 +332,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("System", 1)); t.Add(new Temperature("CPU Core", 2)); t.Add(new Temperature("Auxiliary", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -348,13 +353,13 @@ namespace LibreHardwareMonitor.Hardware.Motherboard case Chip.NCT6798D: { GetNuvotonConfigurationD(superIO, manufacturer, model, v, t, f, c); - + break; } default: { GetDefaultConfiguration(superIO, v, t, f, c); - + break; } } @@ -398,7 +403,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard { v.Add(new Voltage("VBat", 8)); t.Add(new Temperature("CPU", 0)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -417,7 +422,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("Chassis Fan #1", 1)); f.Add(new Fan("Power Fan", 2)); - + break; } case Model.M4A79XTD_EVO: // IT8720F @@ -429,7 +434,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("Chassis Fan #1", 1)); f.Add(new Fan("Chassis Fan #2", 2)); - + break; } case Model.PRIME_X370_PRO: // IT8665E @@ -448,12 +453,12 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 0)); t.Add(new Temperature("Motherboard", 1)); t.Add(new Temperature("PCH", 2)); - + for (int i = 3; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); f.Add(new Fan("CPU Fan", 0)); - + for (int i = 1; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -500,7 +505,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("Voltage #8", 7, true)); v.Add(new Voltage("VBat", 8)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -543,7 +548,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("Voltage #8", 7, true)); v.Add(new Voltage("VBat", 8)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -577,7 +582,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Fan #1", 0)); f.Add(new Fan("Fan #2", 1)); f.Add(new Fan("Fan #3", 2)); - + break; } case Model.LP_DK_P55_T3EH9: // IT8720F @@ -597,7 +602,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Fan #1", 0)); f.Add(new Fan("Fan #2", 1)); f.Add(new Fan("Fan #3", 2)); - + break; } default: @@ -611,7 +616,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("DIMM", 6, true)); v.Add(new Voltage("+5VSB", 7, 6.8f, 10, 0, true)); v.Add(new Voltage("VBat", 8)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -643,7 +648,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 1)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); - + break; } case Model.EP45_DS3R: // IT8718F @@ -662,7 +667,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #2", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #1", 3)); - + break; } case Model.EX58_EXTREME: // IT8720F @@ -678,7 +683,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #2", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #1", 3)); - + break; } case Model.P35_DS3: // IT8718F @@ -696,7 +701,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("System Fan #2", 2)); f.Add(new Fan("Power Fan", 3)); - + break; } case Model.P55_UD4: // IT8720F @@ -717,7 +722,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #2", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #1", 3)); - + break; } case Model.H55N_USB3: // IT8720F @@ -732,7 +737,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 2)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); - + break; } case Model.G41M_COMBO: // IT8718F @@ -748,7 +753,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 2)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); - + break; } case Model._970A_UD3: // IT8720F @@ -768,7 +773,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("PWM #1", 0)); c.Add(new Ctrl("PWM #2", 1)); c.Add(new Ctrl("PWM #3", 2)); - + break; } case Model.MA770T_UD3: // IT8720F @@ -787,7 +792,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("System Fan #2", 2)); f.Add(new Fan("Power Fan", 3)); - + break; } case Model.MA78LM_S2H: // IT8718F @@ -805,7 +810,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("System Fan #2", 2)); f.Add(new Fan("Power Fan", 3)); - + break; } case Model.MA785GM_US2H: // IT8718F @@ -822,7 +827,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); f.Add(new Fan("NB Fan", 2)); - + break; } case Model.X58A_UD3R: // IT8720F @@ -840,188 +845,6 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #2", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #1", 3)); - - break; - } - case Model.AX370_Gaming_K7: // IT8686E - case Model.AX370_Gaming_5: - case Model.AB350_Gaming_3: // IT8686E - { - // Note: v3.3, v12, v5, and AVCC3 might be slightly off. - v.Add(new Voltage("Vcore", 0)); - v.Add(new Voltage("+3.3V", 1, 0.65f, 1)); - v.Add(new Voltage("+12V", 2, 5, 1)); - v.Add(new Voltage("+5V", 3, 1.5f, 1)); - v.Add(new Voltage("VSOC", 4)); - v.Add(new Voltage("VDDP", 5)); - v.Add(new Voltage("DIMM", 6)); - v.Add(new Voltage("3VSB", 7, 10, 10)); - v.Add(new Voltage("VBat", 8, 10, 10)); - v.Add(new Voltage("AVCC3", 9, 7.53f, 1)); - t.Add(new Temperature("System", 0)); - t.Add(new Temperature("Chipset", 1)); - t.Add(new Temperature("CPU", 2)); - t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM MOS", 4)); - - for (int i = 0; i < superIO.Fans.Length; i++) - f.Add(new Fan("Fan #" + (i + 1), i)); - - break; - } - case Model.Z390_M_GAMING: // IT8688E - case Model.Z390_AORUS_ULTRA: - case Model.Z390_UD: - { - v.Add(new Voltage("Vcore", 0)); - v.Add(new Voltage("+3.3V", 1, 6.49f, 10)); - v.Add(new Voltage("+12V", 2, 5f, 1)); - v.Add(new Voltage("+5V", 3, 1.5f, 1)); - v.Add(new Voltage("CPU VCCGT", 4)); - v.Add(new Voltage("CPU VCCSA", 5)); - v.Add(new Voltage("VDDQ", 6)); - v.Add(new Voltage("DDRVTT", 7)); - v.Add(new Voltage("PCHCore", 8)); - v.Add(new Voltage("CPU VCCIO", 9)); - v.Add(new Voltage("DDRVPP", 10)); - t.Add(new Temperature("System #1", 0)); - t.Add(new Temperature("PCH", 1)); - t.Add(new Temperature("CPU", 2)); - t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM MOS", 4)); - t.Add(new Temperature("System2", 5)); - f.Add(new Fan("CPU Fan", 0)); - f.Add(new Fan("System Fan #1", 1)); - f.Add(new Fan("System Fan #2", 2)); - f.Add(new Fan("System Fan #3", 3)); - - break; - } - case Model.X399_AORUS_Gaming_7: //ITE IT8686E - { - v.Add(new Voltage("Vcore", 0, 0, 1)); - v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); - v.Add(new Voltage("+12V", 2, 5, 1)); - v.Add(new Voltage("+5V", 3, 1.5F, 1)); - v.Add(new Voltage("DIMM CD", 4, 0, 1)); - v.Add(new Voltage("Vcore SoC", 5, 0, 1)); - v.Add(new Voltage("DIMM AB", 6, 0, 1)); - v.Add(new Voltage("3VSB", 7, 10, 10)); - v.Add(new Voltage("VBat", 8, 10, 10)); - v.Add(new Voltage("AVCC3", 9, 54, 10)); - t.Add(new Temperature("System #1", 0)); - t.Add(new Temperature("Chipset", 1)); - t.Add(new Temperature("CPU", 2)); - t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM", 4)); - - for (int i = 0; i < superIO.Fans.Length; i++) - f.Add(new Fan("Fan #" + (i + 1), i)); - - for (int i = 0; i < superIO.Controls.Length; i++) - c.Add(new Ctrl("Fan Control #" + (i + 1), i)); - - break; - } - case Model.X470_AORUS_GAMING_7_WIFI: //ITE IT8686E & IT8792 - { - switch (superIO.Chip) - { - case Chip.IT8686E: - { - v.Add(new Voltage("Vcore", 0, 0, 1)); - v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); - v.Add(new Voltage("+12V", 2, 5, 1)); - v.Add(new Voltage("+5V", 3, 1.5F, 1)); - v.Add(new Voltage("Vcore SoC", 4, 0, 1)); - v.Add(new Voltage("VDDP", 5, 0, 1)); - v.Add(new Voltage("DIMM AB", 6, 0, 1)); - v.Add(new Voltage("3VSB", 7, 10, 10)); - v.Add(new Voltage("VBat", 8, 10, 10)); - v.Add(new Voltage("AVCC3", 9, 54, 10)); - t.Add(new Temperature("System #1", 0)); - t.Add(new Temperature("Chipset", 1)); - t.Add(new Temperature("CPU", 2)); - t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM", 4)); - - break; - } - case Chip.IT879XE: - { - v.Add(new Voltage("VIN0", 0, 0, 1)); - v.Add(new Voltage("DDR VTT", 1, 0, 1)); - v.Add(new Voltage("Chipset Core", 2, 0, 1)); - v.Add(new Voltage("VIN3", 3, 0, 1)); - v.Add(new Voltage("CPU VDD18", 4, 0, 1)); - v.Add(new Voltage("Chipset Core +2.5V", 5, 0.5F, 1)); - v.Add(new Voltage("3VSB", 6, 1, 10)); - v.Add(new Voltage("VBat", 7, 0.7F, 1)); - t.Add(new Temperature("PCIe x8", 0)); - t.Add(new Temperature("System #2", 2)); - - break; - } - } - - for (int i = 0; i < superIO.Fans.Length; i++) - f.Add(new Fan("Fan #" + (i + 1), i)); - - for (int i = 0; i < superIO.Controls.Length; i++) - c.Add(new Ctrl("Fan Control #" + (i + 1), i)); - - break; - } - case Model.X570_AORUS_MASTER: // IT8688E - { - switch (superIO.Chip) - { - case Chip.IT8688E: - { - v.Add(new Voltage("Vcore", 0)); - v.Add(new Voltage("+3.3V", 1, 29.4f, 45.3f)); - v.Add(new Voltage("+12V", 2, 10f, 2f)); - v.Add(new Voltage("+5V", 3, 15f, 10f)); - v.Add(new Voltage("Vcore SoC", 4)); - v.Add(new Voltage("VDDP", 5)); - v.Add(new Voltage("DIMM AB", 6)); - v.Add(new Voltage("3VSB", 7, 1f, 10f)); - v.Add(new Voltage("VBat", 8, 1f, 10f)); - t.Add(new Temperature("System #1", 0)); - t.Add(new Temperature("EC_TEMP1", 1)); - t.Add(new Temperature("CPU", 2)); - t.Add(new Temperature("PCIe x16", 3)); - t.Add(new Temperature("VRM MOS", 4)); - t.Add(new Temperature("PCH", 5)); - f.Add(new Fan("CPU Fan", 0)); - f.Add(new Fan("System Fan #1", 1)); - f.Add(new Fan("System Fan #2", 2)); - f.Add(new Fan("PCH Fan", 3)); - f.Add(new Fan("CPU OPT Fan", 4)); - - break; - } - case Chip.IT879XE: - { - v.Add(new Voltage("CPU VDD18", 0)); - v.Add(new Voltage("DDRVTT AB", 1)); - v.Add(new Voltage("Chipset Core", 2)); - v.Add(new Voltage("Voltage #4", 3, true)); - v.Add(new Voltage("CPU VDD18", 4)); - v.Add(new Voltage("PM_CLDO12", 5)); - v.Add(new Voltage("Voltage #7", 6, true)); - v.Add(new Voltage("3VSB", 7, 1f, 1f)); - v.Add(new Voltage("VBat", 8, 1f, 1f)); - t.Add(new Temperature("PCIe x8", 0)); - t.Add(new Temperature("EC_TEMP2", 1)); - t.Add(new Temperature("System #2", 2)); - f.Add(new Fan("System Fan #5 Pump", 0)); - f.Add(new Fan("System Fan #6 Pump", 1)); - f.Add(new Fan("System Fan #4", 2)); - - break; - } - } break; } @@ -1036,7 +859,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("Voltage #8", 7, true)); v.Add(new Voltage("VBat", 8)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1063,7 +886,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("Voltage #8", 7, true)); v.Add(new Voltage("VBat", 8)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1177,7 +1000,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); f.Add(new Fan("Power Fan", 2)); - + break; } default: @@ -1191,7 +1014,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); v.Add(new Voltage("VBat", 8, 10, 10)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1224,7 +1047,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 2)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("System Fan", 1)); - + break; } case Model.H67A_UD3H_B3: // IT8728F @@ -1243,7 +1066,143 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #2", 3)); - + + break; + } + case Model.AX370_Gaming_K7: // IT8686E + case Model.AX370_Gaming_5: + case Model.AB350_Gaming_3: // IT8686E + { + // Note: v3.3, v12, v5, and AVCC3 might be slightly off. + v.Add(new Voltage("Vcore", 0)); + v.Add(new Voltage("+3.3V", 1, 0.65f, 1)); + v.Add(new Voltage("+12V", 2, 5, 1)); + v.Add(new Voltage("+5V", 3, 1.5f, 1)); + v.Add(new Voltage("VSOC", 4)); + v.Add(new Voltage("VDDP", 5)); + v.Add(new Voltage("DIMM", 6)); + v.Add(new Voltage("3VSB", 7, 10, 10)); + v.Add(new Voltage("VBat", 8, 10, 10)); + v.Add(new Voltage("AVCC3", 9, 7.53f, 1)); + t.Add(new Temperature("System", 0)); + t.Add(new Temperature("Chipset", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM MOS", 4)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + break; + } + case Model.X399_AORUS_Gaming_7: // ITE IT8686E + { + v.Add(new Voltage("Vcore", 0, 0, 1)); + v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); + v.Add(new Voltage("+12V", 2, 5, 1)); + v.Add(new Voltage("+5V", 3, 1.5F, 1)); + v.Add(new Voltage("DIMM CD", 4, 0, 1)); + v.Add(new Voltage("Vcore SoC", 5, 0, 1)); + v.Add(new Voltage("DIMM AB", 6, 0, 1)); + v.Add(new Voltage("3VSB", 7, 10, 10)); + v.Add(new Voltage("VBat", 8, 10, 10)); + v.Add(new Voltage("AVCC3", 9, 54, 10)); + t.Add(new Temperature("System #1", 0)); + t.Add(new Temperature("Chipset", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM", 4)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + + break; + } + case Model.X470_AORUS_GAMING_7_WIFI: // ITE IT8686E + { + v.Add(new Voltage("Vcore", 0, 0, 1)); + v.Add(new Voltage("+3.3V", 1, 6.5F, 10)); + v.Add(new Voltage("+12V", 2, 5, 1)); + v.Add(new Voltage("+5V", 3, 1.5F, 1)); + v.Add(new Voltage("Vcore SoC", 4, 0, 1)); + v.Add(new Voltage("VDDP", 5, 0, 1)); + v.Add(new Voltage("DIMM AB", 6, 0, 1)); + v.Add(new Voltage("3VSB", 7, 10, 10)); + v.Add(new Voltage("VBat", 8, 10, 10)); + v.Add(new Voltage("AVCC3", 9, 54, 10)); + t.Add(new Temperature("System #1", 0)); + t.Add(new Temperature("Chipset", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM", 4)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + + break; + } + case Model.X570_AORUS_MASTER: // IT8688E + { + v.Add(new Voltage("Vcore", 0)); + v.Add(new Voltage("+3.3V", 1, 29.4f, 45.3f)); + v.Add(new Voltage("+12V", 2, 10f, 2f)); + v.Add(new Voltage("+5V", 3, 15f, 10f)); + v.Add(new Voltage("Vcore SoC", 4)); + v.Add(new Voltage("VDDP", 5)); + v.Add(new Voltage("DIMM AB", 6)); + v.Add(new Voltage("3VSB", 7, 1f, 10f)); + v.Add(new Voltage("VBat", 8, 1f, 10f)); + t.Add(new Temperature("System #1", 0)); + t.Add(new Temperature("EC_TEMP1", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM MOS", 4)); + t.Add(new Temperature("PCH", 5)); + f.Add(new Fan("CPU Fan", 0)); + f.Add(new Fan("System Fan #1", 1)); + f.Add(new Fan("System Fan #2", 2)); + f.Add(new Fan("PCH Fan", 3)); + f.Add(new Fan("CPU OPT Fan", 4)); + c.Add(new Ctrl("CPU Fan", 0)); + c.Add(new Ctrl("System Fan #1", 1)); + c.Add(new Ctrl("System Fan #2", 2)); + c.Add(new Ctrl("PCH Fan", 3)); + c.Add(new Ctrl("CPU OPT Fan", 4)); + + break; + } + case Model.Z390_M_GAMING: // IT8688E + case Model.Z390_AORUS_ULTRA: + case Model.Z390_UD: + { + v.Add(new Voltage("Vcore", 0)); + v.Add(new Voltage("+3.3V", 1, 6.49f, 10)); + v.Add(new Voltage("+12V", 2, 5f, 1)); + v.Add(new Voltage("+5V", 3, 1.5f, 1)); + v.Add(new Voltage("CPU VCCGT", 4)); + v.Add(new Voltage("CPU VCCSA", 5)); + v.Add(new Voltage("VDDQ", 6)); + v.Add(new Voltage("DDRVTT", 7)); + v.Add(new Voltage("PCHCore", 8)); + v.Add(new Voltage("CPU VCCIO", 9)); + v.Add(new Voltage("DDRVPP", 10)); + t.Add(new Temperature("System #1", 0)); + t.Add(new Temperature("PCH", 1)); + t.Add(new Temperature("CPU", 2)); + t.Add(new Temperature("PCIe x16", 3)); + t.Add(new Temperature("VRM MOS", 4)); + t.Add(new Temperature("System2", 5)); + f.Add(new Fan("CPU Fan", 0)); + f.Add(new Fan("System Fan #1", 1)); + f.Add(new Fan("System Fan #2", 2)); + f.Add(new Fan("System Fan #3", 3)); + break; } case Model.Z68A_D3H_B3: // IT8728F @@ -1262,7 +1221,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #2", 3)); - + break; } case Model.P67A_UD3_B3: // IT8728F @@ -1285,7 +1244,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #2", 1)); f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("System Fan #1", 3)); - + break; } case Model.Z68X_UD7_B3: // IT8728F @@ -1306,7 +1265,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 2)); f.Add(new Fan("System Fan #2", 3)); f.Add(new Fan("System Fan #3", 4)); - + break; } case Model.X79_UD3: // IT8728F @@ -1327,7 +1286,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("System Fan #1", 1)); f.Add(new Fan("System Fan #2", 2)); f.Add(new Fan("System Fan #3", 3)); - + break; } default: @@ -1341,7 +1300,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); v.Add(new Voltage("VBat", 8, 10, 10)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1374,7 +1333,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 1)); f.Add(new Fan("Fan #1", 0)); f.Add(new Fan("CPU Fan", 1)); - + break; } default: @@ -1388,7 +1347,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); v.Add(new Voltage("VBat", 8, 10, 10)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1415,7 +1374,109 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); v.Add(new Voltage("VBat", 8, 10, 10)); - + + for (int i = 0; i < superIO.Temperatures.Length; i++) + t.Add(new Temperature("Temperature #" + (i + 1), i)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + + break; + } + } + } + + private static void GetIteConfigurationsC(ISuperIO superIO, Manufacturer manufacturer, Model model, IList v, IList t, IList f, IList c) + { + switch (manufacturer) + { + case Manufacturer.Gigabyte: + { + switch (model) + { + case Model.X570_AORUS_MASTER: // IT879XE + { + v.Add(new Voltage("CPU VDD18", 0)); + v.Add(new Voltage("DDRVTT AB", 1)); + v.Add(new Voltage("Chipset Core", 2)); + v.Add(new Voltage("Voltage #4", 3, true)); + v.Add(new Voltage("CPU VDD18", 4)); + v.Add(new Voltage("PM_CLDO12", 5)); + v.Add(new Voltage("Voltage #7", 6, true)); + v.Add(new Voltage("3VSB", 7, 1f, 1f)); + v.Add(new Voltage("VBat", 8, 1f, 1f)); + t.Add(new Temperature("PCIe x8", 0)); + t.Add(new Temperature("EC_TEMP2", 1)); + t.Add(new Temperature("System #2", 2)); + f.Add(new Fan("System Fan #5 Pump", 0)); + f.Add(new Fan("System Fan #6 Pump", 1)); + f.Add(new Fan("System Fan #4", 2)); + + break; + } + case Model.X470_AORUS_GAMING_7_WIFI: // ITE IT8792 + { + v.Add(new Voltage("VIN0", 0, 0, 1)); + v.Add(new Voltage("DDR VTT", 1, 0, 1)); + v.Add(new Voltage("Chipset Core", 2, 0, 1)); + v.Add(new Voltage("VIN3", 3, 0, 1)); + v.Add(new Voltage("CPU VDD18", 4, 0, 1)); + v.Add(new Voltage("Chipset Core +2.5V", 5, 0.5F, 1)); + v.Add(new Voltage("3VSB", 6, 1, 10)); + v.Add(new Voltage("VBat", 7, 0.7F, 1)); + t.Add(new Temperature("PCIe x8", 0)); + t.Add(new Temperature("System #2", 2)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + + break; + } + default: + { + v.Add(new Voltage("Voltage #1", 0, true)); + v.Add(new Voltage("Voltage #2", 1, true)); + v.Add(new Voltage("Voltage #3", 2, true)); + v.Add(new Voltage("Voltage #4", 3, true)); + v.Add(new Voltage("Voltage #5", 4, true)); + v.Add(new Voltage("Voltage #6", 5, true)); + v.Add(new Voltage("Voltage #7", 6, true)); + v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); + v.Add(new Voltage("VBat", 8, 10, 10)); + + for (int i = 0; i < superIO.Temperatures.Length; i++) + t.Add(new Temperature("Temperature #" + (i + 1), i)); + + for (int i = 0; i < superIO.Fans.Length; i++) + f.Add(new Fan("Fan #" + (i + 1), i)); + + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + + break; + } + } + + break; + } + default: + { + v.Add(new Voltage("Voltage #1", 0, true)); + v.Add(new Voltage("Voltage #2", 1, true)); + v.Add(new Voltage("Voltage #3", 2, true)); + v.Add(new Voltage("Voltage #4", 3, true)); + v.Add(new Voltage("Voltage #5", 4, true)); + v.Add(new Voltage("Voltage #6", 5, true)); + v.Add(new Voltage("Voltage #7", 6, true)); + v.Add(new Voltage("3VSB", 7, 10, 10, 0, true)); + v.Add(new Voltage("VBat", 8, 10, 10)); + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1455,7 +1516,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("Power Fan", 1)); f.Add(new Fan("Chassis Fan", 2)); - + break; } default: @@ -1469,7 +1530,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("Voltage #7", 6, true)); v.Add(new Voltage("VSB3V", 7, 150, 150)); v.Add(new Voltage("VBat", 8, 150, 150)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1495,7 +1556,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("VSB3V", 7, 150, 150)); v.Add(new Voltage("VBat", 8, 150, 150)); - + for (int i = 0; i < superIO.Temperatures.Length; i++) t.Add(new Temperature("Temperature #" + (i + 1), i)); @@ -1539,7 +1600,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("Chassis Fan #2", 0)); c.Add(new Ctrl("CPU Fan", 1)); c.Add(new Ctrl("Chassis Fan #1", 2)); - + break; } case Model.P8P67_M_PRO: // NCT6776F @@ -1560,7 +1621,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Chassis Fan #2", 2)); f.Add(new Fan("Power Fan", 3)); f.Add(new Fan("Auxiliary Fan", 4)); - + break; } case Model.P8Z68_V_PRO: // NCT6776F @@ -1575,7 +1636,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("CPU", 0)); t.Add(new Temperature("Auxiliary", 2)); t.Add(new Temperature("Motherboard", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1595,7 +1656,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard v.Add(new Voltage("VBat", 8, 34, 34)); t.Add(new Temperature("CPU", 0)); t.Add(new Temperature("Motherboard", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1619,7 +1680,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #1", 1)); t.Add(new Temperature("Temperature #2", 2)); t.Add(new Temperature("Temperature #3", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1698,7 +1759,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #1", 1)); t.Add(new Temperature("Temperature #2", 2)); t.Add(new Temperature("Temperature #3", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1726,7 +1787,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #1", 1)); t.Add(new Temperature("Temperature #2", 2)); t.Add(new Temperature("Temperature #3", 3)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1878,7 +1939,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #4", 4)); t.Add(new Temperature("Temperature #5", 5)); t.Add(new Temperature("Temperature #6", 6)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -1923,7 +1984,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("CPU Fan", 1)); c.Add(new Ctrl("Chassis Fan #2", 2)); c.Add(new Ctrl("Chassis Fan #3", 3)); - + break; } case Model.ROG_MAXIMUS_X_APEX: // NCT6793D @@ -1960,7 +2021,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("Chassis Fan #2", 2)); c.Add(new Ctrl("Chassis Fan #3", 3)); c.Add(new Ctrl("AIO Pump", 4)); - + break; } case Model.Z170_A: //NCT6793D @@ -2020,7 +2081,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #4", 4)); t.Add(new Temperature("Temperature #5", 5)); t.Add(new Temperature("Temperature #6", 6)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -2063,7 +2124,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("CPU Fan", 1)); c.Add(new Ctrl("System Fan #1", 2)); c.Add(new Ctrl("System Fan #2", 3)); - + break; } case Model.B450A_PRO: // NCT6797D @@ -2099,7 +2160,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("System Fan #2", 3)); c.Add(new Ctrl("System Fan #3", 4)); c.Add(new Ctrl("System Fan #4", 5)); - + break; } case Model.Z270_PC_MATE: // NCT6795D @@ -2133,7 +2194,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard c.Add(new Ctrl("System Fan #2", 3)); c.Add(new Ctrl("System Fan #3", 4)); c.Add(new Ctrl("System Fan #4", 5)); - + break; } default: @@ -2160,7 +2221,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #4", 4)); t.Add(new Temperature("Temperature #5", 5)); t.Add(new Temperature("Temperature #6", 6)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -2197,7 +2258,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Temperature #4", 4)); t.Add(new Temperature("Temperature #5", 5)); t.Add(new Temperature("Temperature #6", 6)); - + for (int i = 0; i < superIO.Fans.Length; i++) f.Add(new Fan("Fan #" + (i + 1), i)); @@ -2230,7 +2291,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard t.Add(new Temperature("Motherboard", 2)); f.Add(new Fan("CPU Fan", 0)); f.Add(new Fan("Chassis Fan", 1)); - + break; } default: @@ -2253,7 +2314,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Auxiliary Fan", 2)); f.Add(new Fan("CPU Fan #2", 3)); f.Add(new Fan("Auxiliary Fan #2", 4)); - + break; } } @@ -2280,7 +2341,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Auxiliary Fan", 2)); f.Add(new Fan("CPU Fan #2", 3)); f.Add(new Fan("Auxiliary Fan #2", 4)); - + break; } } @@ -2307,7 +2368,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Chassis Fan", 0)); f.Add(new Fan("CPU Fan", 1)); f.Add(new Fan("Power Fan", 2)); - + break; } default: @@ -2329,7 +2390,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Auxiliary Fan", 2)); f.Add(new Fan("CPU Fan #2", 3)); f.Add(new Fan("Auxiliary Fan #2", 4)); - + break; } } @@ -2358,7 +2419,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("Chassis Fan #2", 3)); f.Add(new Fan("Chassis Fan #3", 4)); - + break; } case Model.RAMPAGE_EXTREME: // W83667HG @@ -2377,7 +2438,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Power Fan", 2)); f.Add(new Fan("Chassis Fan #2", 3)); f.Add(new Fan("Chassis Fan #3", 4)); - + break; } default: @@ -2399,7 +2460,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Auxiliary Fan", 2)); f.Add(new Fan("CPU Fan #2", 3)); f.Add(new Fan("Auxiliary Fan #2", 4)); - + break; } } @@ -2425,7 +2486,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard f.Add(new Fan("Auxiliary Fan", 2)); f.Add(new Fan("CPU Fan #2", 3)); f.Add(new Fan("Auxiliary Fan #2", 4)); - + break; } }