diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs index d496544..4d571e9 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs @@ -363,6 +363,8 @@ internal class Identification return Model.ROG_MAXIMUS_Z690_EXTREME_GLACIAL; case var _ when name.Equals("B660GTN", StringComparison.OrdinalIgnoreCase): return Model.B660GTN; + case var _ when name.Equals("ROG MAXIMUS Z790 HERO", StringComparison.OrdinalIgnoreCase): + return Model.ROG_MAXIMUS_Z790_HERO; case var _ when name.Equals("Base Board Product Name", StringComparison.OrdinalIgnoreCase): case var _ when name.Equals("To be filled by O.E.M.", StringComparison.OrdinalIgnoreCase): return Model.Unknown; diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs index 35edd55..16d72b9 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs @@ -148,6 +148,11 @@ public abstract class EmbeddedController : Hardware ECSensor.TempWaterOut, ECSensor.TempWaterBlockIn, ECSensor.FanWaterFlow), + new(Model.ROG_MAXIMUS_Z790_HERO, + BoardFamily.Intel700, + ECSensor.TempWaterIn, + ECSensor.TempWaterOut, + ECSensor.FanWaterFlow), new(Model.Z170_A, BoardFamily.Intel100, ECSensor.TempTSensor, @@ -215,6 +220,14 @@ public abstract class EmbeddedController : Hardware { ECSensor.TempWaterBlockIn, new EmbeddedControllerSource("Water Block In", SensorType.Temperature, 0x0102, blank: -40) }, { ECSensor.FanWaterFlow, new EmbeddedControllerSource("Water Flow", SensorType.Flow, 0x00be, 2, factor: 1.0f / 42f * 60f) } // todo: need validation for this calculation } + }, + { + BoardFamily.Intel700, new Dictionary + { + { ECSensor.TempWaterIn, new EmbeddedControllerSource("Water In", SensorType.Temperature, 0x0100, blank: -40) }, + { ECSensor.TempWaterOut, new EmbeddedControllerSource("Water Out", SensorType.Temperature, 0x0101, blank: -40) }, + { ECSensor.FanWaterFlow, new EmbeddedControllerSource("Water Flow", SensorType.Flow, 0x00be, 2, factor: 1.0f / 42f * 60f) } // todo: need validation for this calculation + } } }; @@ -416,7 +429,8 @@ public abstract class EmbeddedController : Hardware Amd400, Amd500, Intel100, - Intel600 + Intel600, + Intel700 } private struct BoardInfo diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs index 86995be..de255f7 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs @@ -75,6 +75,7 @@ internal enum Model TUF_X470_PLUS_GAMING, Z170_A, TUF_GAMING_B550M_PLUS_WIFI, + ROG_MAXIMUS_Z790_HERO, //BIOSTAR B660GTN, diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs index 6d4a6f2..29fcaa4 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs @@ -2591,6 +2591,38 @@ internal sealed class SuperIOHardware : Hardware break; + case Model.ROG_MAXIMUS_Z790_HERO: //NCT6798D + t.Add(new Temperature("CPU Package", 0)); + t.Add(new Temperature("VRM", 1)); + t.Add(new Temperature("Motherboard", 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)); + //t.Add(new Temperature("Temperature #7", 7)); + t.Add(new Temperature("Temperature #8", 8)); + t.Add(new Temperature("Temperature #9", 9)); + t.Add(new Temperature("Temperature #10", 10)); + t.Add(new Temperature("Temperature #11", 11)); + t.Add(new Temperature("Chipset", 12)); + t.Add(new Temperature("Temperature #13", 13)); + t.Add(new Temperature("Temperature #14", 14)); + t.Add(new Temperature("Temperature #15", 15)); + t.Add(new Temperature("Temperature #16", 16)); + t.Add(new Temperature("Temperature #17", 17)); + t.Add(new Temperature("Temperature #18", 18)); + t.Add(new Temperature("Temperature #19", 19)); + t.Add(new Temperature("Temperature #20", 20)); + t.Add(new Temperature("CPU", 21)); + + 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 #" + (i + 1), i)); + + break; + case Model.ROG_STRIX_B550_I_GAMING: //NCT6798D v.Add(new Voltage("Vcore", 0, 10, 10)); v.Add(new Voltage("+5V", 1, 4, 1)); //Probably not updating properly