sysclk: fix temporary override governor bug
This commit is contained in:
@@ -117,6 +117,10 @@ void GlobalOverrideGui::addModuleToggleItem(SysClkModule module)
|
|||||||
{
|
{
|
||||||
FatalGui::openWithResultCode("sysclkIpcSetProfiles", rc);
|
FatalGui::openWithResultCode("sysclkIpcSetProfiles", rc);
|
||||||
}
|
}
|
||||||
|
this->lastContextUpdate = armGetSystemTick();
|
||||||
|
this->context->overrideFreqs[module] = 0;
|
||||||
|
this->listHz[module] = 0;
|
||||||
|
|
||||||
});
|
});
|
||||||
// Add to list and track
|
// Add to list and track
|
||||||
this->listElement->addItem(toggle);
|
this->listElement->addItem(toggle);
|
||||||
@@ -135,17 +139,35 @@ void GlobalOverrideGui::listUI()
|
|||||||
void GlobalOverrideGui::refresh()
|
void GlobalOverrideGui::refresh()
|
||||||
{
|
{
|
||||||
BaseMenuGui::refresh();
|
BaseMenuGui::refresh();
|
||||||
if(this->context)
|
|
||||||
|
if (!this->context)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (std::uint16_t m = 0; m < SysClkModule_EnumMax; m++)
|
||||||
{
|
{
|
||||||
for(std::uint16_t m = 0; m < SysClkModule_EnumMax; m++)
|
if (m == HorizonOCModule_Governor)
|
||||||
{
|
{
|
||||||
if(m > SysClkModule_MEM)
|
auto* toggle = static_cast<tsl::elm::ToggleListItem*>(this->listItems[m]);
|
||||||
|
if (!toggle)
|
||||||
continue;
|
continue;
|
||||||
if(this->listItems[m] != nullptr && this->listHz[m] != this->context->overrideFreqs[m])
|
|
||||||
|
bool newState = this->context->overrideFreqs[m] != 0;
|
||||||
|
|
||||||
|
if (toggle->getState() != newState)
|
||||||
{
|
{
|
||||||
this->listItems[m]->setValue(formatListFreqHz(this->context->overrideFreqs[m]));
|
toggle->setState(newState);
|
||||||
this->listHz[m] = this->context->overrideFreqs[m];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this->listItems[m] != nullptr &&
|
||||||
|
this->listHz[m] != this->context->overrideFreqs[m])
|
||||||
|
{
|
||||||
|
this->listItems[m]->setValue(
|
||||||
|
formatListFreqHz(this->context->overrideFreqs[m])
|
||||||
|
);
|
||||||
|
this->listHz[m] = this->context->overrideFreqs[m];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,7 @@ class GlobalOverrideGui : public BaseMenuGui
|
|||||||
protected:
|
protected:
|
||||||
tsl::elm::ListItem* listItems[SysClkModule_EnumMax];
|
tsl::elm::ListItem* listItems[SysClkModule_EnumMax];
|
||||||
std::uint32_t listHz[SysClkModule_EnumMax];
|
std::uint32_t listHz[SysClkModule_EnumMax];
|
||||||
|
bool isGovernorEnabled;
|
||||||
void openFreqChoiceGui(SysClkModule module);
|
void openFreqChoiceGui(SysClkModule module);
|
||||||
void addModuleListItem(SysClkModule module);
|
void addModuleListItem(SysClkModule module);
|
||||||
void addModuleToggleItem(SysClkModule module);
|
void addModuleToggleItem(SysClkModule module);
|
||||||
|
|||||||
Reference in New Issue
Block a user