More Sapphire GPU work

This commit is contained in:
Adam Honse 2020-07-15 14:47:20 -05:00
parent f4872c52bd
commit 607d83b795
4 changed files with 43 additions and 4 deletions

View file

@ -30,6 +30,21 @@ std::string SapphireGPUController::GetDeviceLocation()
return(return_string);
}
unsigned char SapphireGPUController::GetRed()
{
return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_GPU_REG_RED));
}
unsigned char SapphireGPUController::GetGreen()
{
return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_GPU_REG_GREEN));
}
unsigned char SapphireGPUController::GetBlue()
{
return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_GPU_REG_BLUE));
}
void SapphireGPUController::SetColor(unsigned char red, unsigned char green, unsigned char blue)
{
bus->i2c_smbus_write_byte_data(dev, SAPPHIRE_GPU_REG_RED, red);
@ -39,5 +54,5 @@ void SapphireGPUController::SetColor(unsigned char red, unsigned char green, uns
void SapphireGPUController::SetMode(unsigned char mode, unsigned char speed)
{
bus->i2c_smbus_write_byte_data(dev, SAPPHIRE_GPU_REG_MODE, 0x04);
bus->i2c_smbus_write_byte_data(dev, SAPPHIRE_GPU_REG_MODE, mode);
}

View file

@ -23,6 +23,16 @@ enum
SAPPHIRE_GPU_REG_BLUE = 0x05,
};
enum
{
SAPPHIRE_GPU_MODE_SAPPHIRE_BLUE = 0x00,
SAPPHIRE_GPU_MODE_RAINBOW = 0x01,
SAPPHIRE_GPU_MODE_BOARD_TEMPERATURE = 0x02,
SAPPHIRE_GPU_MODE_FAN_SPEED = 0x03,
SAPPHIRE_GPU_MODE_CUSTOM = 0x04,
SAPPHIRE_GPU_MODE_OFF = 0x05,
};
class SapphireGPUController
{
public:
@ -31,6 +41,10 @@ public:
std::string GetDeviceLocation();
unsigned char GetRed();
unsigned char GetGreen();
unsigned char GetBlue();
void SetColor(unsigned char red, unsigned char green, unsigned char blue);
void SetMode(unsigned char mode, unsigned char speed);

View file

@ -20,9 +20,12 @@ bool TestForSapphireGPUController(i2c_smbus_interface* bus, unsigned char addres
bool pass = false;
int res;
//TODO - detection
if(bus->i2c_smbus_read_byte_data(address, 0x06) == 0xCC)
{
pass = true;
}
return(false);
return(false); //TODO - better detection, leaving disabled for now
} /* TestForSapphireGPUController() */