Commit Graph
49 Commits
Author SHA1 Message Date
push-0x57df 47b46c7bf4 Solve the problem of long delays in data updates for mechanical disk read/write speeds. (#2301) 2026-04-08 19:58:31 +02:00
BlacktempelandPhyxionNL 9e831e07b2 Update for DiskInfoToolkit Version 2.0.0. (#2298)
* Update for DiskInfoToolkit Version 2.0.0.

* PR comments

* PR comments.

* Apply suggestion from @PhyxionNL

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-04-06 19:26:02 +02:00
Blacktempel a0392ad4fc Add StorageDevice.ForceWakeup property. (#2252) 2026-03-02 19:16:01 +01:00
Blacktempel f5479cdbf0 Update DiskInfoToolkit & add Force Drive Wakeup option (#2245)
* Update DiskInfoToolkit.
Add option for Force Drive Wakeup.

* Change default value

* Replace name
2026-02-27 16:26:30 +01:00
BlacktempelandPhyxionNL eb799fa815 Add thermal sensor 1 back for NVMe (#2186)
* Add sensor 1 back for NVMe.
Adjust name of standard temperature sensor for NVMe.

* Update LibreHardwareMonitorLib/Hardware/Storage/StorageDevice.cs

* Update LibreHardwareMonitorLib/Hardware/Storage/StorageDevice.cs

* Update StorageDevice.cs

---------

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2026-01-29 11:45:59 +01:00
Blacktempel a673f60d0b RAM: (#2124)
- add temperature sensors for high/low/critical limits
- change thermal sensor index to 0
- adjust sensor indices accordingly

Storage:
- add Free Space sensor
- add Total Space sensor
- change temperature sensors indices to start from 0
- remove temperature sensor 1 as the non numbered sensor is the same
2026-01-06 23:23:59 +01:00
Blacktempel 4e4ed660d2 Add method to be able to access Storage object. (#2116)
* Add method to be able to access Storage object.

* Make property public and remove method.
2025-12-19 15:46:34 +01:00
Blacktempel c333504957 Update DiskInfoToolkit. (#2046)
Remove usage sensor if any partition on disk is another operating system partition as this leads to incorrectly reported free space.
2025-11-14 14:16:45 +01:00
Rémi Mercier 1ce2d63bd5 Make _lastUpdate per storagedevice, not static. (#2024)
Otherwise throttling will only enable 1 drive per cycle to update, always the first.
2025-11-11 10:38:27 +01:00
Blacktempel c542e856d4 Replace Storage implementation with CrystalDiskInfo based implementation (#2015)
* Replace Storage implementation with CrystalDiskInfo based implementation.

* Formatting.

* Code review.

* Code review.

* Increase space for attribute name in report.

* Implement dynamic disk handling for usage sensor.

Disable unused warnings.

* Further cleanup in NativeMethods.txt and referenced.
2025-11-08 10:53:43 +01:00
dependabot[bot]PhyxionNLcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Copilot
cbd3f4b1d2 Bump Microsoft.Windows.CsWin32 from 0.3.235 to 0.3.236 (#1999)
* Bump Microsoft.Windows.CsWin32 from 0.3.235 to 0.3.236

---
updated-dependencies:
- dependency-name: Microsoft.Windows.CsWin32
  dependency-version: 0.3.236
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix build compatibility with Microsoft.Windows.CsWin32 0.3.236 (#2000)

* Initial plan

* Fix compatibility with CsWin32 0.3.236 and resource path case sensitivity

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>

* Remove unnecessary local variable pData in BatteryGroup.cs

Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
2025-10-30 23:51:27 +01:00
Rémi Mercier 77882ddc82 Fix nullref exception in ATAStorage (#1931) 2025-10-04 16:24:41 +02:00
PhyxionNL e2227e2d94 Fixes #1919 2025-10-01 10:42:01 +02:00
PhyxionNL d594734225 Move remainder to CsWin32 (#1918) 2025-09-30 18:58:21 +02:00
PhyxionNL 1d7b3223c9 Move more to CsWin32 (#1917) 2025-09-30 16:50:44 +02:00
sebastian-dev 78829b97e1 Fix issues with missing samsung nvme data. (#1818)
Reorder read out order in the same way as CrystalDiskInfo
2025-08-29 10:34:45 +02:00
Blacktempel 9cefa1c93a Samsung NVME now being detected properly. (#1762) 2025-06-21 15:04:31 +02:00
Shinyeong Hyun bdafcd92b8 Implemented storage update interval at the UI side (#1706)
* Minor refactoring for #1699

* Implemented storage update interval for the UI

* Revert "Implemented storage update interval for the UI"

This reverts commit 977ff2f5518d420e35cadad17054f4e69c260df1.

* Revert "Minor refactoring for #1699"

This reverts commit 923f6d6f636a2a10ff44b8c23f84e8985ccbf667.

* Made update interval configurable for storage devices

* Changed label text m to min for consistency

* Revised 8e6c669 as requested

* ATA Update interval defaults to 1s in the UI

* Simplified storage update interval menu
2025-05-02 20:07:43 +02:00
Shinyeong Hyun 9b985d3bea Removed forced update interval for storage devices (#1698) (#1699) 2025-04-22 14:32:37 +02:00
Konstantin Budnikov 0263346d89 Fixed AccessViolationExeption crash on AMD Radeon RAMDisk (#1423) 2024-08-23 15:24:15 +02:00
Amit Cirt e4a038000f Add read activity to storage. (#1222) 2023-12-31 13:49:36 +01:00
PhyxionNL 76245c9a32 Read storage performance sensors without WMI 2023-03-15 18:00:38 +01:00
PhyxionNL bc4a4002b0 Guard against invalid storage namespace.
[ci skip]
2022-12-01 10:45:39 +01:00
PhyxionNL d976aa952d Fixes #907 2022-11-24 13:40:41 +01:00
marcadamsge f2b93c09b0 Windows storage spaces (#871) 2022-11-10 18:33:44 +01:00
PhyxionNL 58cef111a1 Use file-scoped namespaces (#842) 2022-10-09 13:22:57 +02:00
PhyxionNL 3ac329f247 Fix some code analysis issues (#841) 2022-10-09 13:16:31 +02:00
PhyxionNL 38b97e10d0 Update editorconfig + changes (#771) 2022-06-29 19:38:57 +02:00
Nick Babcock 7ab8fbb1c1 Exclude 980 Pro from samsung NVMe protocol (#754) 2022-06-15 13:06:58 +02:00
Bjarni Ivarsson c94cb69ed0 More robust detection of samsung nvme drives (#674)
Thanks to @bjarniivarsson
2022-02-24 13:36:42 +01:00
PhyxionNL cd9e15d7dc Also exclude OEM variant of 980 Pro NVMe 2022-02-23 16:55:43 +01:00
PhyxionNL 6561275202 Retry WMI in AbstractStorage (#481)
Fixes #472.
2021-06-23 10:53:05 +02:00
PhyxionNL b8288cbb99 Fix #472 2021-06-17 13:08:45 +02:00
Nick Babcock 993dadd4dd Impose WMI timeouts (#444)
WMI queries do not have a timeout by default and can subsequently hang.
This commit adds timeouts to avoid these hangs.

On timeout, `Get` will throw a `ManagementException` that has an error
code of `ManagementStatus.Timedout`. In the case of abstract storage,
this exception will be silently swallowed and the statistics from WMI
not updated until the next update interval, which seems appropriate.

The storage group, on the other hand, a timeout there would cause an
initialization exception which would be propagated up to the caller
(which seems ok as something must be terribly wrong for that WMI query
to fail).

The code was also updated to call dispose for all the WMI objects. I
don't see this causing a behavior difference, but I found it better to
be safe than sorry.

The timeouts were chosen to be a compromise between returning in a
reasonable timeframe and allowing WMI, which can be terribly slow, to
return the query.
2021-05-14 09:24:50 +02:00
Nick Babcock 73c0be1384 Rename CopyMemory RtlCopyMemory (#438)
There is no entry for `CopyMemory` exported from kernel32.dll as it is
omitted from the following output:

```
dumpbin /exports C:\Windows\System32\kernel32.dll
```

The name we're looking for is `RtlCopyMemory`. This does not affect
traditional .NET framework users as `CopyMemory` was special cased prior
to .NET core
([source](https://github.com/dotnet/runtime/issues/12496#issuecomment-483442084))

The incorrect entry point will cause an `EntryPointNotFoundException`
for NET core users (ref:
https://github.com/nickbabcock/OhmGraphite/issues/214)

There were a couple other entries in kernel32 that are missing:

  - CreateFile
  - LoadLibrary

Both functions appear to have a `CreateFileA` and `LoadLibraryA`
variant, but I do not know if those are appropriate.
2021-05-09 16:46:11 +02:00
sebastian-dev 5e2f395a21 Samsung 980 pro NVME Fix (#388)
Closes #370.

Thanks to @sebastian-dev.
2021-02-12 16:39:35 +01:00
fyilmazzandFurkan YILMAZ f82baea56a add smart health read (#300)
Co-authored-by: Furkan YILMAZ <furkan@apziva.com>
2020-10-02 11:26:18 +02:00
Phyxion 5d7f476711 Fixes #266
Groups must be locked during reset, otherwise the collection can be modified while enumerating.
2020-07-17 09:48:35 +02:00
Djordje 6387ebf2c2 Added http login, json data compression, ati.png, favicon, fixed compile error for debug build, port form updated (#256)
Thanks to @DjordjeMandic
2020-05-25 11:20:25 +02:00
Phyxion 3cc3d9139c Add support for multiple processor groups.
Merge from upstream.
2020-05-11 13:29:52 +02:00
Aaron Wood 0aa01230a6 Fix generic Windows NVMe drive detection (#232) 2020-04-23 22:57:30 +02:00
Phyxion 5bd108167d Restore OHM in copyright statement 2020-02-28 11:39:25 +01:00
Phyxion 9a9d670ca7 Update from upstream 2020-02-26 10:58:56 +01:00
Phyxion 6309cbe5a5 Apply code style 2020-02-17 13:12:24 +01:00
Phyxion 88530e48c6 Fix #188 2020-01-17 12:50:57 +01:00
Nick Babcock f4fb5ad13b Fix source file names on case sensitive file systems (#192)
Source file names will now match the class names.
2020-01-06 10:24:18 +01:00
MoshiMoshi0 14338554da Fix buffer over-read causing AccessViolationException in NVMeSamsung (#160) 2019-10-27 10:24:23 +01:00
sebastian-dev fa2ef007af Bugfixes (#155)
* Fix: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/153
Add temperature Sensor Ranges

Fix: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/152
New exit function

Fix: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/pull/138
No drive info exception when LHM is in a Virtual Machine

* Bugfix Update
2019-10-20 10:27:37 +02:00
Phyxion 73378f7c7b Code style #130 (#132)
This closes #99.
2019-09-23 19:29:10 +02:00