- Fixed gpu_hz_list typo in governor (#46)
- Parse loader.kip config from { "/", "/atmosphere/", "/atmosphere/kips/", "/bootloader/" } (#44)
This commit is contained in:
@@ -13,13 +13,13 @@
|
||||
#include "../elements/base_frame.h"
|
||||
// #include "logo_rgba_bin.h"
|
||||
|
||||
#define LOGO_LABEL_X 20
|
||||
#define LOGO_LABEL_X 40
|
||||
#define LOGO_LABEL_Y 35
|
||||
#define LOGO_LABEL_FONT_SIZE 20
|
||||
|
||||
#define VERSION_X 246
|
||||
#define VERSION_X 266
|
||||
#define VERSION_Y LOGO_LABEL_Y
|
||||
#define VERSION_FONT_SIZE 15
|
||||
#define VERSION_FONT_SIZE SMALL_TEXT_SIZE
|
||||
|
||||
void BaseGui::preDraw(tsl::gfx::Renderer* renderer)
|
||||
{
|
||||
|
||||
@@ -34,46 +34,46 @@ void BaseMenuGui::preDraw(tsl::gfx::Renderer* renderer)
|
||||
{
|
||||
char buf[32];
|
||||
|
||||
renderer->drawString("App ID: ", false, 20, 60, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("App ID: ", false, 40, 60, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
snprintf(buf, sizeof(buf), "%016lX", context->applicationId);
|
||||
renderer->drawString(buf, false, 81, 60, SMALL_TEXT_SIZE, VALUE_COLOR);
|
||||
renderer->drawString(buf, false, 100, 60, SMALL_TEXT_SIZE, VALUE_COLOR);
|
||||
|
||||
renderer->drawString("Profile: ", false, 246, 60, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString(sysclkFormatProfile(context->profile, true), false, 302, 60, SMALL_TEXT_SIZE, VALUE_COLOR);
|
||||
renderer->drawString("Profile: ", false, 266, 60, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString(sysclkFormatProfile(context->profile, true), false, 322, 60, SMALL_TEXT_SIZE, VALUE_COLOR);
|
||||
|
||||
static struct
|
||||
{
|
||||
SysClkModule m;
|
||||
std::uint32_t x;
|
||||
} freqOffsets[SysClkModule_EnumMax] = {
|
||||
{ SysClkModule_CPU, 61 },
|
||||
{ SysClkModule_GPU, 204 },
|
||||
{ SysClkModule_MEM, 342 },
|
||||
{ SysClkModule_CPU, 80 },
|
||||
{ SysClkModule_GPU, 200 },
|
||||
{ SysClkModule_MEM, 320 },
|
||||
};
|
||||
|
||||
for(unsigned int i = 0; i < SysClkModule_EnumMax; i++)
|
||||
{
|
||||
std::uint32_t hz = this->context->freqs[freqOffsets[i].m];
|
||||
snprintf(buf, sizeof(buf), "%u.%u MHz", hz / 1000000, hz / 100000 - hz / 1000000 * 10);
|
||||
snprintf(buf, sizeof(buf), "%u MHz", hz / 1000000);
|
||||
renderer->drawString(buf, false, freqOffsets[i].x, 85, SMALL_TEXT_SIZE, VALUE_COLOR);
|
||||
}
|
||||
renderer->drawString("CPU:", false, 20, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("GPU:", false, 162, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("MEM:", false, 295, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("CPU:", false, 40, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("GPU:", false, 160, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("MEM:", false, 270, 85, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
|
||||
static struct
|
||||
{
|
||||
SysClkThermalSensor s;
|
||||
std::uint32_t x;
|
||||
} tempOffsets[SysClkModule_EnumMax] = {
|
||||
{ SysClkThermalSensor_SOC, 60 },
|
||||
{ SysClkThermalSensor_PCB, 165 },
|
||||
{ SysClkThermalSensor_Skin, 268 },
|
||||
{ SysClkThermalSensor_SOC, 80 },
|
||||
{ SysClkThermalSensor_PCB, 200 },
|
||||
{ SysClkThermalSensor_Skin, 320 },
|
||||
};
|
||||
|
||||
renderer->drawString("SOC:", false, 20, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("PCB:", false, 125, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("Skin:", false, 230, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("SOC:", false, 40, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("PCB:", false, 160, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
renderer->drawString("Skin:", false, 270, 110, SMALL_TEXT_SIZE, DESC_COLOR);
|
||||
for(unsigned int i = 0; i < SysClkModule_EnumMax; i++)
|
||||
{
|
||||
std::uint32_t millis = this->context->temps[tempOffsets[i].s];
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
FreqChoiceGui::FreqChoiceGui(std::uint32_t selectedMHz, SysClkModule module, SysClkProfile profile, FreqChoiceListener listener)
|
||||
{
|
||||
this->hzTable = new uint32_t[MAX_ENTRIES];
|
||||
Result rc = sysclkIpcGetFrequencyTable(module, profile, MAX_ENTRIES, hzTable);
|
||||
this->hzTable = new SysClkFrequencyTable;
|
||||
Result rc = sysclkIpcGetFrequencyTable(module, profile, hzTable);
|
||||
if (R_FAILED(rc)) {
|
||||
FatalGui::openWithResultCode("sysclkIpcGetFrequencyTable", rc);
|
||||
}
|
||||
@@ -26,7 +26,7 @@ FreqChoiceGui::FreqChoiceGui(std::uint32_t selectedMHz, SysClkModule module, Sys
|
||||
}
|
||||
|
||||
FreqChoiceGui::~FreqChoiceGui() {
|
||||
delete[] this->hzTable;
|
||||
delete this->hzTable;
|
||||
}
|
||||
|
||||
tsl::elm::ListItem* FreqChoiceGui::createFreqListItem(std::uint32_t mhz, bool selected)
|
||||
@@ -54,11 +54,12 @@ void FreqChoiceGui::listUI()
|
||||
{
|
||||
this->listElement->addItem(this->createFreqListItem(0, this->selectedMHz == 0));
|
||||
|
||||
uint32_t* p = this->hzTable;
|
||||
while(*p)
|
||||
size_t idx = 0;
|
||||
uint32_t freq;
|
||||
while(idx < 20 && (freq = this->hzTable->values[idx]))
|
||||
{
|
||||
uint32_t mhz = *p / 1000'000;
|
||||
uint32_t mhz = freq / 1000'000;
|
||||
this->listElement->addItem(this->createFreqListItem(mhz, mhz == this->selectedMHz));
|
||||
p++;
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ class FreqChoiceGui : public BaseMenuGui
|
||||
protected:
|
||||
std::uint32_t selectedMHz;
|
||||
static constexpr size_t MAX_ENTRIES = 20;
|
||||
std::uint32_t* hzTable;
|
||||
SysClkFrequencyTable* hzTable;
|
||||
FreqChoiceListener listener;
|
||||
tsl::elm::ListItem* createFreqListItem(std::uint32_t mhz, bool selected);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user