Skip to content

Commit e489085

Browse files
mvisatCalcProgrammer1
authored andcommitted
add support for the Lian Li UniHub SL v1.8
1 parent 1df9d60 commit e489085

5 files changed

Lines changed: 939 additions & 0 deletions

File tree

Controllers/LianLiController/LianLiControllerDetect.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
#include "RGBController_LianLiStrimerLConnect.h"
2121
#include "LianLiUniHubController.h"
2222
#include "RGBController_LianLiUniHub.h"
23+
#include "LianLiUniHubSLController.h"
24+
#include "RGBController_LianLiUniHubSL.h"
2325
#include "LianLiUniHubALController.h"
2426
#include "RGBController_LianLiUniHubAL.h"
2527
#include "LianLiUniHub_AL10Controller.h"
@@ -48,6 +50,7 @@
4850
| Fan controller product IDs |
4951
\*-----------------------------------------------------*/
5052
#define UNI_HUB_PID 0x7750
53+
#define UNI_HUB_SL_PID 0xA100
5154
#define UNI_HUB_AL_PID 0xA101
5255
#define UNI_HUB_SLINF_PID 0xA102
5356
#define UNI_HUB_SLV2_PID 0xA103
@@ -159,6 +162,27 @@ void DetectLianLiUniHub_AL10()
159162
}
160163
} /* DetectLianLiUniHub_AL10() */
161164

165+
void DetectLianLiUniHubSL(hid_device_info* info, const std::string& name)
166+
{
167+
hid_device* device = hid_open_path(info->path);
168+
if (!device)
169+
{
170+
return;
171+
}
172+
173+
LianLiUniHubSLController* controller = new LianLiUniHubSLController(device, info->path);
174+
std::string version = controller->ReadVersion();
175+
176+
if (version != "v1.8")
177+
{
178+
delete controller;
179+
return;
180+
}
181+
182+
RGBController_LianLiUniHubSL* rgb_controller = new RGBController_LianLiUniHubSL(controller, name);
183+
ResourceManager::get()->RegisterRGBController(rgb_controller);
184+
} /* DetectLianLiUniHubSL() */
185+
162186
void DetectLianLiUniHubAL(hid_device_info* info, const std::string& name)
163187
{
164188
hid_device* dev = hid_open_path(info->path);
@@ -271,6 +295,7 @@ void DetectLianLiUniversalScreen()
271295
REGISTER_DETECTOR("Lian Li Uni Hub", DetectLianLiUniHub);
272296
REGISTER_DETECTOR("Lian Li Universal Screen", DetectLianLiUniversalScreen);
273297

298+
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL", DetectLianLiUniHubSL, ENE_USB_VID, UNI_HUB_SL_PID, 0x01, 0xFF72, 0xA1);
274299
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - AL", DetectLianLiUniHubAL, ENE_USB_VID, UNI_HUB_AL_PID, 0x01, 0xFF72, 0xA1);
275300
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL V2", DetectLianLiUniHubSLV2, ENE_USB_VID, UNI_HUB_SLV2_PID, 0x01, 0xFF72, 0xA1);
276301
REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - AL V2", DetectLianLiUniHubSLV2, ENE_USB_VID, UNI_HUB_ALV2_PID, 0x01, 0xFF72, 0xA1);

0 commit comments

Comments
 (0)