Commit Graph
413 Commits
Author SHA1 Message Date
Phyxion d92d88d905 Update IntelCPU.cs
Fixes #111.
2019-09-12 11:00:08 +02:00
Ferenc Boldog c745d888df Add missing ATI GPU temperatures (#123)
Thanks to @fboldog
2019-09-12 10:29:31 +02:00
Phyxion 9b29f4e071 Expose more information in the library 2019-09-09 20:15:57 +02:00
Aqua Computer db51d7f509 NVMe and HDD Refactoring (#107)
With help from @aquacomputer and @nickbabcock.
2019-09-09 15:10:32 +02:00
Phyxion 4b15ebf0b2 Update Ryzen 3000 core numbering 2019-08-29 19:16:18 +02:00
Phyxion 5b476a881e Add MSI B450-A Pro 2019-08-29 15:22:02 +02:00
Aqua Computer e22a7cba64 RAM Code Refactoring (#108)
RAM Code Refactoring
Added Virtual Memory

Thanks to @aquacomputer
2019-07-25 19:00:05 +02:00
Damien Guard 95d1b8d766 Add SMBIOS Processor Family (#101) 2019-07-20 11:22:38 +02:00
Damien Guard 38286b674c Add SMBIOS BIOS Date + Size (#100) 2019-07-19 19:54:11 +02:00
Damien Guard 41f351db0e Add SMBIOS Baseboard wakeup type (#104)
Thanks to @damieng
2019-07-19 19:53:09 +02:00
Aqua Computer d1eae8e759 Network Code Style (#98)
Thanks to @aquacomputer
2019-07-15 11:52:03 +02:00
Damien Guard d9fa3dbdf2 Add SMBIOS Chassis support (#105) 2019-07-15 11:48:47 +02:00
Damien Guard 42ae6f9220 Add smbios mainboard serial to report (#103) 2019-07-15 11:46:48 +02:00
Damien Guard afb897ae7a SMBIOS - Support cores and threads > 254 (#102) 2019-07-15 11:45:54 +02:00
Aqua Computer 1402176289 Bugfixes and new Mainboards (#96)
Bug: Reduced exceptions during cpu core init
Bug: GetSensorValuesFromSettings, Sensors.cs reduced number of exceptions
Bug: HTTP Server Null Reference Exception on StopHTTPListener
Bug: in some cases 64 bit process on a 32Bit system detected

Intel CPUs:
Max Temperature Sensor from all Cores
Average temperature from all core sensors
dist to tjmax sensor for each core

AMD:
support new cpus
bugfix power sensors

Mainboards:
Asrock:
AB350 PRO4
AB350M PRO4
AB350M
Fatal1ty AB350 Gaming K4
AB350M HDV
Phantom Gaming 6
A320M-HDV
Asrock Z77 Pro4-M

Asus:
ASUS ROG ZENITH EXTREME (X399)
Z170-A

Gigabyte:
GIGABYTE X399 AOURUS GAMING7
2019-07-09 13:13:36 +02:00
Nick Babcock 297bbff5cf Prefer load nvml from standard search order (#97)
Currently it is assumed that `nvml.dll` is located in

```
%ProgramW6432%\NVIDIA Corporation\NVSMI\nvml.dll
```

Not everyone has it installed there. Those that have the nvidia drivers
installed through windows updates will have it in in
`%WINDIR%\system32\nvml.dll` and won't have anything under the "NVSMI"
directory.

Instead of hard coding `%WINDIR%\system32\nvml.dll` as a search
location, we can load whatever `nvml.dll` appears first in the search
order:

```csharp
LoadLibrary("nvml.dll")
```

From [Standard Search Order for Desktop
Applications](https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order#standard-search-order-for-desktop-applications):

> 1. The directory from which the application loaded.
> 1. The system directory. Use the GetSystemDirectory function to get the path of this directory.
> 1. The 16-bit system directory. There is no function that obtains the path of this directory, but it is searched.
> 1. The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
> 1. The current directory.
> 1. The directories that are listed in the PATH environment variable. Note that this does not include the per-application path specified by the App Paths registry key. The App Paths key is not used when computing the DLL search path.

`%WINDIR%\system32` is the system directory and thus `nvml.dll` is loaded.

This will also allow those interested to override the `nvml.dll` by
placing their own in the current directory as LibreHM without effecting
a system installation.

Only if there is no `nvml.dll` in the search space does LibreHM fallback
to searching program files. This may technically be a breaking change
for those that have `nvml.dll` in both the search space (like
`%WINDIR%\system32\nvml.dll`) and `%ProgramW6432%\NVIDIA
Corporation\NVSMI\nvml.dll` and those files differ. I don't suspect this
to be a common occurrence.

If this is expected to be a common occurrence I can switch the logic such
that program files is checked before the standard search space, though
this would make it so one couldn't override the program files
`nvml.dll`.

Tested it and works great so far!
2019-07-09 12:59:10 +02:00
MoshiMoshi0 713fd3071b Cleanup warnings (#94)
* (CS3005) Remove unused duplicate property differing only in case

* (CS3001, CS3003, CS3005) Make OpenHardwareMonitorLib not CLS compliant

* (NU5125) licenseUrl will be deprecated

* (CS0618) SecurityAction.RequestMinimum is obsolete

* "Migrated rules for Aga.Controls.ruleset" is missing
2019-06-06 11:26:22 +02:00
MmAaXx500 e0ad20819b Fix 'PInvokeStackImbalance' in NVAPI.cs (#88) 2019-05-10 21:36:59 +02:00
Campbell 98969ebc3e Added basic Nvidia NVML library support and power usage sensor (#60)
* Added basic Nvidia NVML library support and power usage sensor

* Added basic Nvidia NVML library support and power usage sensor

* Added Initialised check

* Made NvmlDevice internal

* Code formatting

* Move NvmlDevice and NvmlReturn to separate files

* Move code from NvidiaNVMLGPU class to NvidiaGPU class

* Replace call to SetDllDirectory with LoadLibrary/FreeLibrary and code formatting changes

* Made native methods private

* Fixed p/invoke definitions, removed unnecessary try/catch blocks. Code style cleanup
2019-01-27 10:34:04 +01:00
Antoine Reversat 556d62917c Add missing variable (#84) 2019-01-21 21:52:54 +01:00
Antoine Reversat 040d6f8222 Add support for IT8688E chip and various motherboards (#83)
* Add IT8688E chip type

* Add Z390 M Gaming motherboard type

* Add proper voltage and temperatures for Z390 M Gaming

* Add support for Z390 Aorus Ultra and Z390 UD
2019-01-18 16:34:55 +01:00
devcompl 5a075e67f6 Add ability to set sensor values time window (#81) 2019-01-18 13:55:26 +01:00
Tomasz Dylewski 1c585770ef Added support for Nuvoton NCT6797D (#80)
Thanks to @MIFCOM-TD
2019-01-15 20:23:21 +01:00
Nick Babcock 963dd27247 Rework NIC / Network Reporting (#75)
* Rework NIC / Network Reporting

* Switch to monotonic timer for calculating time deltas between reports. Relying on `DateTime` to calculate time deltas is dangerous as it would be susceptible to phenomena such as a user changing their time or leap seconds. The Stopwatch class allows us to get a monotonic timer if it exists.
* Interface statistics reset on wake. Previously this would cause nonsensical negative values to be reported. The fix is to reset the internal state when the interface statistics have been reset.
* Previously, interface hardware already seen when scanned would be re-registered causing zeros to be reported, so the fix is to keep track of what NICs have already been registered
* Corollary, old interfaces were not closed when removed.
* Document the code and constants used (eg: "800" is not indicative of converting bytes to bits and a ratio to a percentage). Hopefully it is much clearer.

Thanks to @nickbabcock
2019-01-13 12:40:03 +01:00
Michal 2bc12a363f Removal of ValueTuple reference. (#78)
It turned out that usage of ValueTuple can be avoided if the code gets simplified (or rather turned into series of LINQ queries).
2019-01-11 14:40:35 +01:00
Tomasz Dylewski e41c76c8c0 Added support for Nuvoton NCT6798D (#79) 2019-01-11 14:27:17 +01:00
Nick Babcock 4ae6141b31 Performance improvements when NIC Enabled (#67)
Thanks to @nickbabcock
2018-11-19 16:33:05 +01:00
Ondrej Čerman cbe1642816 Intel SSD Airflow temperature support (#65) 2018-11-05 15:36:11 +01:00
Nick Babcock 2a760ad98f Fix NIC refresh logic when disabled (#58) 2018-10-30 14:45:53 +01:00
Michal 5d89cdc43d Cleanup around base collection types. (#59)
* Hardware in IGroup is now IEnumerable. No point to call ToArray each time.

* Use ValueTuple insead of custom pair.

* ListSet -> HashSet

* Ring Collection -> List

* ReadOnlyArray -> ReadOnlyList
2018-10-30 14:44:41 +01:00
Corey Shuman 9900f5c0de added support for asus rog maximus apex motherboard (#61)
Thanks @coreyshuman
2018-10-30 14:19:49 +01:00
zsolt3991 07d2d9d8a0 Added AsRock B85M-DGS Support for Voltage sensors (#54) 2018-08-27 18:22:48 +02:00
LORDofDOOM 4ce099c5bf Add Network (NIC) support (updated) (#52)
* [Core] Add Network (NIC) support - All credits to XiaofengdiZhu (https://github.com/XiaofengdiZhu/openhardwaremonitor/commits/EditeByXiaofengdizhu)

* [Core] NIC: Rename InternetSpeed to Throughput, drop non physical devices (like loopback), fix alltime stats for adapter
2018-08-26 10:51:09 +02:00
Fabian f6d3338cda Bugfix - abandoned ISABus mutex deadlock (#51) 2018-08-20 13:46:19 +02:00
Aqua Computer 4652be058c Bugfix (#48)
* Fixed 2 Bugs.
1. Mutex permissions: Global\\Access_ISABUS.HTP.Method, to allow other software access
2. when the driver is not in open the close function is not disposing the mutex

* Support for AMD Zen 2600(x), 2700(x)
Support undocumented temperature offset flag.

* Sync Git1

* AMD Zen 2600(x) + 2700(x) Temperatures

* Bugfix: temperature in AMD17H processors
2018-07-09 09:49:29 +02:00
Aqua Computer e272d1a774 AMD 2600(x) and 2700(x) support (#46)
* Support for AMD Zen 2600(x), 2700(x)
* Support undocumented temperature offset flag.
2018-07-03 13:37:05 +02:00
Phyxion 2a4641e933 Pr/40 (#45)
* Added basic Aquastream Hardware Support using HidLibrary from mikeobrien (https://github.com/mikeobrien/HidLibrary)

* * Using hidlibrary from Nuget and fixing ProductName.
* Added missing string Format for Gadget.
* Changed variable names to follow style.
* Added new newlines. Make AquacomputerGroup public accessible.
* Added aquacomputer Icon after they allowed me to use it ;-)

* Corrected spelling
Corrected Variable names

* Removed External/HidLibrary

* Aquastream

- Remove Debug.

* A

- Clean up remains.
2018-06-30 15:03:50 +02:00
Phyxion 47e04a43d2 Pr/43 (#44)
* Fixed 2 Bugs.
1. Mutex permissions: Global\\Access_ISABUS.HTP.Method, to allow other software access
2. when the driver is not in open the close function is not disposing the mutex

* Misc

- Misc.
2018-06-30 14:55:30 +02:00
Aeronaut 3460ec7fb2 Added support for NCT6792D, tested on MSI X99S Gaming 7 (#38) 2018-05-10 18:56:45 +02:00
Phyxion 66e69c4c25 Pr/30 (#32)
* Unified operating system type detection

* Revert "Unified operating system type detection"

This reverts commit 3edf0edfceaca259e041e23b9930d78531366fd5.

* Introduced OperatingSystem.IsLinux instead of constant check on Os version.

* Misc
2018-02-10 14:01:52 +01:00
Phyxion 98ebfcbf80 Merge branch 'master' into pr/21 2018-01-27 13:40:33 +01:00
Phyxion 10e4975c6d Update IntelCPU.cs
Fixes #25.
2017-12-29 21:50:28 +01:00
Phyxion bcca19de50 Merge branch 'master' of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor 2017-12-29 13:24:46 +01:00
Phyxion 2cc137f1b2 Z270 PC MATE support
Credits to @martynsmall
2017-12-29 13:24:43 +01:00
Phyxion 95cfbdc275 Merge pull request #24 from jesterret/master
Added support for Fintek F71878AD (vendorId 0x1106)

Credits to @jesterret.
2017-12-29 12:26:21 +01:00
Phyxion ce8be3f30d Merge branch 'pr/23' 2017-12-29 12:18:31 +01:00
Doug Johnson 2916380122 Add support for Coffee Lake 2017-12-21 18:42:31 -07:00
jesterret 51fe254140 Added support for Fintek F71878AD (vendorId 0x1106) 2017-12-01 01:41:53 +01:00
Phyxion 60e1604672 Several types to public to allow additional library usage. 2017-11-20 15:44:44 +01:00
LORDofDOOM 5fae26e854 [Core] Wrong line -> Fix 2017-11-14 00:09:35 +01:00