mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-01-02 04:07:48 -05:00
61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
/*-----------------------------------------*\
|
|
| FanController_ThermaltakeRiing.cpp |
|
|
| |
|
|
| Generic Fan Interface for Thermaltake |
|
|
| Riing controller |
|
|
| |
|
|
| Adam Honse (CalcProgrammer1) 6/5/2020 |
|
|
\*-----------------------------------------*/
|
|
|
|
#include "FanController_ThermaltakeRiing.h"
|
|
|
|
FanController_ThermaltakeRiing::FanController_ThermaltakeRiing(ThermaltakeRiingController* riing_ptr)
|
|
{
|
|
riing = riing_ptr;
|
|
|
|
name = "Thermaltake Riing";
|
|
description = "Thermaltake Riing Device";
|
|
version = riing->GetFirmwareVersion();
|
|
|
|
for(std::size_t fan_index = 0; fan_index < THERMALTAKE_NUM_CHANNELS; fan_index++)
|
|
{
|
|
fan new_fan;
|
|
unsigned char speed;
|
|
unsigned short rpm;
|
|
|
|
riing->GetFanData(fan_index + 1, &speed, &rpm);
|
|
|
|
new_fan.name = "Thermaltake Riing Fan ";
|
|
new_fan.name.append(std::to_string(fan_index + 1));
|
|
new_fan.speed_min = THERMALTAKE_FAN_SPEED_MIN;
|
|
new_fan.speed_max = THERMALTAKE_FAN_SPEED_MAX;
|
|
new_fan.speed_cmd = speed;
|
|
new_fan.rpm_rdg = rpm;
|
|
|
|
fans.push_back(new_fan);
|
|
}
|
|
|
|
|
|
UpdateControl();
|
|
}
|
|
|
|
void FanController_ThermaltakeRiing::UpdateControl()
|
|
{
|
|
for(std::size_t fan_index = 0; fan_index < fans.size(); fan_index++)
|
|
{
|
|
riing->SendFan(fan_index + 1, THERMALTAKE_FAN_MODE_FIXED, fans[fan_index].speed_cmd);
|
|
}
|
|
}
|
|
|
|
void FanController_ThermaltakeRiing::UpdateReading()
|
|
{
|
|
for(std::size_t fan_index = 0; fan_index < fans.size(); fan_index++)
|
|
{
|
|
unsigned char speed;
|
|
unsigned short rpm;
|
|
|
|
riing->GetFanData(fan_index + 1, &speed, &rpm);
|
|
|
|
fans[fan_index].rpm_rdg = rpm;
|
|
}
|
|
} |