From 2cc137f1b2afcef7ef27490afb743836f907d49f Mon Sep 17 00:00:00 2001 From: Phyxion Date: Fri, 29 Dec 2017 13:24:43 +0100 Subject: [PATCH] Z270 PC MATE support Credits to @martynsmall --- Hardware/Mainboard/Identification.cs | 2 + Hardware/Mainboard/Model.cs | 5 +- Hardware/Mainboard/SuperIOHardware.cs | 123 +++++++++++++++++++------- 3 files changed, 99 insertions(+), 31 deletions(-) diff --git a/Hardware/Mainboard/Identification.cs b/Hardware/Mainboard/Identification.cs index ef9e8fe..a190d05 100644 --- a/Hardware/Mainboard/Identification.cs +++ b/Hardware/Mainboard/Identification.cs @@ -181,6 +181,8 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { return Model.X38_DS5; case "X58A-UD3R": return Model.X58A_UD3R; + case "Z270 PC MATE": + return Model.Z270_PC_MATE; case "X79-UD3": return Model.X79_UD3; case "Z68A-D3H-B3": diff --git a/Hardware/Mainboard/Model.cs b/Hardware/Mainboard/Model.cs index f076fbb..67f15c7 100644 --- a/Hardware/Mainboard/Model.cs +++ b/Hardware/Mainboard/Model.cs @@ -40,6 +40,9 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { // ECS A890GXM_A, + // MSI + Z270_PC_MATE, + // EVGA X58_SLI_Classified, @@ -87,6 +90,6 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { FH67, // Unknown - Unknown + Unknown } } diff --git a/Hardware/Mainboard/SuperIOHardware.cs b/Hardware/Mainboard/SuperIOHardware.cs index e5fe79d..ea6edc1 100644 --- a/Hardware/Mainboard/SuperIOHardware.cs +++ b/Hardware/Mainboard/SuperIOHardware.cs @@ -1182,6 +1182,99 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { c.Add(new Ctrl("Chassis Fan #2", 2)); c.Add(new Ctrl("Chassis Fan #3", 3)); break; + default: + v.Add(new Voltage("CPU VCore", 0)); + v.Add(new Voltage("Voltage #2", 1, true)); + v.Add(new Voltage("AVCC", 2, 34, 34)); + v.Add(new Voltage("3VCC", 3, 34, 34)); + 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, 34, 34)); + v.Add(new Voltage("VBAT", 8, 34, 34)); + v.Add(new Voltage("VTT", 9)); + v.Add(new Voltage("Voltage #11", 10, true)); + v.Add(new Voltage("Voltage #12", 11, true)); + v.Add(new Voltage("Voltage #13", 12, true)); + v.Add(new Voltage("Voltage #14", 13, true)); + v.Add(new Voltage("Voltage #15", 14, true)); + t.Add(new Temperature("CPU Core", 0)); + t.Add(new Temperature("Temperature #1", 1)); + t.Add(new Temperature("Temperature #2", 2)); + t.Add(new Temperature("Temperature #3", 3)); + 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)); + for (int i = 0; i < superIO.Controls.Length; i++) + c.Add(new Ctrl("Fan Control #" + (i + 1), i)); + break; + } + break; + case Manufacturer.MSI: + switch (model) { + case Model.Z270_PC_MATE: // NCT6795D + v.Add(new Voltage("CPU VCore", 0)); + v.Add(new Voltage("+5V", 1, 4, 1)); + v.Add(new Voltage("AVCC", 2, 34, 34)); + v.Add(new Voltage("3VCC", 3, 34, 34)); + v.Add(new Voltage("+12V", 4, 11, 1)); + v.Add(new Voltage("Voltage #6", 5, true)); + v.Add(new Voltage("CPU I/O", 6)); + v.Add(new Voltage("3VSB", 7, 34, 34)); + v.Add(new Voltage("VTT", 9)); + v.Add(new Voltage("CPU SA", 10)); + v.Add(new Voltage("Voltage #12", 11, true)); + v.Add(new Voltage("PCH", 12)); + v.Add(new Voltage("DRAM", 13, 1, 1)); + v.Add(new Voltage("Voltage #15", 14, true)); + t.Add(new Temperature("CPU", 0)); + t.Add(new Temperature("Auxiliary", 1)); + t.Add(new Temperature("Motherboard", 2)); + f.Add(new Fan("Pump Fan", 0)); + f.Add(new Fan("CPU Fan", 1)); + f.Add(new Fan("System Fan #1", 2)); + f.Add(new Fan("System Fan #2", 3)); + f.Add(new Fan("System Fan #3", 4)); + f.Add(new Fan("System Fan #4", 5)); + c.Add(new Ctrl("Pump Fan", 0)); + c.Add(new Ctrl("CPU Fan", 1)); + c.Add(new Ctrl("System Fan #1", 2)); + 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: + v.Add(new Voltage("CPU VCore", 0)); + v.Add(new Voltage("Voltage #2", 1, true)); + v.Add(new Voltage("AVCC", 2, 34, 34)); + v.Add(new Voltage("3VCC", 3, 34, 34)); + 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, 34, 34)); + v.Add(new Voltage("VBAT", 8, 34, 34)); + v.Add(new Voltage("VTT", 9)); + v.Add(new Voltage("Voltage #11", 10, true)); + v.Add(new Voltage("Voltage #12", 11, true)); + v.Add(new Voltage("Voltage #13", 12, true)); + v.Add(new Voltage("Voltage #14", 13, true)); + v.Add(new Voltage("Voltage #15", 14, true)); + t.Add(new Temperature("CPU Core", 0)); + t.Add(new Temperature("Temperature #1", 1)); + t.Add(new Temperature("Temperature #2", 2)); + t.Add(new Temperature("Temperature #3", 3)); + 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)); + 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("CPU VCore", 0)); v.Add(new Voltage("Voltage #2", 1, true)); @@ -1210,36 +1303,6 @@ namespace OpenHardwareMonitor.Hardware.Mainboard { 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("CPU VCore", 0)); - v.Add(new Voltage("Voltage #2", 1, true)); - v.Add(new Voltage("AVCC", 2, 34, 34)); - v.Add(new Voltage("3VCC", 3, 34, 34)); - 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, 34, 34)); - v.Add(new Voltage("VBAT", 8, 34, 34)); - v.Add(new Voltage("VTT", 9)); - v.Add(new Voltage("Voltage #11", 10, true)); - v.Add(new Voltage("Voltage #12", 11, true)); - v.Add(new Voltage("Voltage #13", 12, true)); - v.Add(new Voltage("Voltage #14", 13, true)); - v.Add(new Voltage("Voltage #15", 14, true)); - t.Add(new Temperature("CPU Core", 0)); - t.Add(new Temperature("Temperature #1", 1)); - t.Add(new Temperature("Temperature #2", 2)); - t.Add(new Temperature("Temperature #3", 3)); - 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)); - for (int i = 0; i < superIO.Controls.Length; i++) - c.Add(new Ctrl("Fan Control #" + (i + 1), i)); - break; } }