sysmodule/overlay: re-add part load, voltage readings and animated logo

This commit is contained in:
souldbminersmwc
2025-12-03 19:51:00 -05:00
parent c84bb9d7e6
commit 292ad19d2d
15 changed files with 620 additions and 136 deletions

View File

@@ -47,9 +47,19 @@ typedef enum
HorizonOCConsoleType_Lite,
HorizonOCConsoleType_UnreleasedMariko,
HorizonOCConsoleType_OLED,
SysClkSocType_EnumMax
HorizonOCConsoleType_EnumMax,
} HorizonOCConsoleType;
typedef enum {
HocClkVoltage_SOC = 0,
HocClkVoltage_EMCVDD2,
HocClkVoltage_CPU,
HocClkVoltage_GPU,
HocClkVoltage_EMCVDDQ_MarikoOnly,
HocClkVoltage_Display,
HocClkVoltage_EnumMax,
} HocClkVoltage;
typedef enum
{
SysClkProfile_Handheld = 0,
@@ -85,10 +95,13 @@ typedef enum
typedef enum
{
SysClkRamLoad_All = 0,
SysClkRamLoad_Cpu,
SysClkRamLoad_EnumMax
} SysClkRamLoad;
SysClkPartLoad_EMC = 0,
SysClkPartLoad_EMCCpu,
HocClkPartLoad_GPU,
HocClkPartLoad_CPUAvg,
SysClkPartLoad_EnumMax
} SysClkPartLoad;
typedef enum
{
@@ -162,3 +175,25 @@ static inline const char* sysclkFormatProfile(SysClkProfile profile, bool pretty
return NULL;
}
}
static inline const char* hocClkFormatVoltage(HocClkVoltage voltage, bool pretty)
{
switch(voltage)
{
case HocClkVoltage_CPU:
return pretty ? "CPU" : "cpu";
case HocClkVoltage_GPU:
return pretty ? "GPU" : "gpu";
case HocClkVoltage_EMCVDD2:
return pretty ? "VDD2" : "emcvdd2";
case HocClkVoltage_EMCVDDQ_MarikoOnly:
return pretty ? "VDDQ" : "vddq";
case HocClkVoltage_SOC:
return pretty ? "SOC" : "soc";
case HocClkVoltage_Display:
return pretty ? "SOC" : "soc";
default:
return NULL;
}
}

View File

@@ -40,7 +40,8 @@ typedef struct
uint32_t overrideFreqs[SysClkModule_EnumMax];
uint32_t temps[SysClkThermalSensor_EnumMax];
int32_t power[SysClkPowerSensor_EnumMax];
uint32_t ramLoad[SysClkRamLoad_EnumMax];
uint32_t PartLoad[SysClkPartLoad_EnumMax];
uint32_t voltages[HocClkVoltage_EnumMax];
uint32_t perfConfId;
} SysClkContext;

View File

@@ -120,9 +120,6 @@ static inline const char* sysclkFormatConfigValue(SysClkConfigValue val, bool pr
case HocClkConfigValue_LiteTDPLimit:
return pretty ? "Lite TDP Limit" : "tdp_limit_l";
case HocClkConfigValue_TDPCycleLimit:
return pretty ? "TDP Cycle Limit" : "tdp_limit_c";
default:
return pretty ? "Null" : "null";
}
@@ -166,8 +163,6 @@ static inline uint64_t sysclkDefaultConfigValue(SysClkConfigValue val)
return 8600ULL;
case HocClkConfigValue_LiteTDPLimit:
return 6400ULL;
case HocClkConfigValue_TDPCycleLimit:
return 10ULL;
default:
return 0ULL;
}
@@ -192,8 +187,6 @@ static inline uint64_t sysclkValidConfigValue(SysClkConfigValue val, uint64_t in
case SysClkConfigValue_FreqLogIntervalMs:
case SysClkConfigValue_PowerLogIntervalMs:
case SysClkConfigValue_CsvWriteIntervalMs:
case HocClkConfigValue_TDPCycleLimit:
return input >= 0;
case HocClkConfigValue_UncappedClocks:
case HocClkConfigValue_OverwriteBoostMode:
case HocClkConfigValue_ThermalThrottle: