* Add Identification Support for 15 new MSI AM5/LGA1851 Motherboards with the NCT6687D SIO Controller * Create dummy chip entry NCT6687DR * Assign NCT6687DR SIO to 15 newly added MSI AM5/LGA1851 Motherboards This also requires passing Motherboard into DetectWinbondFintek() as we want to maintain prior compatibility while also assigning NCT6687DR to the new motherboards * Add proper voltage, fan, and temperature sensor layouts for motherboards assigned the NCT6687DR controller * Add support for NCT6687DR including dedicated fan control function for system fan manipulation NCT6687DRFanCtrl() is only called when chip == NCT6687DR, otherwise legacy control is maintained. This function works by setting the 7-point fan curve of the system fans to the same requested value where the system fan has no choice but to comply * Rectify code style in new functions to follow standards * Update Nct677X.cs --------- Co-authored-by: Alcolawl <tdean@live.esu.edu> Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
LibreHardwareMonitor
Libre Hardware Monitor, a fork of Open Hardware Monitor, is free software that can monitor the temperature sensors, fan speeds, voltages, load and clock speeds of your computer.
What's included?
What can it do?
You can read information from devices such as:
- Motherboards
- Intel and AMD processors
- NVIDIA and AMD graphics cards
- HDD, SSD and NVMe hard drives
- Network cards
Where can I download it?
You can download the latest release here.
Nightly builds
If you have a GitHub account, you can download nightly builds here. Otherwise, you can download the latest nightly build here.
How can I help improve it?
The LibreHardwareMonitor team welcomes feedback and contributions!
You can check if it works properly on your motherboard. For many manufacturers, the way of reading data differs a bit, so if you notice any inaccuracies, please send us a pull request. If you have any suggestions or improvements, don't hesitate to create an issue.
Developer information
Integrate the library in own application
- Add the LibreHardwareMonitorLib NuGet package to your application.
- Use the sample code below.
Sample code
public class UpdateVisitor : IVisitor
{
public void VisitComputer(IComputer computer)
{
computer.Traverse(this);
}
public void VisitHardware(IHardware hardware)
{
hardware.Update();
foreach (IHardware subHardware in hardware.SubHardware) subHardware.Accept(this);
}
public void VisitSensor(ISensor sensor) { }
public void VisitParameter(IParameter parameter) { }
}
public void Monitor()
{
Computer computer = new Computer
{
IsCpuEnabled = true,
IsGpuEnabled = true,
IsMemoryEnabled = true,
IsMotherboardEnabled = true,
IsControllerEnabled = true,
IsNetworkEnabled = true,
IsStorageEnabled = true
};
computer.Open();
computer.Accept(new UpdateVisitor());
foreach (IHardware hardware in computer.Hardware)
{
Console.WriteLine("Hardware: {0}", hardware.Name);
foreach (IHardware subhardware in hardware.SubHardware)
{
Console.WriteLine("\tSubhardware: {0}", subhardware.Name);
foreach (ISensor sensor in subhardware.Sensors)
{
Console.WriteLine("\t\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
}
}
foreach (ISensor sensor in hardware.Sensors)
{
Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
}
}
computer.Close();
}
Administrator rights
Some sensors require administrator privileges to access the data. Restart your IDE with admin privileges, or add an app.manifest file to your project with requestedExecutionLevel on requireAdministrator.
License
LibreHardwareMonitor is free and open source software licensed under MPL 2.0. You can use it in private and commercial projects. Keep in mind that you must include a copy of the license in your project.