Store name in MSIGPUController to avoid setting it in detector
This commit is contained in:
parent
c256b6246a
commit
a2826ec865
5 changed files with 43 additions and 36 deletions
|
|
@ -10,10 +10,11 @@
|
|||
#include "MSIGPUController.h"
|
||||
#include <cstring>
|
||||
|
||||
MSIGPUController::MSIGPUController(i2c_smbus_interface* bus, msi_gpu_dev_id dev)
|
||||
MSIGPUController::MSIGPUController(i2c_smbus_interface* bus, msi_gpu_dev_id dev, std::string dev_name)
|
||||
{
|
||||
this->bus = bus;
|
||||
this->dev = dev;
|
||||
this->bus = bus;
|
||||
this->dev = dev;
|
||||
this->name = dev_name;
|
||||
}
|
||||
|
||||
MSIGPUController::~MSIGPUController()
|
||||
|
|
@ -31,6 +32,11 @@ std::string MSIGPUController::GetDeviceLocation()
|
|||
return("I2C: " + return_string);
|
||||
}
|
||||
|
||||
std::string MSIGPUController::GetDeviceName()
|
||||
{
|
||||
return(name);
|
||||
}
|
||||
|
||||
void MSIGPUController::SetRGB1(unsigned char red, unsigned char green, unsigned char blue)
|
||||
{
|
||||
MSIGPURegisterWrite(MSI_GPU_REG_R1, red);
|
||||
|
|
|
|||
|
|
@ -66,10 +66,11 @@ enum
|
|||
class MSIGPUController
|
||||
{
|
||||
public:
|
||||
MSIGPUController(i2c_smbus_interface* bus, msi_gpu_dev_id dev);
|
||||
MSIGPUController(i2c_smbus_interface* bus, msi_gpu_dev_id dev, std::string dev_name);
|
||||
~MSIGPUController();
|
||||
|
||||
std::string GetDeviceLocation();
|
||||
std::string GetDeviceName();
|
||||
|
||||
void SetRGB1(unsigned char red, unsigned char green, unsigned char blue);
|
||||
void SetRGB2(unsigned char red, unsigned char green, unsigned char blue);
|
||||
|
|
@ -84,4 +85,5 @@ public:
|
|||
private:
|
||||
i2c_smbus_interface * bus;
|
||||
msi_gpu_dev_id dev;
|
||||
std::string name;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -28,9 +28,8 @@ void DetectMSIGPUControllers(i2c_smbus_interface* bus, uint8_t i2c_addr, const s
|
|||
return;
|
||||
}
|
||||
|
||||
MSIGPUController* controller = new MSIGPUController(bus, i2c_addr);
|
||||
MSIGPUController* controller = new MSIGPUController(bus, i2c_addr, name);
|
||||
RGBController_MSIGPU* rgb_controller = new RGBController_MSIGPU(controller);
|
||||
rgb_controller->name = name;
|
||||
|
||||
ResourceManager::get()->RegisterRGBController(rgb_controller);
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ static const std::array<unsigned char, 3> speed_values = { 0x04, 0x02, 0x01
|
|||
|
||||
int RGBController_MSIGPU::GetDeviceMode()
|
||||
{
|
||||
unsigned char dev_mode = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_MODE);
|
||||
unsigned char dev_mode = controller->MSIGPURegisterRead(MSI_GPU_REG_MODE);
|
||||
|
||||
for(std::size_t mode = 0; mode < modes.size(); mode++)
|
||||
{
|
||||
|
|
@ -30,7 +30,7 @@ int RGBController_MSIGPU::GetDeviceMode()
|
|||
|
||||
int RGBController_MSIGPU::GetModeSpeed()
|
||||
{
|
||||
unsigned char mode_speed = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_SPEED);
|
||||
unsigned char mode_speed = controller->MSIGPURegisterRead(MSI_GPU_REG_SPEED);
|
||||
|
||||
for(std::size_t speed = 0; speed < speed_values.size(); speed++)
|
||||
{
|
||||
|
|
@ -54,15 +54,15 @@ int RGBController_MSIGPU::GetModeSpeed()
|
|||
@comment
|
||||
\*-------------------------------------------------------------------*/
|
||||
|
||||
RGBController_MSIGPU::RGBController_MSIGPU(MSIGPUController * msi_gpu_ptr)
|
||||
RGBController_MSIGPU::RGBController_MSIGPU(MSIGPUController * controller_ptr)
|
||||
{
|
||||
msi_gpu = msi_gpu_ptr;
|
||||
controller = controller_ptr;
|
||||
|
||||
name = "MSI GPU Device";
|
||||
vendor = "MSI";
|
||||
type = DEVICE_TYPE_GPU;
|
||||
description = name;
|
||||
location = msi_gpu->GetDeviceLocation();
|
||||
name = controller->GetDeviceName();
|
||||
vendor = "MSI";
|
||||
type = DEVICE_TYPE_GPU;
|
||||
description = name;
|
||||
location = controller->GetDeviceLocation();
|
||||
|
||||
mode Direct;
|
||||
Direct.name = "Direct";
|
||||
|
|
@ -319,12 +319,12 @@ RGBController_MSIGPU::RGBController_MSIGPU(MSIGPUController * msi_gpu_ptr)
|
|||
|
||||
active_mode = GetDeviceMode();
|
||||
modes[active_mode].speed = GetModeSpeed();
|
||||
modes[active_mode].brightness = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_BRIGHTNESS) / MSI_GPU_BRIGHTNESS_MULTI;
|
||||
modes[active_mode].brightness = controller->MSIGPURegisterRead(MSI_GPU_REG_BRIGHTNESS) / MSI_GPU_BRIGHTNESS_MULTI;
|
||||
}
|
||||
|
||||
RGBController_MSIGPU::~RGBController_MSIGPU()
|
||||
{
|
||||
delete msi_gpu;
|
||||
delete controller;
|
||||
}
|
||||
|
||||
void RGBController_MSIGPU::SetupZones()
|
||||
|
|
@ -359,15 +359,15 @@ void RGBController_MSIGPU::SetupZones()
|
|||
/*---------------------------------------------------------*\
|
||||
| Initialize color |
|
||||
\*---------------------------------------------------------*/
|
||||
unsigned char r1 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_R1);
|
||||
unsigned char g1 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_G1);
|
||||
unsigned char b1 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_B1);
|
||||
unsigned char r2 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_R2);
|
||||
unsigned char g2 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_G2);
|
||||
unsigned char b2 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_B2);
|
||||
unsigned char r3 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_R3);
|
||||
unsigned char g3 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_G3);
|
||||
unsigned char b3 = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_B3);
|
||||
unsigned char r1 = controller->MSIGPURegisterRead(MSI_GPU_REG_R1);
|
||||
unsigned char g1 = controller->MSIGPURegisterRead(MSI_GPU_REG_G1);
|
||||
unsigned char b1 = controller->MSIGPURegisterRead(MSI_GPU_REG_B1);
|
||||
unsigned char r2 = controller->MSIGPURegisterRead(MSI_GPU_REG_R2);
|
||||
unsigned char g2 = controller->MSIGPURegisterRead(MSI_GPU_REG_G2);
|
||||
unsigned char b2 = controller->MSIGPURegisterRead(MSI_GPU_REG_B2);
|
||||
unsigned char r3 = controller->MSIGPURegisterRead(MSI_GPU_REG_R3);
|
||||
unsigned char g3 = controller->MSIGPURegisterRead(MSI_GPU_REG_G3);
|
||||
unsigned char b3 = controller->MSIGPURegisterRead(MSI_GPU_REG_B3);
|
||||
|
||||
colors[0] = ToRGBColor(r1, g1, b1);
|
||||
colors[1] = ToRGBColor(r2, g2, b2);
|
||||
|
|
@ -394,16 +394,16 @@ void RGBController_MSIGPU::DeviceUpdateLEDs()
|
|||
{
|
||||
if(TimeToSend())
|
||||
{
|
||||
msi_gpu->MSIGPURegisterWrite(MSI_GPU_REG_UNKNOWN, 0x00);
|
||||
controller->MSIGPURegisterWrite(MSI_GPU_REG_UNKNOWN, 0x00);
|
||||
|
||||
if(modes[active_mode].value == MSI_GPU_MODE_FADEIN)
|
||||
{
|
||||
msi_gpu->SetRGB2(RGBGetRValue(colors[1]), RGBGetGValue(colors[1]), RGBGetBValue(colors[1]));
|
||||
msi_gpu->SetRGB3(RGBGetRValue(colors[2]), RGBGetGValue(colors[2]), RGBGetBValue(colors[2]));
|
||||
controller->SetRGB2(RGBGetRValue(colors[1]), RGBGetGValue(colors[1]), RGBGetBValue(colors[1]));
|
||||
controller->SetRGB3(RGBGetRValue(colors[2]), RGBGetGValue(colors[2]), RGBGetBValue(colors[2]));
|
||||
}
|
||||
else
|
||||
{
|
||||
msi_gpu->SetRGB1(RGBGetRValue(colors[0]), RGBGetGValue(colors[0]), RGBGetBValue(colors[0]));
|
||||
controller->SetRGB1(RGBGetRValue(colors[0]), RGBGetGValue(colors[0]), RGBGetBValue(colors[0]));
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
|
|
@ -429,14 +429,14 @@ void RGBController_MSIGPU::DeviceUpdateMode()
|
|||
{
|
||||
if(modes[active_mode].flags & MODE_FLAG_HAS_BRIGHTNESS)
|
||||
{
|
||||
msi_gpu->MSIGPURegisterWrite(MSI_GPU_REG_BRIGHTNESS, modes[active_mode].brightness * MSI_GPU_BRIGHTNESS_MULTI);
|
||||
controller->MSIGPURegisterWrite(MSI_GPU_REG_BRIGHTNESS, modes[active_mode].brightness * MSI_GPU_BRIGHTNESS_MULTI);
|
||||
|
||||
if(modes[active_mode].flags & MODE_FLAG_HAS_SPEED)
|
||||
{
|
||||
msi_gpu->MSIGPURegisterWrite(MSI_GPU_REG_SPEED, speed_values[modes[active_mode].speed]);
|
||||
controller->MSIGPURegisterWrite(MSI_GPU_REG_SPEED, speed_values[modes[active_mode].speed]);
|
||||
}
|
||||
|
||||
msi_gpu->SetMode(modes[active_mode].value);
|
||||
controller->SetMode(modes[active_mode].value);
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Update last commit time |
|
||||
|
|
@ -448,5 +448,5 @@ void RGBController_MSIGPU::DeviceUpdateMode()
|
|||
|
||||
void RGBController_MSIGPU::DeviceSaveMode()
|
||||
{
|
||||
msi_gpu->Save();
|
||||
controller->Save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
class RGBController_MSIGPU : public RGBController
|
||||
{
|
||||
public:
|
||||
RGBController_MSIGPU(MSIGPUController* msi_gpu_ptr);
|
||||
RGBController_MSIGPU(MSIGPUController* controller_ptr);
|
||||
~RGBController_MSIGPU();
|
||||
|
||||
void SetupZones();
|
||||
|
|
@ -29,7 +29,7 @@ public:
|
|||
void DeviceSaveMode();
|
||||
|
||||
private:
|
||||
MSIGPUController* msi_gpu;
|
||||
MSIGPUController* controller;
|
||||
std::chrono::time_point<std::chrono::steady_clock> last_commit_time;
|
||||
|
||||
bool TimeToSend();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue