mirror of
https://github.com/Lurkki14/tuxclocker.git
synced 2025-02-25 18:55:24 -06:00
Add slider values to main view
This commit is contained in:
parent
b8c0b8c6e6
commit
3f64993657
25
amd.cpp
25
amd.cpp
@ -94,10 +94,14 @@ void amd::calculateUIProperties(int GPUIndex)
|
|||||||
GPUList[GPUIndex].powerLimSliderMax = static_cast<int>(GPUList[GPUIndex].maxPowerLim);
|
GPUList[GPUIndex].powerLimSliderMax = static_cast<int>(GPUList[GPUIndex].maxPowerLim);
|
||||||
GPUList[GPUIndex].powerLimSliderMin = static_cast<int>(GPUList[GPUIndex].minPowerLim);
|
GPUList[GPUIndex].powerLimSliderMin = static_cast<int>(GPUList[GPUIndex].minPowerLim);
|
||||||
|
|
||||||
/*GPUList[GPUIndex].voltageSliderCur = GPUList[GPUIndex].corevolts[GPUList[GPUIndex].corevolts.size()-1];
|
if (GPUList[GPUIndex].overVoltAvailable) {
|
||||||
GPUList[GPUIndex].powerLimSliderCur = static_cast<int>(GPUList[GPUIndex].powerLim);
|
GPUList[GPUIndex].voltageSliderCur = GPUList[GPUIndex].corevolts[GPUList[GPUIndex].corevolts.size()-1];
|
||||||
GPUList[GPUIndex].memClkSliderCur = GPUList[GPUIndex].memvolts[GPUList[GPUIndex].memclocks.size()-1];
|
}
|
||||||
GPUList[GPUIndex].coreClkSliderCur = GPUList[GPUIndex].coreclocks[GPUList[GPUIndex].coreclocks.size()-1];*/
|
/*GPUList[GPUIndex].powerLimSliderCur = static_cast<int>(GPUList[GPUIndex].powerLim);*/
|
||||||
|
if (GPUList[GPUIndex].overClockAvailable) {
|
||||||
|
GPUList[GPUIndex].memClkSliderCur = GPUList[GPUIndex].memvolts[GPUList[GPUIndex].memclocks.size()-1];
|
||||||
|
GPUList[GPUIndex].coreClkSliderCur = GPUList[GPUIndex].coreclocks[GPUList[GPUIndex].coreclocks.size()-1];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
void amd::calculateDisplayValues(int GPUIndex)
|
void amd::calculateDisplayValues(int GPUIndex)
|
||||||
{
|
{
|
||||||
@ -133,9 +137,9 @@ void amd::queryGPUFeatures()
|
|||||||
int type = 0;
|
int type = 0;
|
||||||
int column = 0;
|
int column = 0;
|
||||||
int breakcount = 0;
|
int breakcount = 0;
|
||||||
|
QString path;
|
||||||
|
QString line;
|
||||||
for (int i=0; i<gpuCount; i++) {
|
for (int i=0; i<gpuCount; i++) {
|
||||||
QString path;
|
|
||||||
QString line;
|
|
||||||
if (GPUList[i].gputype == Type::AMDGPU) {
|
if (GPUList[i].gputype == Type::AMDGPU) {
|
||||||
path = "/sys/class/drm/card"+QString::number(GPUList[i].fsindex)+"/device/pp_od_clk_voltage";
|
path = "/sys/class/drm/card"+QString::number(GPUList[i].fsindex)+"/device/pp_od_clk_voltage";
|
||||||
QFile tablefile(path);
|
QFile tablefile(path);
|
||||||
@ -200,6 +204,13 @@ void amd::queryGPUFeatures()
|
|||||||
}
|
}
|
||||||
tablefile.close();
|
tablefile.close();
|
||||||
}
|
}
|
||||||
|
// If the pstate vectors are empty after searching, set the features disabled
|
||||||
|
if (!GPUList[i].corevolts.isEmpty()) GPUList[i].overVoltAvailable = true;
|
||||||
|
|
||||||
|
if (!GPUList[i].coreclocks.isEmpty()) {
|
||||||
|
GPUList[i].overClockAvailable = true;
|
||||||
|
GPUList[i].memOverClockAvailable = true;
|
||||||
|
}
|
||||||
// Check if voltage is readable
|
// Check if voltage is readable
|
||||||
int reading;
|
int reading;
|
||||||
int retval = amdgpu_query_sensor_info(*GPUList[i].dev,
|
int retval = amdgpu_query_sensor_info(*GPUList[i].dev,
|
||||||
@ -304,7 +315,7 @@ void amd::queryGPUFanSpeed(int GPUIndex)
|
|||||||
bool ret = pwmfile.open(QFile::ReadOnly | QFile::Text);
|
bool ret = pwmfile.open(QFile::ReadOnly | QFile::Text);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
QString fanspeed = pwmfile.readLine().trimmed();
|
QString fanspeed = pwmfile.readLine().trimmed();
|
||||||
double percspeed = (fanspeed.toDouble()/255)*100;
|
double percspeed = (fanspeed.toDouble()/2.55);
|
||||||
GPUList[GPUIndex].fanSpeed = static_cast<int>(percspeed);
|
GPUList[GPUIndex].fanSpeed = static_cast<int>(percspeed);
|
||||||
qDebug() << GPUList[GPUIndex].fanSpeed << "fanspeed";
|
qDebug() << GPUList[GPUIndex].fanSpeed << "fanspeed";
|
||||||
}
|
}
|
||||||
|
@ -109,23 +109,46 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
|
|
||||||
// Testing code
|
// Testing code
|
||||||
|
|
||||||
/*ui->voltageSlider->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
if (types->GPUList[currentGPUIndex].overVoltAvailable) {
|
||||||
ui->voltageSpinBox->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
ui->voltageSlider->setEnabled(true);
|
||||||
|
ui->voltageSpinBox->setEnabled(true);
|
||||||
|
ui->voltageSlider->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
||||||
|
ui->voltageSpinBox->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
||||||
|
ui->voltageSlider->setValue(types->GPUList[currentGPUIndex].voltageSliderCur);
|
||||||
|
} else {
|
||||||
|
ui->voltageSlider->setEnabled(false);
|
||||||
|
ui->voltageSpinBox->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
ui->powerLimSlider->setRange(types->GPUList[currentGPUIndex].powerLimSliderMin, types->GPUList[currentGPUIndex].powerLimSliderMax);
|
if (types->GPUList[currentGPUIndex].overClockAvailable) {
|
||||||
ui->powerLimSpinBox->setRange(types->GPUList[currentGPUIndex].powerLimSliderMin, types->GPUList[currentGPUIndex].powerLimSliderMax);
|
ui->frequencySlider->setEnabled(true);
|
||||||
|
ui->frequencySpinBox->setEnabled(true);
|
||||||
|
ui->frequencySpinBox->setRange(types->GPUList[currentGPUIndex].coreClkSliderMin, types->GPUList[currentGPUIndex].coreClkSliderMax);
|
||||||
|
ui->frequencySlider->setRange(types->GPUList[currentGPUIndex].coreClkSliderMin, types->GPUList[currentGPUIndex].coreClkSliderMin);
|
||||||
|
ui->frequencySlider->setValue(types->GPUList[currentGPUIndex].coreClkSliderCur);
|
||||||
|
|
||||||
ui->frequencySpinBox->setRange(types->GPUList[currentGPUIndex].coreClkSliderMin, types->GPUList[currentGPUIndex].coreClkSliderMax);
|
ui->memClkSlider->setEnabled(true);
|
||||||
ui->frequencySlider->setRange(types->GPUList[currentGPUIndex].coreClkSliderMin, types->GPUList[currentGPUIndex].coreClkSliderMin);
|
ui->memClkSpinBox->setEnabled(true);
|
||||||
|
ui->memClkSlider->setRange(types->GPUList[currentGPUIndex].memClkSliderMin, types->GPUList[currentGPUIndex].memClkSliderMax);
|
||||||
ui->memClkSlider->setRange(types->GPUList[currentGPUIndex].memClkSliderMin, types->GPUList[currentGPUIndex].memClkSliderMax);
|
ui->memClkSpinBox->setRange(types->GPUList[currentGPUIndex].memClkSliderMin, types->GPUList[currentGPUIndex].memClkSliderMax);
|
||||||
ui->memClkSpinBox->setRange(types->GPUList[currentGPUIndex].memClkSliderMin, types->GPUList[currentGPUIndex].memClkSliderMax);*/
|
ui->memClkSlider->setValue(types->GPUList[currentGPUIndex].memClkSliderCur);
|
||||||
|
} else {
|
||||||
/*ui->memClkSlider->setValue(types->GPUList[currentGPUIndex].memclocks[types->GPUList[currentGPUIndex].memclocks.size()-1]);
|
ui->frequencySlider->setEnabled(false);
|
||||||
ui->frequencySlider->setValue(types->GPUList[currentGPUIndex].corecloks[types->GPUList[currentGPUIndex].corecloks.size()-1]);
|
ui->frequencySpinBox->setEnabled(false);
|
||||||
ui->powerLimSlider->setValue(types->GPUList[currentGPUIndex].powerLim);
|
ui->memClkSlider->setEnabled(false);
|
||||||
ui->voltageSlider->setValue(types->GPUList[currentGPUIndex].corevolts[types->GPUList[currentGPUIndex].corevolts.size()-1]);*/
|
ui->memClkSpinBox->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (types->GPUList[currentGPUIndex].powerLimitAvailable) {
|
||||||
|
ui->powerLimSlider->setEnabled(true);
|
||||||
|
ui->powerLimSpinBox->setEnabled(true);
|
||||||
|
ui->powerLimSlider->setRange(types->GPUList[currentGPUIndex].powerLimSliderMin, types->GPUList[currentGPUIndex].powerLimSliderMax);
|
||||||
|
ui->powerLimSpinBox->setRange(types->GPUList[currentGPUIndex].powerLimSliderMin, types->GPUList[currentGPUIndex].powerLimSliderMax);
|
||||||
|
ui->powerLimSlider->setValue(types->GPUList[currentGPUIndex].powerLimSliderCur);
|
||||||
|
} else {
|
||||||
|
ui->powerLimSlider->setEnabled(false);
|
||||||
|
ui->powerLimSpinBox->setEnabled(false);
|
||||||
|
}
|
||||||
/*if (!types->GPUList[currentGPUIndex].manualFanCtrlAvailable) {
|
/*if (!types->GPUList[currentGPUIndex].manualFanCtrlAvailable) {
|
||||||
// If manual fan control is not available for the GPU, disable the option
|
// If manual fan control is not available for the GPU, disable the option
|
||||||
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->fanModeComboBox->model());
|
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->fanModeComboBox->model());
|
||||||
@ -134,14 +157,14 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
manualMode->setEnabled(false);
|
manualMode->setEnabled(false);
|
||||||
manualMode->setToolTip("Manual fan control is not available for current GPU");
|
manualMode->setToolTip("Manual fan control is not available for current GPU");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
connect(fanUpdateTimer, SIGNAL(timeout()), this, SLOT(fanSpeedUpdater()));
|
connect(fanUpdateTimer, SIGNAL(timeout()), this, SLOT(fanSpeedUpdater()));
|
||||||
fanUpdateTimer->start(2000);
|
fanUpdateTimer->start(2000);
|
||||||
|
|
||||||
connect(ui->frequencySpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
connect(ui->frequencySpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
||||||
connect(ui->powerLimSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
connect(ui->powerLimSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
||||||
connect(ui->memClkSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
connect(ui->memClkSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
||||||
connect(ui->voltageSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));*/
|
connect(ui->voltageSpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
||||||
|
|
||||||
connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(tabHandler(int)));
|
connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(tabHandler(int)));
|
||||||
connect(monitorUpdater, SIGNAL(timeout()), SLOT(updateMonitor()));
|
connect(monitorUpdater, SIGNAL(timeout()), SLOT(updateMonitor()));
|
||||||
|
Loading…
Reference in New Issue
Block a user