mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-02-09 06:41:08 -05:00
57 lines
1.7 KiB
C++
57 lines
1.7 KiB
C++
/*-----------------------------------------*\
|
|
| FanController_CorsairCommander.cpp |
|
|
| |
|
|
| Generic Fan Interface for Corsair |
|
|
| Commander controller |
|
|
| |
|
|
| Adam Honse (CalcProgrammer1) 6/7/2020 |
|
|
\*-----------------------------------------*/
|
|
|
|
#include "FanController_CorsairCommander.h"
|
|
|
|
FanController_CorsairCommander::FanController_CorsairCommander(CorsairLightingNodeController* corsair_ptr)
|
|
{
|
|
corsair = corsair_ptr;
|
|
|
|
name = "Corsair Commander";
|
|
description = "Corsair Commander Device";
|
|
version = corsair->GetFirmwareString();
|
|
|
|
for(std::size_t fan_index = 0; fan_index < CORSAIR_LIGHTING_NODE_NUM_FAN_CHANNELS; fan_index++)
|
|
{
|
|
fan new_fan;
|
|
|
|
new_fan.name = "Corsair Commander Fan ";
|
|
new_fan.name.append(std::to_string(fan_index + 1));
|
|
new_fan.speed_min = 0;
|
|
new_fan.speed_max = 100;
|
|
new_fan.speed_cmd = corsair->GetFanPercent(fan_index);
|
|
new_fan.rpm_rdg = corsair->GetFanRPM(fan_index);
|
|
|
|
fans.push_back(new_fan);
|
|
|
|
corsair->SetFanConfiguration(fan_index, CORSAIR_LIGHTING_NODE_FAN_CONFIG_4_PIN);
|
|
}
|
|
|
|
UpdateControl();
|
|
}
|
|
|
|
void FanController_CorsairCommander::UpdateControl()
|
|
{
|
|
for(std::size_t fan_index = 0; fan_index < fans.size(); fan_index++)
|
|
{
|
|
corsair->SetFanPercent(fan_index, fans[fan_index].speed_cmd);
|
|
}
|
|
}
|
|
|
|
void FanController_CorsairCommander::UpdateReading()
|
|
{
|
|
for(std::size_t fan_index = 0; fan_index < fans.size(); fan_index++)
|
|
{
|
|
unsigned short rpm;
|
|
|
|
rpm = corsair->GetFanRPM(fan_index);
|
|
|
|
fans[fan_index].rpm_rdg = rpm;
|
|
}
|
|
} |