Add detection of specific model of HyperX DRAM - Fury or Predator - and use that name if all sticks are the same type
This commit is contained in:
parent
5841b2c55d
commit
b87691f051
1 changed files with 21 additions and 0 deletions
|
|
@ -63,6 +63,8 @@ void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std:
|
|||
for (unsigned int bus = 0; bus < busses.size(); bus++)
|
||||
{
|
||||
unsigned char slots_valid = 0x00;
|
||||
bool fury_detected = false;
|
||||
bool pred_detected = false;
|
||||
|
||||
IF_DRAM_SMBUS(busses[bus]->pci_vendor, busses[bus]->pci_device)
|
||||
{
|
||||
|
|
@ -82,6 +84,15 @@ void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std:
|
|||
&&(busses[bus]->i2c_smbus_read_byte_data(slot_addr, 0x41) == 0x98))
|
||||
{
|
||||
slots_valid |= (1 << (slot_addr - 0x50));
|
||||
|
||||
if(busses[bus]->i2c_smbus_read_byte_data(slot_addr, 0x67) == 0x01)
|
||||
{
|
||||
fury_detected = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pred_detected = true;
|
||||
}
|
||||
}
|
||||
|
||||
std::this_thread::sleep_for(1ms);
|
||||
|
|
@ -91,6 +102,16 @@ void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std:
|
|||
{
|
||||
new_hyperx = new HyperXDRAMController(busses[bus], 0x27, slots_valid);
|
||||
new_controller = new RGBController_HyperXDRAM(new_hyperx);
|
||||
|
||||
if(fury_detected && !pred_detected)
|
||||
{
|
||||
new_controller->name = "HyperX Fury RGB";
|
||||
}
|
||||
else if(!fury_detected && pred_detected)
|
||||
{
|
||||
new_controller->name = "HyperX Predator RGB";
|
||||
}
|
||||
|
||||
rgb_controllers.push_back(new_controller);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue