diff --git a/Source/Horizon-OC-Monitor/source/Utils.hpp b/Source/Horizon-OC-Monitor/source/Utils.hpp index 220c6430..70cb10f6 100644 --- a/Source/Horizon-OC-Monitor/source/Utils.hpp +++ b/Source/Horizon-OC-Monitor/source/Utils.hpp @@ -225,7 +225,8 @@ uint32_t realRAM_Hz = 0; uint32_t partLoad[HocClkPartLoad_EnumMax]; uint32_t realCPU_mV = 0; uint32_t realGPU_mV = 0; -uint32_t realRAM_mV = 0; +uint32_t realVDD2_mV = 0; +uint32_t realVDDQ_mV = 0; uint32_t realSOC_mV = 0; uint8_t refreshRate = 0; @@ -591,12 +592,9 @@ void Misc(void*) { realCPU_mV = hocclkCTX.voltages[HocClkVoltage_CPU]; realGPU_mV = hocclkCTX.voltages[HocClkVoltage_GPU]; - realRAM_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2]; realSOC_mV = hocclkCTX.voltages[HocClkVoltage_SOC]; - const u32 vdd2_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2] / 1000; // µV to mV - const u32 vddq_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDDQ] / 1000; // µV to mV - realRAM_mV = vdd2_mV * 100000 + vddq_mV * 10; - + realVDD2_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2]; + realVDDQ_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDDQ]; } } @@ -726,11 +724,9 @@ void Misc3(void*) { realCPU_mV = hocclkCTX.voltages[HocClkVoltage_CPU]; realGPU_mV = hocclkCTX.voltages[HocClkVoltage_GPU]; - realRAM_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2]; realSOC_mV = hocclkCTX.voltages[HocClkVoltage_SOC]; - const u32 vdd2_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2] / 1000; // µV to mV - const u32 vddq_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDDQ] / 1000; // µV to mV - realRAM_mV = vdd2_mV * 100000 + vddq_mV * 10; + realVDD2_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDD2]; + realVDDQ_mV = hocclkCTX.voltages[HocClkVoltage_EMCVDDQ]; } } diff --git a/Source/Horizon-OC-Monitor/source/modes/Micro.hpp b/Source/Horizon-OC-Monitor/source/modes/Micro.hpp index 6951703c..9130d993 100644 --- a/Source/Horizon-OC-Monitor/source/modes/Micro.hpp +++ b/Source/Horizon-OC-Monitor/source/modes/Micro.hpp @@ -1003,8 +1003,8 @@ public: /* realRAM_mV packs VDD2 | VDDQ in 10-µV units * * → split, convert to mV */ - const float mv_vdd2 = (realRAM_mV % 100000) / 10.0f; // VDD2 - const uint32_t mv_vddq = (realRAM_mV / 10000) / 10; // VDDQ + const float mv_vdd2 = realVDD2_mV / 1000.0f; // VDD2 + const uint32_t mv_vddq = realVDDQ_mV / 1000; // VDDQ // Build voltage string based on settings RAM_volt_c[0] = '\0'; // Start with empty string diff --git a/Source/Horizon-OC-Monitor/source/modes/Mini.hpp b/Source/Horizon-OC-Monitor/source/modes/Mini.hpp index 1064522e..d45f0e4c 100644 --- a/Source/Horizon-OC-Monitor/source/modes/Mini.hpp +++ b/Source/Horizon-OC-Monitor/source/modes/Mini.hpp @@ -1190,9 +1190,9 @@ public: } if (settings.realVolts) { - const float mv_vdd2_f = (realRAM_mV % 100000) / 10.0f; // VDD2 - const uint32_t mv_vddq = (realRAM_mV / 10000) / 10; // VDDQ - const uint32_t mv_vdd2_i = (realRAM_mV % 100000) / 10; + const float mv_vdd2_f = realVDD2_mV / 1000.0f; // VDD2 + const uint32_t mv_vddq = realVDDQ_mV / 1000; // VDDQ + const uint32_t mv_vdd2_i = realVDD2_mV / 1000; if (isMariko) { if (settings.showVDDQ && settings.showVDD2) {