Commit Graph
658 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
Phyxion a7547bc6bf Update OpenHardwareMonitorLib.csproj 2019-09-09 15:22:02 +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 148627e17f Merge branch 'master' of https://github.com/LibreHardwareMonitor/LibreHardwareMonitor 2019-08-29 19:16:36 +02:00
Phyxion 4b15ebf0b2 Update Ryzen 3000 core numbering 2019-08-29 19:16:18 +02:00
Phyxion 315780fc09 Update appveyor.yml 2019-08-29 19:16:00 +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
MoshiMoshi0 2a1aaa0974 Update referenced packages to the latest stable release (#93) 2019-04-29 11:25:00 +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
Phyxion 2f24b5cab3 Create LICENSE 2018-05-13 17:12:24 +02:00
Aeronaut 3460ec7fb2 Added support for NCT6792D, tested on MSI X99S Gaming 7 (#38) 2018-05-10 18:56:45 +02:00
Phyxion 75f24fe542 Update README.md 2018-05-03 15:22:45 +02:00
Nicholas Seckar 9a1088e537 Fix 64bit detection, broken since 66e69c4c25. (#34)
This commit restores the previous logic of accepting an 8-byte intptr as evidence
enough for 64bit. It also accepts presence of IsWow64Process as evidence of 64bit.
On 64bit, this may return true or false depending on the process. On 32bit this entry
point is not available and an exception will be raised.
2018-03-28 09:51:21 +02:00
Nicholas Seckar c873b66cd9 Update main form to save and restore split distance. (#35)
Restoring split distance also requires restoring the window bounds earlier during initialization.
2018-03-28 09:47:40 +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 22bd00c806 AppVeyor and NuGet
Fixes AppVeyor and adds NuGet package building.
2018-01-28 10:12:32 +01:00
Phyxion 61ef0aebad Merge pull request #29 from LibreHardwareMonitor/pr/21
Pr/21
2018-01-27 13:41:06 +01:00