hocclk: autosave kip and reduce uv3 to 675

This commit is contained in:
souldbminersmwc
2026-04-08 19:15:26 -04:00
parent 6334603f9e
commit 66d0109a9a
3 changed files with 207 additions and 134 deletions

View File

@@ -55,7 +55,10 @@ void AboutGui::listUI()
ramVoltItem = ramVoltItem =
new tsl::elm::ListItem("RAM Voltage:"); new tsl::elm::ListItem("RAM Voltage:");
this->listElement->addItem(ramVoltItem);
if(IsMariko()) {
this->listElement->addItem(ramVoltItem);
}
dispVoltItem = dispVoltItem =
new tsl::elm::ListItem("Display Voltage:"); new tsl::elm::ListItem("Display Voltage:");
@@ -105,7 +108,7 @@ void AboutGui::listUI()
saltyNXStatusItem = saltyNXStatusItem =
new tsl::elm::ListItem("SaltyNX status:"); new tsl::elm::ListItem("SaltyNX status:");
this->listElement->addItem(saltyNXStatusItem); this->listElement->addItem(saltyNXStatusItem);
this->listElement->addItem( this->listElement->addItem(
new tsl::elm::CategoryHeader("Credits") new tsl::elm::CategoryHeader("Credits")
); );

View File

@@ -24,6 +24,26 @@
#include <vector> #include <vector>
#include <notification.h> #include <notification.h>
#include "labels.h" #include "labels.h"
// This workaround *may* not be nessasary, but it seems to help with reducing stutter
static void kipDataThreadFunc(void*) {
hocClkIpcSetKipData();
}
static Thread s_kipThread;
static bool s_kipThreadPending = false;
static void sendKipData() {
if (s_kipThreadPending) {
threadWaitForExit(&s_kipThread);
threadClose(&s_kipThread);
s_kipThreadPending = false;
}
if (R_SUCCEEDED(threadCreate(&s_kipThread, kipDataThreadFunc, nullptr, nullptr, 0x1000, 0x2C, -2))) {
threadStart(&s_kipThread);
s_kipThreadPending = true;
}
}
#if IS_MINIMAL == 1 #if IS_MINIMAL == 1
#pragma message("Compiling with minimal features") #pragma message("Compiling with minimal features")
#endif #endif
@@ -51,6 +71,11 @@ MiscGui::MiscGui()
MiscGui::~MiscGui() MiscGui::~MiscGui()
{ {
if (s_kipThreadPending) {
threadWaitForExit(&s_kipThread);
threadClose(&s_kipThread);
s_kipThreadPending = false;
}
delete this->configList; delete this->configList;
this->configToggles.clear(); this->configToggles.clear();
this->configTrackbars.clear(); this->configTrackbars.clear();
@@ -58,14 +83,19 @@ MiscGui::~MiscGui()
this->configRanges.clear(); this->configRanges.clear();
} }
void MiscGui::addConfigToggle(HocClkConfigValue configVal, const char* altName) { void MiscGui::addConfigToggle(HocClkConfigValue configVal, const char* altName, bool kip) {
const char* configName = altName ? altName : hocclkFormatConfigValue(configVal, true); const char* configName = altName ? altName : hocclkFormatConfigValue(configVal, true);
tsl::elm::ToggleListItem* toggle = new tsl::elm::ToggleListItem(configName, this->configList->values[configVal]); tsl::elm::ToggleListItem* toggle = new tsl::elm::ToggleListItem(configName, this->configList->values[configVal]);
toggle->setStateChangedListener([this, configVal](bool state) { if (kip)
toggle->setTextColor(tsl::Color(255, 165, 0, 255));
toggle->setStateChangedListener([this, configVal, kip](bool state) {
this->configList->values[configVal] = uint64_t(state); this->configList->values[configVal] = uint64_t(state);
Result rc = hocclkIpcSetConfigValues(this->configList); Result rc = hocclkIpcSetConfigValues(this->configList);
if (R_FAILED(rc)) if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc); FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc);
} else if (kip) {
sendKipData();
}
this->lastContextUpdate = armGetSystemTick(); this->lastContextUpdate = armGetSystemTick();
}); });
this->listElement->addItem(toggle); this->listElement->addItem(toggle);
@@ -80,11 +110,14 @@ void MiscGui::addConfigButton(HocClkConfigValue configVal,
const ValueThresholds* thresholds, const ValueThresholds* thresholds,
const std::map<uint32_t, std::string>& labels, const std::map<uint32_t, std::string>& labels,
const std::vector<NamedValue>& namedValues, const std::vector<NamedValue>& namedValues,
bool showDefaultValue) bool showDefaultValue,
bool kip)
{ {
const char* configName = altName ? altName : hocclkFormatConfigValue(configVal, true); const char* configName = altName ? altName : hocclkFormatConfigValue(configVal, true);
tsl::elm::ListItem* listItem = new tsl::elm::ListItem(configName); tsl::elm::ListItem* listItem = new tsl::elm::ListItem(configName);
if (kip)
listItem->setTextColor(tsl::Color(255, 165, 0, 255));
uint64_t currentValue = this->configList->values[configVal]; uint64_t currentValue = this->configList->values[configVal];
char valueText[32]; char valueText[32];
@@ -114,7 +147,7 @@ void MiscGui::addConfigButton(HocClkConfigValue configVal,
ValueThresholds thresholdsCopy = (thresholds ? *thresholds : ValueThresholds{}); ValueThresholds thresholdsCopy = (thresholds ? *thresholds : ValueThresholds{});
listItem->setClickListener( listItem->setClickListener(
[this, configVal, range, categoryName, thresholdsCopy, labels, namedValues, showDefaultValue](u64 keys) [this, configVal, range, categoryName, thresholdsCopy, labels, namedValues, showDefaultValue, kip](u64 keys)
{ {
if ((keys & HidNpadButton_A) == 0) if ((keys & HidNpadButton_A) == 0)
return false; return false;
@@ -127,13 +160,16 @@ void MiscGui::addConfigButton(HocClkConfigValue configVal,
currentValue, currentValue,
range, range,
categoryName, categoryName,
[this, configVal](std::uint32_t value) { [this, configVal, kip](std::uint32_t value) {
this->configList->values[configVal] = value; this->configList->values[configVal] = value;
Result rc = hocclkIpcSetConfigValues(this->configList); Result rc = hocclkIpcSetConfigValues(this->configList);
if (R_FAILED(rc)) { if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc); FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc);
return false; return false;
} }
if (kip) {
sendKipData();
}
this->lastContextUpdate = armGetSystemTick(); this->lastContextUpdate = armGetSystemTick();
return true; return true;
}, },
@@ -149,13 +185,16 @@ void MiscGui::addConfigButton(HocClkConfigValue configVal,
currentValue, currentValue,
range, range,
categoryName, categoryName,
[this, configVal](std::uint32_t value) { [this, configVal, kip](std::uint32_t value) {
this->configList->values[configVal] = value; this->configList->values[configVal] = value;
Result rc = hocclkIpcSetConfigValues(this->configList); Result rc = hocclkIpcSetConfigValues(this->configList);
if (R_FAILED(rc)) { if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc); FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc);
return false; return false;
} }
if (kip) {
sendKipData();
}
this->lastContextUpdate = armGetSystemTick(); this->lastContextUpdate = armGetSystemTick();
return true; return true;
}, },
@@ -184,9 +223,12 @@ void MiscGui::addConfigButtonS(HocClkConfigValue configVal,
const std::map<uint32_t, std::string>& labels, const std::map<uint32_t, std::string>& labels,
const std::vector<NamedValue>& namedValues, const std::vector<NamedValue>& namedValues,
bool showDefaultValue, bool showDefaultValue,
const char* subText) const char* subText,
bool kip)
{ {
tsl::elm::ListItem* listItem = new tsl::elm::ListItem(""); tsl::elm::ListItem* listItem = new tsl::elm::ListItem("");
if (kip)
listItem->setTextColor(tsl::Color(255, 165, 0, 255));
uint64_t currentValue = this->configList->values[configVal]; uint64_t currentValue = this->configList->values[configVal];
char valueText[32]; char valueText[32];
@@ -218,7 +260,7 @@ void MiscGui::addConfigButtonS(HocClkConfigValue configVal,
ValueThresholds thresholdsCopy = (thresholds ? *thresholds : ValueThresholds{}); ValueThresholds thresholdsCopy = (thresholds ? *thresholds : ValueThresholds{});
listItem->setClickListener( listItem->setClickListener(
[this, configVal, range, categoryName, thresholdsCopy, labels, namedValues, showDefaultValue](u64 keys) [this, configVal, range, categoryName, thresholdsCopy, labels, namedValues, showDefaultValue, kip](u64 keys)
{ {
if ((keys & HidNpadButton_A) == 0) if ((keys & HidNpadButton_A) == 0)
return false; return false;
@@ -231,13 +273,16 @@ void MiscGui::addConfigButtonS(HocClkConfigValue configVal,
currentValue, currentValue,
range, range,
categoryName, categoryName,
[this, configVal](std::uint32_t value) { [this, configVal, kip](std::uint32_t value) {
this->configList->values[configVal] = value; this->configList->values[configVal] = value;
Result rc = hocclkIpcSetConfigValues(this->configList); Result rc = hocclkIpcSetConfigValues(this->configList);
if (R_FAILED(rc)) { if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc); FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc);
return false; return false;
} }
if (kip) {
sendKipData();
}
this->lastContextUpdate = armGetSystemTick(); this->lastContextUpdate = armGetSystemTick();
return true; return true;
}, },
@@ -253,13 +298,16 @@ void MiscGui::addConfigButtonS(HocClkConfigValue configVal,
currentValue, currentValue,
range, range,
categoryName, categoryName,
[this, configVal](std::uint32_t value) { [this, configVal, kip](std::uint32_t value) {
this->configList->values[configVal] = value; this->configList->values[configVal] = value;
Result rc = hocclkIpcSetConfigValues(this->configList); Result rc = hocclkIpcSetConfigValues(this->configList);
if (R_FAILED(rc)) { if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc); FatalGui::openWithResultCode("hocclkIpcSetConfigValues", rc);
return false; return false;
} }
if (kip) {
sendKipData();
}
this->lastContextUpdate = armGetSystemTick(); this->lastContextUpdate = armGetSystemTick();
return true; return true;
}, },
@@ -365,6 +413,14 @@ void MiscGui::listUI()
std::vector<NamedValue> noNamedValues = {}; std::vector<NamedValue> noNamedValues = {};
this->listElement->addItem(new tsl::elm::CategoryHeader("Settings")); this->listElement->addItem(new tsl::elm::CategoryHeader("Settings"));
tsl::elm::CustomDrawer* rebootSetWarning = new tsl::elm::CustomDrawer([](tsl::gfx::Renderer *renderer, s32 x, s32 y, s32 w, s32 h) {
renderer->drawString("\uE150 Settings marked in orange", false, x + 20, y + 30, 18, tsl::style::color::ColorText);
renderer->drawString("require a reboot to apply!", false, x + 20, y + 50, 18, tsl::style::color::ColorText);
});
rebootSetWarning->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 70);
this->listElement->addItem(rebootSetWarning);
tsl::elm::ListItem* sysmoduleSettingsSubMenu = new tsl::elm::ListItem("General Settings"); tsl::elm::ListItem* sysmoduleSettingsSubMenu = new tsl::elm::ListItem("General Settings");
sysmoduleSettingsSubMenu->setClickListener([](u64 keys) { sysmoduleSettingsSubMenu->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) { if (keys & HidNpadButton_A) {
@@ -398,23 +454,6 @@ void MiscGui::listUI()
safetySubmenu->setValue(R_ARROW); safetySubmenu->setValue(R_ARROW);
this->listElement->addItem(safetySubmenu); this->listElement->addItem(safetySubmenu);
// this->listElement->addItem(new tsl::elm::CategoryHeader("KIP"));
tsl::elm::ListItem* saveBtn = new tsl::elm::ListItem("Save KIP Settings");
saveBtn->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) {
Result rc = hocClkIpcSetKipData();
if (R_FAILED(rc)) {
FatalGui::openWithResultCode("hocClkIpcSetKipData", rc);
return false;
}
return true;
}
return false;
});
saveBtn->setValue(A_BTN);
this->listElement->addItem(saveBtn);
tsl::elm::ListItem* ramSubmenu = new tsl::elm::ListItem("RAM Settings"); tsl::elm::ListItem* ramSubmenu = new tsl::elm::ListItem("RAM Settings");
ramSubmenu->setClickListener([](u64 keys) { ramSubmenu->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) { if (keys & HidNpadButton_A) {
@@ -487,7 +526,9 @@ protected:
NamedValue("VDDQ", RamDisplayMode_VDDQ), NamedValue("VDDQ", RamDisplayMode_VDDQ),
}; };
addConfigButton(HocClkConfigValue_RAMVoltDisplayMode, "RAM Voltage Display Mode", ValueRange(0, 12, 1, "", 0), "RAM Voltage Display Mode", &thresholdsDisabled, {}, ramVoltDispModes, false); if(IsMariko()) {
addConfigButton(HocClkConfigValue_RAMVoltDisplayMode, "RAM Voltage Display Mode", ValueRange(0, 12, 1, "", 0), "RAM Voltage Display Mode", &thresholdsDisabled, {}, ramVoltDispModes, false);
}
addConfigButton( addConfigButton(
HocClkConfigValue_PollingIntervalMs, HocClkConfigValue_PollingIntervalMs,
@@ -760,7 +801,7 @@ protected:
this->listElement->addItem(new tsl::elm::CategoryHeader("RAM Settings")); this->listElement->addItem(new tsl::elm::CategoryHeader("RAM Settings"));
addConfigToggle(KipConfigValue_hpMode, "HP Mode"); addConfigToggle(KipConfigValue_hpMode, "HP Mode", true);
std::map<uint32_t, std::string> emc_voltage_label = { std::map<uint32_t, std::string> emc_voltage_label = {
{1100000, "Default (Mariko)"}, {1100000, "Default (Mariko)"},
@@ -780,7 +821,8 @@ protected:
&vdd2Thresholds, &vdd2Thresholds,
emc_voltage_label, emc_voltage_label,
noNamedValues, noNamedValues,
false false,
true
); );
if(IsMariko()) { if(IsMariko()) {
@@ -792,7 +834,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
} }
@@ -804,11 +847,13 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
if (IsErista()) { if (IsErista()) {
tsl::elm::ListItem* freqSubmenu = new tsl::elm::ListItem("RAM Frequency Editor"); tsl::elm::ListItem* freqSubmenu = new tsl::elm::ListItem("RAM Frequency Editor");
freqSubmenu->setTextColor(tsl::Color(255, 165, 0, 255));
freqSubmenu->setClickListener([](u64 keys) { freqSubmenu->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) { if (keys & HidNpadButton_A) {
tsl::changeTo<RamTableEditor>(); tsl::changeTo<RamTableEditor>();
@@ -881,10 +926,11 @@ protected:
// NamedValue("3500MHz (Needs ridiculous Speedo/PLL)", 3500000), // NamedValue("3500MHz (Needs ridiculous Speedo/PLL)", 3500000),
}; };
addConfigButton(KipConfigValue_marikoEmcMaxClock, "Ram Max Clock", ValueRange(0, 1, 1, "", 1), "Ram Max Clock", &thresholdsDisabled, {}, marikoMaxEmcClock, false); addConfigButton(KipConfigValue_marikoEmcMaxClock, "Ram Max Clock", ValueRange(0, 1, 1, "", 1), "Ram Max Clock", &thresholdsDisabled, {}, marikoMaxEmcClock, false, true);
} }
tsl::elm::ListItem* latenciesSubmenu = new tsl::elm::ListItem("RAM Latency Editor"); tsl::elm::ListItem* latenciesSubmenu = new tsl::elm::ListItem("RAM Latency Editor");
latenciesSubmenu->setTextColor(tsl::Color(255, 165, 0, 255));
latenciesSubmenu->setClickListener([](u64 keys) { latenciesSubmenu->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) { if (keys & HidNpadButton_A) {
tsl::changeTo<RamLatenciesSubmenuGui>(); tsl::changeTo<RamLatenciesSubmenuGui>();
@@ -896,6 +942,7 @@ protected:
this->listElement->addItem(latenciesSubmenu); this->listElement->addItem(latenciesSubmenu);
tsl::elm::ListItem* timingsSubmenu = new tsl::elm::ListItem("RAM Timing Reductions"); tsl::elm::ListItem* timingsSubmenu = new tsl::elm::ListItem("RAM Timing Reductions");
timingsSubmenu->setTextColor(tsl::Color(255, 165, 0, 255));
timingsSubmenu->setClickListener([](u64 keys) { timingsSubmenu->setClickListener([](u64 keys) {
if (keys & HidNpadButton_A) { if (keys & HidNpadButton_A) {
tsl::changeTo<RamTimingsSubmenuGui>(); tsl::changeTo<RamTimingsSubmenuGui>();
@@ -919,14 +966,14 @@ protected:
this->listElement->addItem(new tsl::elm::CategoryHeader("Memory Timings")); this->listElement->addItem(new tsl::elm::CategoryHeader("Memory Timings"));
addConfigButton(KipConfigValue_t1_tRCD, "t1 tRCD", ValueRange(0, 8, 1, "", 1), "tRCD", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t1_tRCD, "t1 tRCD", ValueRange(0, 8, 1, "", 1), "tRCD", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t2_tRP, "t2 tRP", ValueRange(0, 8, 1, "", 1), "tRP", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t2_tRP, "t2 tRP", ValueRange(0, 8, 1, "", 1), "tRP", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t3_tRAS, "t3 tRAS", ValueRange(0, 10, 1, "", 1), "tRAS", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t3_tRAS, "t3 tRAS", ValueRange(0, 10, 1, "", 1), "tRAS", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t4_tRRD, "t4 tRRD", ValueRange(0, 7, 1, "", 1), "tRRD", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t4_tRRD, "t4 tRRD", ValueRange(0, 7, 1, "", 1), "tRRD", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t5_tRFC, "t5 tRFC", ValueRange(0, 11, 1, "", 1), "tRFC", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t5_tRFC, "t5 tRFC", ValueRange(0, 11, 1, "", 1), "tRFC", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t6_tRTW, "t6 tRTW", ValueRange(0, 10, 1, "", 1), "tRTW", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t6_tRTW, "t6 tRTW", ValueRange(0, 10, 1, "", 1), "tRTW", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t7_tWTR, "t7 tWTR", ValueRange(0, 10, 1, "", 1), "tWTR", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t7_tWTR, "t7 tWTR", ValueRange(0, 10, 1, "", 1), "tWTR", &thresholdsDisabled, {}, {}, false, true);
addConfigButton(KipConfigValue_t8_tREFI, "t8 tREFI", ValueRange(0, 6, 1, "", 1), "tREFI", &thresholdsDisabled, {}, {}, false); addConfigButton(KipConfigValue_t8_tREFI, "t8 tREFI", ValueRange(0, 6, 1, "", 1), "tREFI", &thresholdsDisabled, {}, {}, false, true);
std::vector<NamedValue> t6_tRTW_fine_tune = { std::vector<NamedValue> t6_tRTW_fine_tune = {
NamedValue("-2", 0xFFFFFFFE), NamedValue("-2", 0xFFFFFFFE),
@@ -947,8 +994,8 @@ protected:
}; };
this->listElement->addItem(new tsl::elm::CategoryHeader("Advanced")); this->listElement->addItem(new tsl::elm::CategoryHeader("Advanced"));
addConfigButton(KipConfigValue_t6_tRTW_fine_tune, "t6 tRTW Fine Tune", ValueRange(0, 4, 1, "", 0), "tRTW Fine Tune", &thresholdsDisabled, {}, t6_tRTW_fine_tune, false); addConfigButton(KipConfigValue_t6_tRTW_fine_tune, "t6 tRTW Fine Tune", ValueRange(0, 4, 1, "", 0), "tRTW Fine Tune", &thresholdsDisabled, {}, t6_tRTW_fine_tune, false, true);
addConfigButton(KipConfigValue_t7_tWTR_fine_tune, "t7 tWTR Fine Tune", ValueRange(0, 6, 1, "", 0), "tWTR Fine Tune", &thresholdsDisabled, {}, t7_tWTR_fine_tune, false); addConfigButton(KipConfigValue_t7_tWTR_fine_tune, "t7 tWTR Fine Tune", ValueRange(0, 6, 1, "", 0), "tWTR Fine Tune", &thresholdsDisabled, {}, t7_tWTR_fine_tune, false, true);
} }
}; };
@@ -984,7 +1031,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
rlLabels, rlLabels,
false false,
true
); );
addConfigButton( addConfigButton(
@@ -995,7 +1043,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
wlLabels, wlLabels,
false false,
true
); );
} }
}; };
@@ -1039,7 +1088,8 @@ protected:
this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds, this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds,
{}, {},
ClkOptions, ClkOptions,
false false,
true
); );
} else { } else {
std::vector<NamedValue> ClkOptionsE = { std::vector<NamedValue> ClkOptionsE = {
@@ -1059,7 +1109,8 @@ protected:
this->configList->values[KipConfigValue_eristaCpuUV] ? &eCpuClockThresholdsUV : &eCpuClockThresholds, this->configList->values[KipConfigValue_eristaCpuUV] ? &eCpuClockThresholdsUV : &eCpuClockThresholds,
{}, {},
ClkOptionsE, ClkOptionsE,
false false,
true
); );
} }
if(IsErista()) { if(IsErista()) {
@@ -1071,10 +1122,11 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
addConfigToggle(KipConfigValue_eristaCpuUnlock, "CPU Unlock"); addConfigToggle(KipConfigValue_eristaCpuUnlock, "CPU Unlock", true);
addConfigButton( addConfigButton(
KipConfigValue_eristaCpuVmin, KipConfigValue_eristaCpuVmin,
"CPU VMIN", "CPU VMIN",
@@ -1083,7 +1135,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
ValueThresholds eCpuVoltThresholds(1235, 1260); ValueThresholds eCpuVoltThresholds(1235, 1260);
@@ -1095,7 +1148,8 @@ protected:
&eCpuVoltThresholds, &eCpuVoltThresholds,
{}, {},
{}, {},
false false,
true
); );
std::vector<NamedValue> maxClkOptions = { std::vector<NamedValue> maxClkOptions = {
@@ -1135,7 +1189,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
marikoTableConf, marikoTableConf,
false false,
true
); );
addConfigButton( addConfigButton(
KipConfigValue_marikoCpuUVLow, KipConfigValue_marikoCpuUVLow,
@@ -1145,7 +1200,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
addConfigButton( addConfigButton(
KipConfigValue_marikoCpuUVHigh, KipConfigValue_marikoCpuUVHigh,
@@ -1155,7 +1211,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
std::vector<NamedValue> maxClkOptions = { std::vector<NamedValue> maxClkOptions = {
@@ -1177,7 +1234,8 @@ protected:
this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds, this->configList->values[KipConfigValue_marikoCpuUVHigh] ? &mCpuClockThresholdsUV : &mCpuClockThresholds,
{}, {},
maxClkOptions, maxClkOptions,
false false,
true
); );
addConfigButton( addConfigButton(
@@ -1188,7 +1246,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
addConfigButton( addConfigButton(
@@ -1199,7 +1258,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
ValueThresholds mCpuVoltThresholds(1160, 1180); ValueThresholds mCpuVoltThresholds(1160, 1180);
@@ -1211,7 +1271,8 @@ protected:
&mCpuVoltThresholds, &mCpuVoltThresholds,
{}, {},
{}, {},
false false,
true
); );
addConfigToggle(HocClkConfigValue_OverwriteBoostMode, nullptr); addConfigToggle(HocClkConfigValue_OverwriteBoostMode, nullptr);
@@ -1288,9 +1349,9 @@ protected:
NamedValue("2400 MHz", 2400000, "JEDEC."), NamedValue("2400 MHz", 2400000, "JEDEC."),
}; };
addConfigButtonS(KipConfigValue_eristaEmcMaxClock, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN); addConfigButtonS(KipConfigValue_eristaEmcMaxClock, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN, true);
addConfigButtonS(KipConfigValue_eristaEmcMaxClock1, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN); addConfigButtonS(KipConfigValue_eristaEmcMaxClock1, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN, true);
addConfigButtonS(KipConfigValue_eristaEmcMaxClock2, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN); addConfigButtonS(KipConfigValue_eristaEmcMaxClock2, "", ValueRange(0, 1, 1, "", 1), "", &eristaRamThresholds, {}, eristaMaxEmcClock, false, A_BTN, true);
}; };
}; };
@@ -1345,7 +1406,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
gpuUvConf, gpuUvConf,
false false,
true
); );
addConfigButton( addConfigButton(
KipConfigValue_eristaGpuVmin, KipConfigValue_eristaGpuVmin,
@@ -1355,7 +1417,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
{}, {},
false false,
true
); );
} else { } else {
addConfigButton( addConfigButton(
@@ -1366,7 +1429,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
gpuUvConf, gpuUvConf,
false false,
true
); );
// tsl::elm::ListItem* vminCalcBtn = new tsl::elm::ListItem("Calculate GPU Vmin"); // tsl::elm::ListItem* vminCalcBtn = new tsl::elm::ListItem("Calculate GPU Vmin");
@@ -1382,7 +1446,7 @@ protected:
// return false; // return false;
// }); // });
addConfigButton(KipConfigValue_marikoGpuVmin, "GPU VMIN", ValueRange(0, 0, 0, "0", 1), "GPU VMIN", &thresholdsDisabled, {}, mGpuVoltsVmin, false); addConfigButton(KipConfigValue_marikoGpuVmin, "GPU VMIN", ValueRange(0, 0, 0, "0", 1), "GPU VMIN", &thresholdsDisabled, {}, mGpuVoltsVmin, false, true);
ValueThresholds MgpuVmaxThresholds(805, 850); ValueThresholds MgpuVmaxThresholds(805, 850);
addConfigButton( addConfigButton(
KipConfigValue_marikoGpuVmax, KipConfigValue_marikoGpuVmax,
@@ -1392,7 +1456,8 @@ protected:
&MgpuVmaxThresholds, &MgpuVmaxThresholds,
{}, {},
{}, {},
false false,
true
); );
} }
@@ -1417,7 +1482,8 @@ protected:
&thresholdsDisabled, &thresholdsDisabled,
{}, {},
gpuOffset, gpuOffset,
false false,
true
); );
std::vector<NamedValue> gpuSchedValues = { std::vector<NamedValue> gpuSchedValues = {
@@ -1553,6 +1619,8 @@ protected:
std::vector<NamedValue> eGpuVolts = { std::vector<NamedValue> eGpuVolts = {
NamedValue("Disabled", 2000), NamedValue("Disabled", 2000),
NamedValue("Auto", 0), NamedValue("Auto", 0),
NamedValue("675mV", 675), NamedValue("680mV", 680), NamedValue("685mV", 685),
NamedValue("690mV", 690), NamedValue("695mV", 695),
NamedValue("700mV", 700), NamedValue("705mV", 705), NamedValue("710mV", 710), NamedValue("700mV", 700), NamedValue("705mV", 705), NamedValue("710mV", 710),
NamedValue("715mV", 715), NamedValue("720mV", 720), NamedValue("725mV", 725), NamedValue("715mV", 715), NamedValue("720mV", 720), NamedValue("725mV", 725),
NamedValue("730mV", 730), NamedValue("735mV", 735), NamedValue("740mV", 740), NamedValue("730mV", 730), NamedValue("735mV", 735), NamedValue("740mV", 740),
@@ -1648,32 +1716,32 @@ protected:
warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 130); warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 130);
this->listElement->addItem(warningText); this->listElement->addItem(warningText);
addConfigButton(KipConfigValue_g_volt_76800, "76.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_76800, "76.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_153600, "153.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_153600, "153.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_230400, "230.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_230400, "230.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_307200, "307.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_307200, "307.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_384000, "384.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_384000, "384.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_460800, "460.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_460800, "460.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_537600, "537.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_537600, "537.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_614400, "614.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_614400, "614.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_691200, "691.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_691200, "691.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_768000, "768.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_768000, "768.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_844800, "844.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_844800, "844.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_921600, "921.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_921600, "921.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_998400, "998.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_998400, "998.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_1075200, "1075.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_1075200, "1075.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
if(this->configList->values[KipConfigValue_marikoGpuUV] >= GPUUVLevel_SLT) if(this->configList->values[KipConfigValue_marikoGpuUV] >= GPUUVLevel_SLT)
addConfigButton(KipConfigValue_g_volt_1152000, "1152.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_1152000, "1152.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
if(this->configList->values[KipConfigValue_marikoGpuUV] >= GPUUVLevel_HiOPT) { if(this->configList->values[KipConfigValue_marikoGpuUV] >= GPUUVLevel_HiOPT) {
addConfigButton(KipConfigValue_g_volt_1228800, "1228.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_1228800, "1228.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_1267200, "1267.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_1267200, "1267.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_1305600, "1305.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false); addConfigButton(KipConfigValue_g_volt_1305600, "1305.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_1344000, "1344.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1344000, "1344.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_1382400, "1382.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1382400, "1382.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_1420800, "1420.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1420800, "1420.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_1459200, "1459.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1459200, "1459.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_1497600, "1497.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1497600, "1497.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_1536000, "1536.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_1536000, "1536.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &MgpuVmaxThresholds, {}, mGpuVolts_noAuto, false, true);
} }
} else { } else {
@@ -1688,35 +1756,35 @@ protected:
warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 130); warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 130);
this->listElement->addItem(warningText); this->listElement->addItem(warningText);
addConfigButton(KipConfigValue_g_volt_e_76800, "76.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_76800, "76.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_115200, "115.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_115200, "115.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_153600, "153.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_153600, "153.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_192000, "192.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_192000, "192.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_230400, "230.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_230400, "230.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_268800, "268.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_268800, "268.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_307200, "307.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_307200, "307.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_345600, "345.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_345600, "345.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_384000, "384.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_384000, "384.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_422400, "422.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_422400, "422.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_460800, "460.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_460800, "460.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_499200, "499.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_499200, "499.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_537600, "537.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_537600, "537.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_576000, "576.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_576000, "576.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_614400, "614.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_614400, "614.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_652800, "652.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_652800, "652.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_691200, "691.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_691200, "691.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_729600, "729.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_729600, "729.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_768000, "768.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_768000, "768.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_806400, "806.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_806400, "806.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_844800, "844.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_844800, "844.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_883200, "883.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_883200, "883.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_921600, "921.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_921600, "921.6MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
if(this->configList->values[KipConfigValue_eristaGpuUV] >= GPUUVLevel_SLT) if(this->configList->values[KipConfigValue_eristaGpuUV] >= GPUUVLevel_SLT)
addConfigButton(KipConfigValue_g_volt_e_960000, "960.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_960000, "960.0MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
if(this->configList->values[KipConfigValue_eristaGpuUV] >= GPUUVLevel_HiOPT) { if(this->configList->values[KipConfigValue_eristaGpuUV] >= GPUUVLevel_HiOPT) {
addConfigButton(KipConfigValue_g_volt_e_998400, "998.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false); addConfigButton(KipConfigValue_g_volt_e_998400, "998.4MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts, false, true);
addConfigButton(KipConfigValue_g_volt_e_1036800, "1036.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_e_1036800, "1036.8MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts_noAuto, false, true);
addConfigButton(KipConfigValue_g_volt_e_1075200, "1075.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts_noAuto, false); addConfigButton(KipConfigValue_g_volt_e_1075200, "1075.2MHz", ValueRange(0, 0, 0, "0", 1), "Voltage", &EgpuVmaxThresholds, {}, eGpuVolts_noAuto, false, true);
} }
} }
} }

View File

@@ -42,25 +42,27 @@ protected:
std::set<HocClkConfigValue> configButtonSKeys; std::set<HocClkConfigValue> configButtonSKeys;
std::map<HocClkConfigValue, std::string> configButtonSSubtext; std::map<HocClkConfigValue, std::string> configButtonSSubtext;
void addConfigToggle(HocClkConfigValue configVal, const char* altName); void addConfigToggle(HocClkConfigValue configVal, const char* altName, bool kip = false);
void addConfigButton(HocClkConfigValue configVal, void addConfigButton(HocClkConfigValue configVal,
const char* altName, const char* altName,
const ValueRange& range,
const std::string& categoryName,
const ValueThresholds* thresholds,
const std::map<uint32_t, std::string>& labels = {},
const std::vector<NamedValue>& namedValues = {},
bool showDefaultValue = true);
void addConfigButtonS(HocClkConfigValue configVal,
const char* altName,
const ValueRange& range, const ValueRange& range,
const std::string& categoryName, const std::string& categoryName,
const ValueThresholds* thresholds, const ValueThresholds* thresholds,
const std::map<uint32_t, std::string>& labels = {}, const std::map<uint32_t, std::string>& labels = {},
const std::vector<NamedValue>& namedValues = {}, const std::vector<NamedValue>& namedValues = {},
bool showDefaultValue = true, bool showDefaultValue = true,
const char* subText = nullptr); bool kip = false);
void addConfigButtonS(HocClkConfigValue configVal,
const char* altName,
const ValueRange& range,
const std::string& categoryName,
const ValueThresholds* thresholds,
const std::map<uint32_t, std::string>& labels = {},
const std::vector<NamedValue>& namedValues = {},
bool showDefaultValue = true,
const char* subText = nullptr,
bool kip = false);
void addFreqButton(HocClkConfigValue configVal, void addFreqButton(HocClkConfigValue configVal,
const char* altName, const char* altName,
HocClkModule module, HocClkModule module,