Update Lian Li Strimer L Connect controller files to new standardized header comment
This commit is contained in:
parent
cdcbf5209c
commit
8d14059d2e
6 changed files with 118 additions and 109 deletions
|
|
@ -1,29 +1,29 @@
|
|||
/*-----------------------------------------*\
|
||||
| LianLiControllerDetect.cpp |
|
||||
| |
|
||||
| Detector for Lian Li Uni Hub USB |
|
||||
| lighting controller |
|
||||
| |
|
||||
| Luca Lovisa 2/20/2021 |
|
||||
\*-----------------------------------------*/
|
||||
/*---------------------------------------------------------*\
|
||||
| LianLiControllerDetect.cpp |
|
||||
| |
|
||||
| Detector for Lian Li devices |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-only |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "Detector.h"
|
||||
#include "ResourceManager.h"
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#include <libusb.h>
|
||||
#else
|
||||
#include <libusb-1.0/libusb.h>
|
||||
#endif
|
||||
|
||||
#include "Detector.h"
|
||||
#include "ResourceManager.h"
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| LianLi USB Controller specific includes |
|
||||
\*-----------------------------------------------------*/
|
||||
#include "RGBController_LianLiUniHub.h"
|
||||
#include "RGBController_StrimerLConnect.h"
|
||||
#include "RGBController_LianLiStrimerLConnect.h"
|
||||
#include "LianLiUniHubController.h"
|
||||
#include "RGBController_LianLiUniHub.h"
|
||||
#include "LianLiUniHubALController.h"
|
||||
|
|
@ -213,14 +213,14 @@ void DetectLianLiUniHubSLInfinity(hid_device_info* info, const std::string& name
|
|||
}
|
||||
} /* DetectLianLiUniHubSLInfinity() */
|
||||
|
||||
void DetectStrimerControllers(hid_device_info* info, const std::string& name)
|
||||
void DetectLianLiStrimerControllers(hid_device_info* info, const std::string& name)
|
||||
{
|
||||
hid_device* dev = hid_open_path(info->path);
|
||||
|
||||
if(dev)
|
||||
{
|
||||
StrimerLConnectController* controller = new StrimerLConnectController(dev, info->path);
|
||||
RGBController_StrimerLConnect* rgb_controller = new RGBController_StrimerLConnect(controller);
|
||||
LianLiStrimerLConnectController* controller = new LianLiStrimerLConnectController(dev, info->path);
|
||||
RGBController_LianLiStrimerLConnect* rgb_controller = new RGBController_LianLiStrimerLConnect(controller);
|
||||
rgb_controller->name = name;
|
||||
|
||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||
|
|
@ -252,6 +252,6 @@ REGISTER_HID_DETECTOR_IPU("Lian Li Uni Hub - SL Infinity", DetectLianLiUniH
|
|||
| DUMMY_DEVICE_DETECTOR("Lian Li Uni Hub", DetectLianLiUniHub, 0x0CF2, 0x7750 ) |
|
||||
\*---------------------------------------------------------------------------------------------------------*/
|
||||
|
||||
REGISTER_HID_DETECTOR_IPU("Strimer L Connect", DetectStrimerControllers, ENE_USB_VID, STRIMER_L_CONNECT_PID, 1, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_IPU("Strimer L Connect", DetectLianLiStrimerControllers, ENE_USB_VID, STRIMER_L_CONNECT_PID, 1, 0xFF72, 0xA1);
|
||||
REGISTER_HID_DETECTOR_I("Lian Li GA II Trinity", DetectLianLiGAIITrinity, NUVOTON_USB_VID, GAII_USB_PID, 0x02);
|
||||
REGISTER_HID_DETECTOR_I("Lian Li GA II Trinity Performance", DetectLianLiGAIITrinity, NUVOTON_USB_VID, GAII_Perf_USB_PID, 0x02);
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
/*---------------------------------------------------------------------*\
|
||||
| StrimerLConnectController.cpp |
|
||||
| |
|
||||
| Driver for StrimerLConnect USB Controller |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
\*---------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------*\
|
||||
| LianLiStrimerLConnectController.cpp |
|
||||
| |
|
||||
| Driver for Lian Li Strimer L Connect |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-only |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#include "StrimerLConnectController.h"
|
||||
#include "LianLiStrimerLConnectController.h"
|
||||
|
||||
static uint8_t speed_data[5] =
|
||||
{
|
||||
|
|
@ -19,7 +21,7 @@ static uint8_t brightness_data[5] =
|
|||
0x08, 0x03, 0x02, 0x01, 0x00 /* 0%, 25%, 50%, 75%, 100% */
|
||||
};
|
||||
|
||||
StrimerLConnectController::StrimerLConnectController(hid_device* dev_handle, const char* path)
|
||||
LianLiStrimerLConnectController::LianLiStrimerLConnectController(hid_device* dev_handle, const char* path)
|
||||
{
|
||||
const uint8_t sz = HID_MAX_STR;
|
||||
wchar_t tmp[sz];
|
||||
|
|
@ -36,17 +38,17 @@ StrimerLConnectController::StrimerLConnectController(hid_device* dev_handle, con
|
|||
device_name.append(" ").append(std::string(wName.begin(), wName.end()));
|
||||
}
|
||||
|
||||
StrimerLConnectController::~StrimerLConnectController()
|
||||
LianLiStrimerLConnectController::~LianLiStrimerLConnectController()
|
||||
{
|
||||
hid_close(dev);
|
||||
}
|
||||
|
||||
std::string StrimerLConnectController::GetDeviceName()
|
||||
std::string LianLiStrimerLConnectController::GetDeviceName()
|
||||
{
|
||||
return device_name;
|
||||
}
|
||||
|
||||
std::string StrimerLConnectController::GetSerial()
|
||||
std::string LianLiStrimerLConnectController::GetSerial()
|
||||
{
|
||||
const uint8_t sz = HID_MAX_STR;
|
||||
wchar_t tmp[sz];
|
||||
|
|
@ -65,19 +67,19 @@ std::string StrimerLConnectController::GetSerial()
|
|||
return serial;
|
||||
}
|
||||
|
||||
std::string StrimerLConnectController::GetLocation()
|
||||
std::string LianLiStrimerLConnectController::GetLocation()
|
||||
{
|
||||
return("HID: " + location);
|
||||
}
|
||||
|
||||
void StrimerLConnectController::SendApply()
|
||||
void LianLiStrimerLConnectController::SendApply()
|
||||
{
|
||||
uint8_t buffer[STRIMERLCONNECT_PACKET_SIZE] = { STRIMERLCONNECT_REPORT_ID, 0x2C, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
hid_write(dev, buffer, STRIMERLCONNECT_PACKET_SIZE);
|
||||
}
|
||||
|
||||
void StrimerLConnectController::SetMode(uint8_t mode, uint8_t zone, uint8_t speed, uint8_t brightness, uint8_t direction, bool /*random_colours*/)
|
||||
void LianLiStrimerLConnectController::SetMode(uint8_t mode, uint8_t zone, uint8_t speed, uint8_t brightness, uint8_t direction, bool /*random_colours*/)
|
||||
{
|
||||
uint8_t buffer[STRIMERLCONNECT_PACKET_SIZE] = { STRIMERLCONNECT_REPORT_ID, STRIMERLCONNECT_MODE_COMMAND, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
|
|
@ -91,7 +93,7 @@ void StrimerLConnectController::SetMode(uint8_t mode, uint8_t zone, uint8_t spee
|
|||
hid_write(dev, buffer, STRIMERLCONNECT_PACKET_SIZE);
|
||||
}
|
||||
|
||||
void StrimerLConnectController::SetLedsDirect(uint8_t zone, RGBColor * led_colours, uint8_t led_count)
|
||||
void LianLiStrimerLConnectController::SetLedsDirect(uint8_t zone, RGBColor * led_colours, uint8_t led_count)
|
||||
{
|
||||
uint8_t buffer[STRIMERLCONNECT_PACKET_SIZE] = { STRIMERLCONNECT_REPORT_ID, STRIMERLCONNECT_COLOUR_COMMAND, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
|
|
@ -1,19 +1,21 @@
|
|||
/*---------------------------------------------------------------------*\
|
||||
| StrimerLConnectController.h |
|
||||
| |
|
||||
| Driver for StrimerLConnect USB Controller |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
\*---------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------*\
|
||||
| LianLiStrimerLConnectController.h |
|
||||
| |
|
||||
| Driver for Lian Li Strimer L Connect |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-only |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <hidapi/hidapi.h>
|
||||
#include "LogManager.h"
|
||||
#include "RGBController.h"
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HID_MAX_STR 255
|
||||
#define STRIMERLCONNECT_PACKET_SIZE 255 //Buffer requires a prepended ReportID hence + 1
|
||||
|
||||
|
|
@ -73,11 +75,11 @@ enum
|
|||
STRIMERLCONNECT_SPEED_FASTEST = 4,
|
||||
};
|
||||
|
||||
class StrimerLConnectController
|
||||
class LianLiStrimerLConnectController
|
||||
{
|
||||
public:
|
||||
StrimerLConnectController(hid_device* dev_handle, const char* path);
|
||||
~StrimerLConnectController();
|
||||
LianLiStrimerLConnectController(hid_device* dev_handle, const char* path);
|
||||
~LianLiStrimerLConnectController();
|
||||
|
||||
std::string GetDeviceName();
|
||||
std::string GetSerial();
|
||||
|
|
@ -1,13 +1,15 @@
|
|||
/*---------------------------------------------------------------------*\
|
||||
| RGBController_StrimerLConnect.cpp |
|
||||
| |
|
||||
| Driver for StrimerLConnect USB Controller |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
\*---------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------*\
|
||||
| RGBController_LianLiStrimerLConnect.cpp |
|
||||
| |
|
||||
| RGBController for Lian Li Strimer L Connect |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-only |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#include "RGBController_StrimerLConnect.h"
|
||||
#include "RGBController_LianLiStrimerLConnect.h"
|
||||
|
||||
/**------------------------------------------------------------------*\
|
||||
@name Lian Li Strimer L Connect
|
||||
|
|
@ -16,12 +18,12 @@
|
|||
@save :x:
|
||||
@direct :rotating_light:
|
||||
@effects :white_check_mark:
|
||||
@detectors DetectStrimerControllers
|
||||
@detectors DetectLianLiStrimerControllers
|
||||
@comment The Lian Li Strimer L Connect `Direct` mode stutters at high frame rates and
|
||||
and has been rate limited to ~10FPS.
|
||||
\*-------------------------------------------------------------------*/
|
||||
|
||||
RGBController_StrimerLConnect::RGBController_StrimerLConnect(StrimerLConnectController *controller_ptr)
|
||||
RGBController_LianLiStrimerLConnect::RGBController_LianLiStrimerLConnect(LianLiStrimerLConnectController *controller_ptr)
|
||||
{
|
||||
controller = controller_ptr;
|
||||
|
||||
|
|
@ -143,12 +145,12 @@ RGBController_StrimerLConnect::RGBController_StrimerLConnect(StrimerLConnectCont
|
|||
SetupZones();
|
||||
}
|
||||
|
||||
RGBController_StrimerLConnect::~RGBController_StrimerLConnect()
|
||||
RGBController_LianLiStrimerLConnect::~RGBController_LianLiStrimerLConnect()
|
||||
{
|
||||
delete controller;
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::Init_Controller()
|
||||
void RGBController_LianLiStrimerLConnect::Init_Controller()
|
||||
{
|
||||
const uint8_t zone_split = STRIMERLCONNECT_STRIP_COUNT / 2;
|
||||
|
||||
|
|
@ -182,7 +184,7 @@ void RGBController_StrimerLConnect::Init_Controller()
|
|||
}
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::SetupZones()
|
||||
void RGBController_LianLiStrimerLConnect::SetupZones()
|
||||
{
|
||||
/*-------------------------------------------------*\
|
||||
| Clear any existing color/LED configuration |
|
||||
|
|
@ -209,14 +211,14 @@ void RGBController_StrimerLConnect::SetupZones()
|
|||
SetupColors();
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::ResizeZone(int /*zone*/, int /*new_size*/)
|
||||
void RGBController_LianLiStrimerLConnect::ResizeZone(int /*zone*/, int /*new_size*/)
|
||||
{
|
||||
/*---------------------------------------------------------*\
|
||||
| This device does not support resizing zones |
|
||||
\*---------------------------------------------------------*/
|
||||
}
|
||||
|
||||
bool RGBController_StrimerLConnect::TimeToSend()
|
||||
bool RGBController_LianLiStrimerLConnect::TimeToSend()
|
||||
{
|
||||
/*-----------------------------------------------------*\
|
||||
| Rate limit is 1000(ms) / wait_time in Frames Per Sec |
|
||||
|
|
@ -226,7 +228,7 @@ bool RGBController_StrimerLConnect::TimeToSend()
|
|||
return (std::chrono::steady_clock::now() - last_commit_time) > std::chrono::milliseconds(wait_time);
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::DeviceUpdateLEDs()
|
||||
void RGBController_LianLiStrimerLConnect::DeviceUpdateLEDs()
|
||||
{
|
||||
if(TimeToSend())
|
||||
{
|
||||
|
|
@ -245,7 +247,7 @@ void RGBController_StrimerLConnect::DeviceUpdateLEDs()
|
|||
}
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::UpdateZoneLEDs(int zone)
|
||||
void RGBController_LianLiStrimerLConnect::UpdateZoneLEDs(int zone)
|
||||
{
|
||||
mode current_mode = modes[active_mode];
|
||||
|
||||
|
|
@ -253,13 +255,13 @@ void RGBController_StrimerLConnect::UpdateZoneLEDs(int zone)
|
|||
controller->SetMode(current_mode.value, zone, current_mode.speed, current_mode.brightness, current_mode.direction, false);
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::UpdateSingleLED(int led)
|
||||
void RGBController_LianLiStrimerLConnect::UpdateSingleLED(int led)
|
||||
{
|
||||
UpdateZoneLEDs(GetLED_Zone(led));
|
||||
controller->SendApply();
|
||||
}
|
||||
|
||||
void RGBController_StrimerLConnect::DeviceUpdateMode()
|
||||
void RGBController_LianLiStrimerLConnect::DeviceUpdateMode()
|
||||
{
|
||||
if(TimeToSend())
|
||||
{
|
||||
|
|
@ -297,7 +299,7 @@ void RGBController_StrimerLConnect::DeviceUpdateMode()
|
|||
}
|
||||
}
|
||||
|
||||
int RGBController_StrimerLConnect::GetLED_Zone(int led_idx)
|
||||
int RGBController_LianLiStrimerLConnect::GetLED_Zone(int led_idx)
|
||||
{
|
||||
for(size_t zone_idx = 0; zone_idx < zones.size(); zone_idx++)
|
||||
{
|
||||
|
|
@ -313,7 +315,7 @@ int RGBController_StrimerLConnect::GetLED_Zone(int led_idx)
|
|||
return -1;
|
||||
}
|
||||
|
||||
mode RGBController_StrimerLConnect::CreateMode(std::string name, int value, uint8_t colour_count, uint8_t colour_mode)
|
||||
mode RGBController_LianLiStrimerLConnect::CreateMode(std::string name, int value, uint8_t colour_count, uint8_t colour_mode)
|
||||
{
|
||||
mode new_mode;
|
||||
new_mode.name = name;
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
/*---------------------------------------------------------*\
|
||||
| RGBController_LianLiStrimerLConnect.h |
|
||||
| |
|
||||
| RGBController for Lian Li Strimer L Connect |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
| This file is part of the OpenRGB project |
|
||||
| SPDX-License-Identifier: GPL-2.0-only |
|
||||
\*---------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include "LogManager.h"
|
||||
#include "RGBController.h"
|
||||
#include "LianLiStrimerLConnectController.h"
|
||||
|
||||
class RGBController_LianLiStrimerLConnect : public RGBController
|
||||
{
|
||||
public:
|
||||
RGBController_LianLiStrimerLConnect(LianLiStrimerLConnectController* controller_ptr);
|
||||
~RGBController_LianLiStrimerLConnect();
|
||||
|
||||
void SetupZones();
|
||||
void ResizeZone(int zone, int new_size);
|
||||
|
||||
void DeviceUpdateLEDs();
|
||||
void UpdateZoneLEDs(int zone);
|
||||
void UpdateSingleLED(int led);
|
||||
|
||||
void DeviceUpdateMode();
|
||||
|
||||
private:
|
||||
void Init_Controller();
|
||||
int GetDeviceMode();
|
||||
int GetLED_Zone(int led_idx);
|
||||
|
||||
mode CreateMode(std::string name, int value, uint8_t colour_count, uint8_t colour_mode);
|
||||
bool TimeToSend();
|
||||
|
||||
LianLiStrimerLConnectController* controller;
|
||||
std::chrono::time_point<std::chrono::steady_clock> last_commit_time;
|
||||
};
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
/*---------------------------------------------------------------------*\
|
||||
| RGBController_StrimerLConnect.h |
|
||||
| |
|
||||
| Driver for StrimerLConnect USB Controller |
|
||||
| |
|
||||
| Chris M (Dr_No) 03 Jul 2022 |
|
||||
| |
|
||||
\*---------------------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include "LogManager.h"
|
||||
#include "RGBController.h"
|
||||
#include "StrimerLConnectController.h"
|
||||
|
||||
class RGBController_StrimerLConnect : public RGBController
|
||||
{
|
||||
public:
|
||||
RGBController_StrimerLConnect(StrimerLConnectController* controller_ptr);
|
||||
~RGBController_StrimerLConnect();
|
||||
|
||||
void SetupZones();
|
||||
void ResizeZone(int zone, int new_size);
|
||||
|
||||
void DeviceUpdateLEDs();
|
||||
void UpdateZoneLEDs(int zone);
|
||||
void UpdateSingleLED(int led);
|
||||
|
||||
void DeviceUpdateMode();
|
||||
|
||||
private:
|
||||
void Init_Controller();
|
||||
int GetDeviceMode();
|
||||
int GetLED_Zone(int led_idx);
|
||||
|
||||
mode CreateMode(std::string name, int value, uint8_t colour_count, uint8_t colour_mode);
|
||||
bool TimeToSend();
|
||||
|
||||
StrimerLConnectController* controller;
|
||||
std::chrono::time_point<std::chrono::steady_clock> last_commit_time;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue