* Rename IT8795E to IT87952E
IT8795E and IT87952E are distinct chips (with their own IC markings).
The IT8795E, as the IT8791E and IT8792E, reports chip ID 0x8733 whereas
the IT87952E identifies as 0x8695.
* Gigabyte EC: Fix typo in LPC register restore
When the AMD LPC Bridge registers are restored after configuring memory
mapping, restore the correct value for the "Memory Address for LPC
target cycles" register.
* Add IT87952E fan control for Gigabyte boards
IT87952E (ID 0x8695) has a third byte in SuperIO config space
(LDN 0x0F) that determines more bits of the host address for LPC memory
mapping.
Also the base address for Gigabyte boards is 0xFC000000 instead of
0xFF000000 (as is the case with IT8790/1/2/5).
This should make additional fan controls work on Gigabyte mainboards
where the settings had no effect previously, e.g: X570S AORUS MASTER
and X670E AORUS MASTER. (cf. Issue #251)
It does not yet work for Intel boards as the LPC bridge requires
different programming.
* Update LpcIO.cs
---------
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>
* Adding checks around the value cache in the IPMI update to prevent null dereference.
* Adding braces for code style.
---------
Co-authored-by: doolbneerg <doolbneerg@outlook.com>
I had correct fan readings for the fan on the MB, but could not control them. Found in the code there is an offset of 2; the comment states that the first 2 fans always show zero. I removed the offset - now I have 5 fan controls (which is not correct, since the MB only has 3 fan headers), but the first 2 actually control the fans.
I assume that the offset is either outdated and no longer needed, or it should offset 2 fans from the end of the array, not the start of it. I don't have all the headers populated, so cannot fully test whether the offset from the end is fine.
I built the LHM library and added it to both LHM and FanCtrl v1.5.6, in both cases I could control the fans.