* feat: Add Native AOT compilation support for LibreHardwareMonitorLib
- Replace non-generic Marshal.GetDelegateForFunctionPointer with generic versions
(NvApi.cs, NvidiaML.cs, OpCode.cs)
- Replace non-generic Marshal.PtrToStructure/SizeOf with generic versions
(AtiAdlxx.cs, AmdGpu.cs, Ipmi.cs)
- Replace reflection-based Mono.Posix calls with direct Syscall for non-NETFRAMEWORK
(OpCode.cs)
- Add DynamicallyAccessedMembers annotations for trim-safe generic marshaling
(MsiCoreLiquidController.cs, WireViewPro2.cs)
- Add IsAotCompatible, IsTrimmable, and AOT/trim analyzers to csproj for net8.0+
- All changes maintain full backward compatibility with net472/netstandard2.0
Tested: dotnet publish with PublishAot=true on net10.0 win-x64 succeeds.
AOT binary correctly enumerates all hardware and sensors without errors.
* feat: Add conditional compilation for .NET 5.0 or greater in various classes
* feat: Add AOT test project and update workflows for AOT compilation
* Drop test project
* NET5_0_OR_GREATER > NET
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Fix Farbwerk sensor data out of date
* Add farbwerk 360 support
* Minor code change
* Fix file naming
* Standaarise the Temp sensor naming
* Standarize the sensor naming
* Fix Farbwerk sensor data out of date
* Add farbwerk 360 support
* Minor code change
* Fix file naming
* Standaarise the Temp sensor naming
* Standarize the sensor naming
* Fix Farbwerk sensor data out of date
* Add farbwerk 360 support
* Minor code change
* Fix file naming
* Standaarise the Temp sensor naming
* Standarize the sensor naming
* Add farbwerk 360 support
* Minor code change
* Fix file naming
* Add support for electrical conductivity measurements
* Add Aqua Computer high flow NEXT support
* Expose alarm flags as hidden binary sensors
* Update HighFlowNext.cs
* Update ISensor.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Add NZXT kraken X (X42, X52, X62 or X72) Support
* Cleanup and removed overriding hard values
* code style
* more code style
* Clean up PR and Kraken V3
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
new Krakens 2023 have a slightly different header
when setting fan speed:
- when setting fan speed byte 3 and 4 must be `0x1 0x1` instead of `0x0 0x0`
- when setting pump speed byte 3 and 4 must be `0x1 0x0` instead of `0x0
0x0` (but even `0x0 0x0`) works for some reason
* Improve support for NZXT Kraken V3 devices and merge KrakenX and KrakenZ hardware support
* add support for new kraken elite 2023
* Add support for kraken 2023 (non-elite)
* removed ContinuousRead as it's too eager and conflicted with other application connecting to the device (to manage lcd or leds for example)
* handle ObjectDisposedException and cleanup code
* Update KrakenV3.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Added support for Aquacomputer Quadro controller
* Added support for Aquacomputer Quadro controller
* Added support for Aquacomputer Quadro controller
The conversion was using a double between the float value to the byte value, which cause some issue with a software value of 100f, which resulted to 254 instead of 255.
Extracted as a function.
* Fix NullReferenceException, if NZXT CAM is running at the same time
* Remove unnecessary variable declaration
Remove never used variable.
* Update SMBios.cs
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>