raiguard / ModernGadgets

Sleek, minimalist, information-dense gadgets for the modern desktop. Inspired by the AddGadgets.com system monitoring gadgets. Built on the Rainmeter platform.
MIT License
301 stars 32 forks source link

New dynamic fan speed toggle display issue. #107

Closed Flipsh0t closed 6 years ago

Flipsh0t commented 6 years ago

The bar seems to be stuck at 100%, although % and speed change.

Flipsh0t commented 6 years ago

I did seem to fix this by manually adding MinValue=0 MaxValue=100 to the [MeasureCpuFanPercentCalc] in the CPU.ini. I'm not sure this is a "proper" fix but it seems to work as intended now.

CPU.ini change

from

[MeasureCpuFanPercentCalc] Measure=Calc Formula=(MeasureCpuFanSpeed / #cpuFanSpeedMax#) * 100 IfCondition=(MeasureCpuFanSpeed > #cpuFanSpeedMax#) IfTrueAction=[!SetVariable cpuFanSpeedMax [MeasureCpuFanSpeed:]][!WriteKeyValue Variables cpuFanSpeedMax [MeasureCpuFanSpeed:]][!UpdateMeasure MeasureCpuFanPercentCalc][!UpdateMeterGroup AltCpuFanPercent][!Redraw] Group=CpuFan | ProgramSwitching | HWiNFO Disabled=(#showCpuFan# < 2) || (#extProgram# <> 1) DynamicVariables=1

to

[MeasureCpuFanPercentCalc] Measure=Calc Formula=(MeasureCpuFanSpeed / #cpuFanSpeedMax#) * 100 IfCondition=(MeasureCpuFanSpeed > #cpuFanSpeedMax#) IfTrueAction=[!SetVariable cpuFanSpeedMax [MeasureCpuFanSpeed:]][!WriteKeyValue Variables cpuFanSpeedMax [MeasureCpuFanSpeed:]][!UpdateMeasure MeasureCpuFanPercentCalc][!UpdateMeterGroup AltCpuFanPercent][!Redraw] Group=CpuFan | ProgramSwitching | HWiNFO Disabled=(#showCpuFan# < 2) || (#extProgram# <> 1) MinValue=0 MaxValue=100 DynamicVariables=1

raiguard commented 6 years ago

See, this is the kind of stuff that beta testing is supposed to catch... My CPU Fan doesn't change speeds so I had no way of testing the mode. I'll add this to the list of fixes for v1.4.1. Thanks!

Flipsh0t commented 6 years ago

Glad I could help in a small way.

raiguard commented 6 years ago

Can you try v1.4.1-rc.1 (you'll need to enable development updates in the global settings skin) and tell me if it's fixed now?

Flipsh0t commented 6 years ago

Just installed and it is fixed.

I do however have one suggestion. As currently implemented the percentage and bar will not show the correct numbers/position until your cpu fan hits 100% speed. On initial install of the skin you could possibly ask the user to set the fans listed fanspeed as an preliminary default?

I would let the skin auto update the max speed from hwinfo as it currently does after that initial input so it gets the actual working max fanspeed if/when it hits it if higher than manually set.

This might cause issues too though, I really like the dynamic bar personally.

Flipsh0t commented 6 years ago

Update: I haven't changed anything ( I did reboot) and the bar is back to being stuck... I re-added my fix manually again and it's back to working.

raiguard commented 6 years ago

What the... the fix deleted itself? Also, you're right, I completely forgot to add a way to define the maximum temp and fan speed. I'll release another version with that setting tomorrow morning.

Flipsh0t commented 6 years ago

It did revert somehow, I haven't been able to replicate the issue yet. I'm not going to rule out pbcak yet.

Flipsh0t commented 6 years ago

Ok so I reinstalled 1.4.1-rc1 imported my backup just as last time, after I ran my cpu fan to full speed everything was as it should be... After reboot it did revert again.

Is it at all possible that the "[MeasureCpuFanPercentCalc] IfTrueAction" is overwriting without the newly added min/max value info on reboot since hwinfo resets it's statistics?

raiguard commented 6 years ago

So, it turns out that Git did a dun-goof and reverted the changes I made before I actually managed to release v1.4.1-rc.1. So that version didn't include the fix at all. Oops! I re-added the fix and will release another version.

I also went ahead and added configuration for the maximum CPU temperature and fan speed. They default to auto detect (which in the fan's case, requires it to run at 100% before it'll measure accurately), but can be overridden with the press of a button.

2018-10-12 14_33_57-d__settings_caleb_rainmeter_skins_moderngadgets_config_cpu_config ini

I'll release the new version once I test it a bit more. Thanks!

raiguard commented 6 years ago

Can you test the new version and see if it's fixed?

Flipsh0t commented 6 years ago

In manual select mode it works perfectly.. however it seems to be pulling the fan RPM in auto mode and not converting to % anymore. annotation

raiguard commented 6 years ago

O.o what the heck? Why is it doing THAT?

Right-click CPU meter, click Edit Skin, then change "autoMaxCpuFan" to 1. Save the file, middle-click the skin, and see what that does.

Flipsh0t commented 6 years ago

autoMaxCpuFan= is stuck at 1, i believe this is part of the issue also cpuFanSpeedMax no longer retains the highest number

raiguard commented 6 years ago

Open the Rainmeter log and tell me if any errors are showing up.

Edit: if you're seeing cpuFanSpeedMax that means that you managed to download the faulty build that I accidentally released originally. Redownload the update and see if this still happens.

Edit 2: context - autoMaxCpuFan replaced cpuFanSpeedMax, the latter shouldn't exist anymore.

Flipsh0t commented 6 years ago

no errors

Flipsh0t commented 6 years ago

I do notice that there is a [!UpdateMeterGroup AltCpuFanPercent] with no group matching that anymore.. at least not where it was previously.

Flipsh0t commented 6 years ago

annotation

raiguard commented 6 years ago

[MeasureCpuFanPercentCalc]
Measure=Calc
Formula=(MeasureCpuFanSpeed / [#[#maxCpuFanMode]MaxCpuFan]) * 100
IfCondition=(MeasureCpuFanSpeed > #autoMaxCpuFan#)
IfTrueAction=[!SetVariable cpuFanSpeedMax [MeasureCpuFanSpeed:]][!WriteKeyValue Variables cpuFanSpeedMax [MeasureCpuFanSpeed:]][!UpdateMeasure MeasureCpuFanPercentCalc][!UpdateMeterGroup AltCpuFanPercent][!Redraw]
MinValue=0
MaxValue=100
DynamicVariables=1
Group=CpuFan | ProgramSwitching | HWiNFO
Disabled=(#showCpuFan# < 2) || (#extProgram# <> 1)

[MeasureCpuFanPercentCalcSpeedFan]
Measure=Calc
Formula=(MeasureCpuFanSpeedSpeedFan / [#[#maxCpuFanMode]MaxCpuFan]) * 100
IfCondition=(MeasureCpuFanSpeedSpeedFan > #autoMaxCpuFan#)
IfTrueAction=[!SetVariable cpuFanSpeedMax [MeasureCpuFanSpeedSpeedFan:]][!WriteKeyValue Variables cpuFanSpeedMax [MeasureCpuFanSpeedSpeedFan:]][!UpdateMeasure MeasureCpuFanPercentCalcSpeedFan][!UpdateMeterGroup AltCpuFanPercent][!Redraw]
MinValue=0
MaxValue=100
DynamicVariables=1
Group=CpuFan | ProgramSwitching | SpeedFan | CoreTempSpeedFan
Disabled=(#showCpuFan# < 2) || ((#extProgram# <> 4) && (#extProgram# <> 6))

I found the problem... I can be a big idiot sometimes. I'll release a new build in a few hours, once I get home. SMH...

If you change the cpuFanSpeedMax instances with autoMaxCpuFan, it SHOULD work.

Flipsh0t commented 6 years ago

lol.. it's all good my friend, I'm really just a novice when it comes to rainmeter. I'm good for some small tweaks here and there but your stuff is kinda over my head.

Flipsh0t commented 6 years ago

Changing those instances did indeed fix the issue.

raiguard commented 6 years ago

SHOULD HOPEFULLY BE FIXED NOW. FORGIVE MY SHOUTING BUT I AM SLAMMING MY HEAD INTO MY DESK ABOUT THIS. DOES IT WORK NOW!?

Flipsh0t commented 6 years ago

LOL.. fixed, nice job "team dynamic fan display bug"!! thx for your help :)

raiguard commented 6 years ago

PHEW. Thanks for the report! Glad we could get that sorted out. :D

By the way, does it persist if you reboot like you did before?

Flipsh0t commented 6 years ago

Yessir.. I think you can strike this off the queue now.

raiguard commented 6 years ago

Thanks again!