Store name in ZotacV2GPUController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-14 23:25:32 -05:00
parent eb199dae67
commit ce64dbc686
4 changed files with 190 additions and 183 deletions

View file

@ -87,13 +87,13 @@ std::vector<std::pair<RGBColor, RGBColor>> ZOTAC_V2_GPU_DUET_PRESETS =
RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* controller_ptr) RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* controller_ptr)
{ {
controller = controller_ptr; controller = controller_ptr;
name = "ZOTAC GPU"; name = controller->GetName();
vendor = "ZOTAC"; vendor = "ZOTAC";
description = "ZOTAC 30/40 series RGB GPU Device (" + controller->GetVersion() + ")"; description = "ZOTAC 30/40 series RGB GPU Device (" + controller->GetVersion() + ")";
location = controller->GetDeviceLocation(); location = controller->GetDeviceLocation();
type = DEVICE_TYPE_GPU; type = DEVICE_TYPE_GPU;
if(ZOTAC_V2_GPU_CONFIG.count(controller->GetVersion()) > 0) if(ZOTAC_V2_GPU_CONFIG.count(controller->GetVersion()) > 0)
{ {
@ -110,61 +110,61 @@ RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* control
+ (config.supportsExternalLEDStrip ? "with" : "without") + " external LED strip support"; + (config.supportsExternalLEDStrip ? "with" : "without") + " external LED strip support";
mode STATIC; mode STATIC;
STATIC.name = "Static"; STATIC.name = "Static";
STATIC.value = ZOTAC_V2_GPU_MODE_STATIC; STATIC.value = ZOTAC_V2_GPU_MODE_STATIC;
STATIC.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; STATIC.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
STATIC.brightness_min = 0; STATIC.brightness_min = 0;
STATIC.brightness_max = 100; STATIC.brightness_max = 100;
STATIC.brightness = 100; STATIC.brightness = 100;
STATIC.color_mode = MODE_COLORS_MODE_SPECIFIC; STATIC.color_mode = MODE_COLORS_MODE_SPECIFIC;
STATIC.colors_min = 1; STATIC.colors_min = 1;
STATIC.colors_max = 1; STATIC.colors_max = 1;
STATIC.colors.resize(1); STATIC.colors.resize(1);
STATIC.colors[0] = ToRGBColor(0, 0, 255); STATIC.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(STATIC); modes.push_back(STATIC);
mode BREATH; mode BREATH;
BREATH.name = "Breath"; BREATH.name = "Breath";
BREATH.value = ZOTAC_V2_GPU_MODE_BREATH; BREATH.value = ZOTAC_V2_GPU_MODE_BREATH;
BREATH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; BREATH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
BREATH.brightness_min = 0; BREATH.brightness_min = 0;
BREATH.brightness_max = 100; BREATH.brightness_max = 100;
BREATH.brightness = 100; BREATH.brightness = 100;
BREATH.speed_min = 0; BREATH.speed_min = 0;
BREATH.speed_max = 100; BREATH.speed_max = 100;
BREATH.speed = 20; BREATH.speed = 20;
BREATH.color_mode = MODE_COLORS_MODE_SPECIFIC; BREATH.color_mode = MODE_COLORS_MODE_SPECIFIC;
BREATH.colors_min = 1; BREATH.colors_min = 1;
BREATH.colors_max = 1; BREATH.colors_max = 1;
BREATH.colors.resize(1); BREATH.colors.resize(1);
BREATH.colors[0] = ToRGBColor(0, 0, 255); BREATH.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(BREATH); modes.push_back(BREATH);
mode FADE; mode FADE;
FADE.name = "Fade"; FADE.name = "Fade";
FADE.value = ZOTAC_V2_GPU_MODE_FADE; FADE.value = ZOTAC_V2_GPU_MODE_FADE;
FADE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED; FADE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED;
FADE.speed_min = 0; FADE.speed_min = 0;
FADE.speed_max = 100; FADE.speed_max = 100;
FADE.speed = 20; FADE.speed = 20;
FADE.color_mode = MODE_COLORS_NONE; FADE.color_mode = MODE_COLORS_NONE;
modes.push_back(FADE); modes.push_back(FADE);
mode WINK; mode WINK;
WINK.name = "Wink"; WINK.name = "Wink";
WINK.value = ZOTAC_V2_GPU_MODE_WINK; WINK.value = ZOTAC_V2_GPU_MODE_WINK;
WINK.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; WINK.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
WINK.brightness_min = 0; WINK.brightness_min = 0;
WINK.brightness_max = 100; WINK.brightness_max = 100;
WINK.brightness = 100; WINK.brightness = 100;
WINK.speed_min = 0; WINK.speed_min = 0;
WINK.speed_max = 100; WINK.speed_max = 100;
WINK.speed = 20; WINK.speed = 20;
WINK.color_mode = MODE_COLORS_MODE_SPECIFIC; WINK.color_mode = MODE_COLORS_MODE_SPECIFIC;
WINK.colors_min = 1; WINK.colors_min = 1;
WINK.colors_max = 1; WINK.colors_max = 1;
WINK.colors.resize(1); WINK.colors.resize(1);
WINK.colors[0] = ToRGBColor(0, 0, 255); WINK.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(WINK); modes.push_back(WINK);
if(config.numberOfZones > 1) if(config.numberOfZones > 1)
@ -176,113 +176,113 @@ RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* control
// thing this RGBController supports for now anyway) // thing this RGBController supports for now anyway)
mode FLASH; mode FLASH;
FLASH.name = "Flash"; FLASH.name = "Flash";
FLASH.value = ZOTAC_V2_GPU_MODE_FLASH; FLASH.value = ZOTAC_V2_GPU_MODE_FLASH;
FLASH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED; FLASH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED;
FLASH.speed_min = 0; FLASH.speed_min = 0;
FLASH.speed_max = 100; FLASH.speed_max = 100;
FLASH.speed = 20; FLASH.speed = 20;
FLASH.color_mode = MODE_COLORS_NONE; FLASH.color_mode = MODE_COLORS_NONE;
modes.push_back(FLASH); modes.push_back(FLASH);
} }
// (Sound activated - not supported) // (Sound activated - not supported)
//mode SHINE; //mode SHINE;
//SHINE.name = "Shine"; //SHINE.name = "Shine";
//SHINE.value = ZOTAC_V2_GPU_MODE_SHINE; //SHINE.value = ZOTAC_V2_GPU_MODE_SHINE;
//SHINE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; //SHINE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
//SHINE.brightness_min = 0; //SHINE.brightness_min = 0;
//SHINE.brightness_max = 100; //SHINE.brightness_max = 100;
//SHINE.brightness = 100; //SHINE.brightness = 100;
//SHINE.color_mode = MODE_COLORS_MODE_SPECIFIC; //SHINE.color_mode = MODE_COLORS_MODE_SPECIFIC;
//SHINE.colors_min = 1; //SHINE.colors_min = 1;
//SHINE.colors_max = 1; //SHINE.colors_max = 1;
//SHINE.colors.resize(1); //SHINE.colors.resize(1);
//SHINE.colors[0] = ToRGBColor(0, 0, 255); //SHINE.colors[0] = ToRGBColor(0, 0, 255);
//modes.push_back(SHINE); //modes.push_back(SHINE);
mode RANDOM; mode RANDOM;
RANDOM.name = "Random"; RANDOM.name = "Random";
RANDOM.value = ZOTAC_V2_GPU_MODE_RANDOM; RANDOM.value = ZOTAC_V2_GPU_MODE_RANDOM;
RANDOM.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR; RANDOM.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
RANDOM.brightness_min = 0; RANDOM.brightness_min = 0;
RANDOM.brightness_max = 100; RANDOM.brightness_max = 100;
RANDOM.brightness = 100; RANDOM.brightness = 100;
RANDOM.speed_min = 0; RANDOM.speed_min = 0;
RANDOM.speed_max = 100; RANDOM.speed_max = 100;
RANDOM.speed = 20; RANDOM.speed = 20;
RANDOM.color_mode = MODE_COLORS_MODE_SPECIFIC; RANDOM.color_mode = MODE_COLORS_MODE_SPECIFIC;
RANDOM.colors_min = 1; RANDOM.colors_min = 1;
RANDOM.colors_max = 1; RANDOM.colors_max = 1;
RANDOM.colors.resize(1); RANDOM.colors.resize(1);
RANDOM.colors[0] = ToRGBColor(0, 0, 255); RANDOM.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(RANDOM); modes.push_back(RANDOM);
mode SLIDE; mode SLIDE;
SLIDE.name = "Slide"; SLIDE.name = "Slide";
SLIDE.value = ZOTAC_V2_GPU_MODE_SLIDE; SLIDE.value = ZOTAC_V2_GPU_MODE_SLIDE;
SLIDE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR; SLIDE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR;
SLIDE.brightness_min = 0; SLIDE.brightness_min = 0;
SLIDE.brightness_max = 100; SLIDE.brightness_max = 100;
SLIDE.brightness = 100; SLIDE.brightness = 100;
SLIDE.speed_min = 0; SLIDE.speed_min = 0;
SLIDE.speed_max = 100; SLIDE.speed_max = 100;
SLIDE.speed = 20; SLIDE.speed = 20;
SLIDE.color_mode = MODE_COLORS_MODE_SPECIFIC; SLIDE.color_mode = MODE_COLORS_MODE_SPECIFIC;
SLIDE.colors_min = 1; SLIDE.colors_min = 1;
SLIDE.colors_max = 1; SLIDE.colors_max = 1;
SLIDE.colors.resize(1); SLIDE.colors.resize(1);
SLIDE.colors[0] = ToRGBColor(0, 0, 255); SLIDE.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(SLIDE); modes.push_back(SLIDE);
mode RAINBOW; mode RAINBOW;
RAINBOW.name = "Rainbow"; RAINBOW.name = "Rainbow";
RAINBOW.value = ZOTAC_V2_GPU_MODE_RAINBOW; RAINBOW.value = ZOTAC_V2_GPU_MODE_RAINBOW;
RAINBOW.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; RAINBOW.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR;
RAINBOW.speed_min = 0; RAINBOW.speed_min = 0;
RAINBOW.speed_max = 100; RAINBOW.speed_max = 100;
RAINBOW.speed = 20; RAINBOW.speed = 20;
RAINBOW.color_mode = MODE_COLORS_NONE; RAINBOW.color_mode = MODE_COLORS_NONE;
modes.push_back(RAINBOW); modes.push_back(RAINBOW);
mode RAINBOW_CIRCUIT = RAINBOW; mode RAINBOW_CIRCUIT = RAINBOW;
RAINBOW_CIRCUIT.name = "Rainbow (circuit)"; RAINBOW_CIRCUIT.name = "Rainbow (circuit)";
modes.push_back(RAINBOW_CIRCUIT); modes.push_back(RAINBOW_CIRCUIT);
mode MARQUEE; mode MARQUEE;
MARQUEE.name = "Marquee"; MARQUEE.name = "Marquee";
MARQUEE.value = ZOTAC_V2_GPU_MODE_MARQUEE; MARQUEE.value = ZOTAC_V2_GPU_MODE_MARQUEE;
MARQUEE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR; MARQUEE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR;
MARQUEE.brightness_min = 0; MARQUEE.brightness_min = 0;
MARQUEE.brightness_max = 100; MARQUEE.brightness_max = 100;
MARQUEE.brightness = 100; MARQUEE.brightness = 100;
MARQUEE.speed_min = 0; MARQUEE.speed_min = 0;
MARQUEE.speed_max = 100; MARQUEE.speed_max = 100;
MARQUEE.speed = 20; MARQUEE.speed = 20;
MARQUEE.color_mode = MODE_COLORS_MODE_SPECIFIC; MARQUEE.color_mode = MODE_COLORS_MODE_SPECIFIC;
MARQUEE.colors_min = 1; MARQUEE.colors_min = 1;
MARQUEE.colors_max = 1; MARQUEE.colors_max = 1;
MARQUEE.colors.resize(1); MARQUEE.colors.resize(1);
MARQUEE.colors[0] = ToRGBColor(0, 0, 255); MARQUEE.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(MARQUEE); modes.push_back(MARQUEE);
mode MARQUEE_CIRCUIT = MARQUEE; mode MARQUEE_CIRCUIT = MARQUEE;
MARQUEE_CIRCUIT.name = "Marquee (circuit)"; MARQUEE_CIRCUIT.name = "Marquee (circuit)";
modes.push_back(MARQUEE_CIRCUIT); modes.push_back(MARQUEE_CIRCUIT);
mode DRIP; mode DRIP;
DRIP.name = "Drip"; DRIP.name = "Drip";
DRIP.value = ZOTAC_V2_GPU_MODE_DRIP; DRIP.value = ZOTAC_V2_GPU_MODE_DRIP;
DRIP.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR; DRIP.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR;
DRIP.brightness_min = 0; DRIP.brightness_min = 0;
DRIP.brightness_max = 100; DRIP.brightness_max = 100;
DRIP.brightness = 100; DRIP.brightness = 100;
DRIP.speed_min = 0; DRIP.speed_min = 0;
DRIP.speed_max = 100; DRIP.speed_max = 100;
DRIP.speed = 20; DRIP.speed = 20;
DRIP.color_mode = MODE_COLORS_MODE_SPECIFIC; DRIP.color_mode = MODE_COLORS_MODE_SPECIFIC;
DRIP.colors_min = 1; DRIP.colors_min = 1;
DRIP.colors_max = 1; DRIP.colors_max = 1;
DRIP.colors.resize(1); DRIP.colors.resize(1);
DRIP.colors[0] = ToRGBColor(0, 0, 255); DRIP.colors[0] = ToRGBColor(0, 0, 255);
modes.push_back(DRIP); modes.push_back(DRIP);
mode DRIP_CIRCUIT = DRIP; mode DRIP_CIRCUIT = DRIP;
DRIP_CIRCUIT.name = "Drip (circuit)"; DRIP_CIRCUIT.name = "Drip (circuit)";
@ -290,49 +290,49 @@ RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* control
// (Sound activated - not supported) // (Sound activated - not supported)
//mode DANCE; //mode DANCE;
//DANCE.name = "Dance (sound activated)"; //DANCE.name = "Dance (sound activated)";
//DANCE.value = ZOTAC_V2_GPU_MODE_DANCE; //DANCE.value = ZOTAC_V2_GPU_MODE_DANCE;
//DANCE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR; //DANCE.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR;
//DANCE.brightness_min = 0; //DANCE.brightness_min = 0;
//DANCE.brightness_max = 100; //DANCE.brightness_max = 100;
//DANCE.brightness = 100; //DANCE.brightness = 100;
//DANCE.color_mode = MODE_COLORS_MODE_SPECIFIC; //DANCE.color_mode = MODE_COLORS_MODE_SPECIFIC;
//DANCE.colors_min = 1; //DANCE.colors_min = 1;
//DANCE.colors_max = 1; //DANCE.colors_max = 1;
//DANCE.colors.resize(1); //DANCE.colors.resize(1);
//DANCE.colors[0] = ToRGBColor(0, 0, 255); //DANCE.colors[0] = ToRGBColor(0, 0, 255);
//modes.push_back(DANCE); //modes.push_back(DANCE);
mode DUET; mode DUET;
DUET.name = "Duet"; DUET.name = "Duet";
DUET.value = ZOTAC_V2_GPU_MODE_DUET; DUET.value = ZOTAC_V2_GPU_MODE_DUET;
DUET.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR; DUET.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_DIRECTION_LR;
DUET.speed_min = 0; DUET.speed_min = 0;
DUET.speed_max = 100; DUET.speed_max = 100;
DUET.speed = 20; DUET.speed = 20;
DUET.color_mode = MODE_COLORS_MODE_SPECIFIC; DUET.color_mode = MODE_COLORS_MODE_SPECIFIC;
DUET.colors_min = 2; DUET.colors_min = 2;
DUET.colors_max = 2; DUET.colors_max = 2;
DUET.colors.resize(2); DUET.colors.resize(2);
DUET.colors[0] = ZOTAC_V2_GPU_DUET_PRESETS[1].first; DUET.colors[0] = ZOTAC_V2_GPU_DUET_PRESETS[1].first;
DUET.colors[1] = ZOTAC_V2_GPU_DUET_PRESETS[1].second; DUET.colors[1] = ZOTAC_V2_GPU_DUET_PRESETS[1].second;
modes.push_back(DUET); modes.push_back(DUET);
mode DUET_CIRCUIT = DUET; mode DUET_CIRCUIT = DUET;
DUET_CIRCUIT.name = "Duet (circuit)"; DUET_CIRCUIT.name = "Duet (circuit)";
modes.push_back(DUET_CIRCUIT); modes.push_back(DUET_CIRCUIT);
mode PATH; mode PATH;
PATH.name = "Path"; PATH.name = "Path";
PATH.value = ZOTAC_V2_GPU_MODE_PATH; PATH.value = ZOTAC_V2_GPU_MODE_PATH;
PATH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR; PATH.flags = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR;
PATH.brightness_min = 0; PATH.brightness_min = 0;
PATH.brightness_max = 100; PATH.brightness_max = 100;
PATH.brightness = 100; PATH.brightness = 100;
PATH.speed_min = 0; PATH.speed_min = 0;
PATH.speed_max = 100; PATH.speed_max = 100;
PATH.speed = 20; PATH.speed = 20;
PATH.color_mode = MODE_COLORS_NONE; PATH.color_mode = MODE_COLORS_NONE;
modes.push_back(PATH); modes.push_back(PATH);
SetupZones(); SetupZones();

View file

@ -12,10 +12,11 @@
#include "ZotacV2GPUController.h" #include "ZotacV2GPUController.h"
#include "LogManager.h" #include "LogManager.h"
ZotacV2GPUController::ZotacV2GPUController(i2c_smbus_interface* bus, u8 dev) ZotacV2GPUController::ZotacV2GPUController(i2c_smbus_interface* bus, u8 dev, std::string dev_name)
{ {
this->bus = bus; this->bus = bus;
this->dev = dev; this->dev = dev;
this->name = dev_name;
if(dev) if(dev)
{ {
@ -37,9 +38,14 @@ std::string ZotacV2GPUController::GetDeviceLocation()
return ("I2C: " + return_string); return ("I2C: " + return_string);
} }
std::string ZotacV2GPUController::GetName()
{
return(name);
}
std::string ZotacV2GPUController::GetVersion() std::string ZotacV2GPUController::GetVersion()
{ {
return version; return(version);
} }
bool ZotacV2GPUController::ReadVersion() bool ZotacV2GPUController::ReadVersion()

View file

@ -85,24 +85,25 @@ struct ZotacV2GPUZone
class ZotacV2GPUController class ZotacV2GPUController
{ {
public: public:
ZotacV2GPUController(i2c_smbus_interface* bus, u8 dev); ZotacV2GPUController(i2c_smbus_interface* bus, u8 dev, std::string dev_name);
~ZotacV2GPUController(); ~ZotacV2GPUController();
std::string GetDeviceLocation(); std::string GetDeviceLocation();
std::string GetVersion(); std::string GetName();
std::string GetVersion();
bool TurnOnOff(bool on); bool TurnOnOff(bool on);
bool ResetToDefaults(); bool ResetToDefaults();
bool GetMode(int zone, int idleActive, int& syncMode, ZotacV2GPUZone& zoneConfig, bool& on); bool GetMode(int zone, int idleActive, int& syncMode, ZotacV2GPUZone& zoneConfig, bool& on);
bool SetMode(int zone, int idleActive, int syncMode, ZotacV2GPUZone zoneConfig); bool SetMode(int zone, int idleActive, int syncMode, ZotacV2GPUZone zoneConfig);
private: private:
bool ReadVersion(); i2c_smbus_interface* bus;
bool SendCommand(bool on, bool reset, int zone, int idleActive, int syncMode, ZotacV2GPUZone zoneConfig); u8 dev;
bool ParseCommand(bool& on, bool& reset, int& zone, int& idleActive, int& syncMode, ZotacV2GPUZone& zoneConfig); std::string name;
std::string version;
i2c_smbus_interface* bus;
u8 dev;
std::string version;
bool ReadVersion();
bool SendCommand(bool on, bool reset, int zone, int idleActive, int syncMode, ZotacV2GPUZone zoneConfig);
bool ParseCommand(bool& on, bool& reset, int& zone, int& idleActive, int& syncMode, ZotacV2GPUZone& zoneConfig);
}; };

View file

@ -30,13 +30,13 @@
void DetectZotacV2GPUControllers(i2c_smbus_interface* bus, u8 i2c_addr, const std::string& name) void DetectZotacV2GPUControllers(i2c_smbus_interface* bus, u8 i2c_addr, const std::string& name)
{ {
u8 rdata_pkt[I2C_SMBUS_BLOCK_MAX] = { 0x00 }; u8 rdata_pkt[I2C_SMBUS_BLOCK_MAX] = { 0x00 };
int rdata_len = sizeof(rdata_pkt); int rdata_len = sizeof(rdata_pkt);
if(bus->i2c_read_block(i2c_addr, &rdata_len, rdata_pkt) >= 0) if(bus->i2c_read_block(i2c_addr, &rdata_len, rdata_pkt) >= 0)
{ {
ZotacV2GPUController* controller = new ZotacV2GPUController(bus, i2c_addr); ZotacV2GPUController* controller = new ZotacV2GPUController(bus, i2c_addr, name);
RGBController_ZotacV2GPU* rgb_controller = new RGBController_ZotacV2GPU(controller); RGBController_ZotacV2GPU* rgb_controller = new RGBController_ZotacV2GPU(controller);
rgb_controller->name = name;
if(rgb_controller->config.numberOfZones > 0) if(rgb_controller->config.numberOfZones > 0)
{ {