1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-12 17:48:31 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
7fabc71b28
Merge pull request #419 from jonilala796/master
Add support for Corsair RX and LX Fans
2025-02-16 14:04:41 +01:00
jonilala796
01bad00d8a simplify LX Fan logic in CorsairDeviceProvider 2025-02-08 21:52:28 +01:00
jonilala796
1deb1b9f2f Add support for RX Fan naming 2025-02-08 21:37:24 +01:00
jonilala796
66843a21e5 Add workaround for LX Fans with invalid ChannelDeviceType 2025-02-08 21:23:33 +01:00
4e575e8d3d
Merge pull request #418 from DarthAffe/Development
v3
2025-02-08 16:43:21 +01:00

View File

@ -273,7 +273,12 @@ public sealed class CorsairDeviceProvider : AbstractRGBDeviceProvider
break; break;
case CorsairChannelDeviceType.EightLedSeriesFan: case CorsairChannelDeviceType.EightLedSeriesFan:
yield return new CorsairFanRGBDevice(new CorsairFanRGBDeviceInfo(device, ledCount, offset, "8-Led-Series Fan Fan"), updateQueue); string fanModelName = "8-Led-Series Fan";
if (device.model == "iCUE LINK System Hub")
fanModelName = "RX Fan";
yield return new CorsairFanRGBDevice(new CorsairFanRGBDeviceInfo(device, ledCount, offset, fanModelName), updateQueue);
break; break;
case CorsairChannelDeviceType.DAP: case CorsairChannelDeviceType.DAP:
@ -289,20 +294,20 @@ public sealed class CorsairDeviceProvider : AbstractRGBDeviceProvider
break; break;
case CorsairChannelDeviceType.Strip: case CorsairChannelDeviceType.Strip:
string modelName = "LED Strip"; string stripModelName = "LED Strip";
// LS100 Led Strips are reported as one big strip if configured in monitor mode in iCUE, 138 LEDs for dual monitor, 84 for single // LS100 Led Strips are reported as one big strip if configured in monitor mode in iCUE, 138 LEDs for dual monitor, 84 for single
if ((device.model == "LS100 Starter Kit") && (ledCount == 138)) if ((device.model == "LS100 Starter Kit") && (ledCount == 138))
modelName = "LS100 LED Strip (dual monitor)"; stripModelName = "LS100 LED Strip (dual monitor)";
else if ((device.model == "LS100 Starter Kit") && (ledCount == 84)) else if ((device.model == "LS100 Starter Kit") && (ledCount == 84))
modelName = "LS100 LED Strip (single monitor)"; stripModelName = "LS100 LED Strip (single monitor)";
// Any other value means an "External LED Strip" in iCUE, these are reported per-strip, 15 for short strips, 27 for long // Any other value means an "External LED Strip" in iCUE, these are reported per-strip, 15 for short strips, 27 for long
else if ((device.model == "LS100 Starter Kit") && (ledCount == 15)) else if ((device.model == "LS100 Starter Kit") && (ledCount == 15))
modelName = "LS100 LED Strip (short)"; stripModelName = "LS100 LED Strip (short)";
else if ((device.model == "LS100 Starter Kit") && (ledCount == 27)) else if ((device.model == "LS100 Starter Kit") && (ledCount == 27))
modelName = "LS100 LED Strip (long)"; stripModelName = "LS100 LED Strip (long)";
yield return new CorsairLedStripRGBDevice(new CorsairLedStripRGBDeviceInfo(device, ledCount, offset, modelName), updateQueue); yield return new CorsairLedStripRGBDevice(new CorsairLedStripRGBDeviceInfo(device, ledCount, offset, stripModelName), updateQueue);
break; break;
case CorsairChannelDeviceType.DRAM: case CorsairChannelDeviceType.DRAM:
@ -310,7 +315,12 @@ public sealed class CorsairDeviceProvider : AbstractRGBDeviceProvider
break; break;
default: default:
Throw(new RGBDeviceException("Unknown Device-Type"));
//Workaround to support LX Fans because they have an invalid ChannelDeviceType
if ((device.model == "iCUE LINK System Hub") && (ledCount == 18))
yield return new CorsairFanRGBDevice(new CorsairFanRGBDeviceInfo(device, ledCount, offset, "LX Fan"), updateQueue);
else
Throw(new RGBDeviceException("Unknown Device-Type"));
break; break;
} }