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].powerLimSliderMin = static_cast<int>(GPUList[GPUIndex].minPowerLim);
|
||||
|
||||
/*GPUList[GPUIndex].voltageSliderCur = GPUList[GPUIndex].corevolts[GPUList[GPUIndex].corevolts.size()-1];
|
||||
GPUList[GPUIndex].powerLimSliderCur = static_cast<int>(GPUList[GPUIndex].powerLim);
|
||||
GPUList[GPUIndex].memClkSliderCur = GPUList[GPUIndex].memvolts[GPUList[GPUIndex].memclocks.size()-1];
|
||||
GPUList[GPUIndex].coreClkSliderCur = GPUList[GPUIndex].coreclocks[GPUList[GPUIndex].coreclocks.size()-1];*/
|
||||
if (GPUList[GPUIndex].overVoltAvailable) {
|
||||
GPUList[GPUIndex].voltageSliderCur = GPUList[GPUIndex].corevolts[GPUList[GPUIndex].corevolts.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)
|
||||
{
|
||||
@ -133,9 +137,9 @@ void amd::queryGPUFeatures()
|
||||
int type = 0;
|
||||
int column = 0;
|
||||
int breakcount = 0;
|
||||
QString path;
|
||||
QString line;
|
||||
for (int i=0; i<gpuCount; i++) {
|
||||
QString path;
|
||||
QString line;
|
||||
if (GPUList[i].gputype == Type::AMDGPU) {
|
||||
path = "/sys/class/drm/card"+QString::number(GPUList[i].fsindex)+"/device/pp_od_clk_voltage";
|
||||
QFile tablefile(path);
|
||||
@ -200,6 +204,13 @@ void amd::queryGPUFeatures()
|
||||
}
|
||||
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
|
||||
int reading;
|
||||
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);
|
||||
if (ret) {
|
||||
QString fanspeed = pwmfile.readLine().trimmed();
|
||||
double percspeed = (fanspeed.toDouble()/255)*100;
|
||||
double percspeed = (fanspeed.toDouble()/2.55);
|
||||
GPUList[GPUIndex].fanSpeed = static_cast<int>(percspeed);
|
||||
qDebug() << GPUList[GPUIndex].fanSpeed << "fanspeed";
|
||||
}
|
||||
|
@ -109,23 +109,46 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
|
||||
// Testing code
|
||||
|
||||
/*ui->voltageSlider->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
||||
ui->voltageSpinBox->setRange(types->GPUList[currentGPUIndex].voltageSliderMin, types->GPUList[currentGPUIndex].voltageSliderMax);
|
||||
if (types->GPUList[currentGPUIndex].overVoltAvailable) {
|
||||
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);
|
||||
ui->powerLimSpinBox->setRange(types->GPUList[currentGPUIndex].powerLimSliderMin, types->GPUList[currentGPUIndex].powerLimSliderMax);
|
||||
if (types->GPUList[currentGPUIndex].overClockAvailable) {
|
||||
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->frequencySlider->setRange(types->GPUList[currentGPUIndex].coreClkSliderMin, types->GPUList[currentGPUIndex].coreClkSliderMin);
|
||||
|
||||
ui->memClkSlider->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].memclocks[types->GPUList[currentGPUIndex].memclocks.size()-1]);
|
||||
ui->frequencySlider->setValue(types->GPUList[currentGPUIndex].corecloks[types->GPUList[currentGPUIndex].corecloks.size()-1]);
|
||||
ui->powerLimSlider->setValue(types->GPUList[currentGPUIndex].powerLim);
|
||||
ui->voltageSlider->setValue(types->GPUList[currentGPUIndex].corevolts[types->GPUList[currentGPUIndex].corevolts.size()-1]);*/
|
||||
ui->memClkSlider->setEnabled(true);
|
||||
ui->memClkSpinBox->setEnabled(true);
|
||||
ui->memClkSlider->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->frequencySlider->setEnabled(false);
|
||||
ui->frequencySpinBox->setEnabled(false);
|
||||
ui->memClkSlider->setEnabled(false);
|
||||
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 manual fan control is not available for the GPU, disable the option
|
||||
QStandardItemModel *model = qobject_cast<QStandardItemModel*>(ui->fanModeComboBox->model());
|
||||
@ -134,14 +157,14 @@ MainWindow::MainWindow(QWidget *parent) :
|
||||
manualMode->setEnabled(false);
|
||||
manualMode->setToolTip("Manual fan control is not available for current GPU");
|
||||
}
|
||||
|
||||
*/
|
||||
connect(fanUpdateTimer, SIGNAL(timeout()), this, SLOT(fanSpeedUpdater()));
|
||||
fanUpdateTimer->start(2000);
|
||||
|
||||
connect(ui->frequencySpinBox, SIGNAL(valueChanged(int)), SLOT(resetTimer()));
|
||||
connect(ui->powerLimSpinBox, 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(monitorUpdater, SIGNAL(timeout()), SLOT(updateMonitor()));
|
||||
|
Loading…
Reference in New Issue
Block a user