webMAN-MOD
webMAN-MOD copied to clipboard
[Suggestion] Manual Fan Control
Aldo, maybe a checkbox for the highest fan speed is needed, just like the lowest one, because if we use a web command or try to manually set a value higher than the declared in that field won't allow us to set it. I think manual mode could bypass it (and just work if the hightest check box is marked) or only make the automatic modes use those values (lowest and hightest).
The % range for fan speed is used by dynamic mode (auto).
Manual mode let you set the desired fan speed manually. This is intentional.
The % range for fan speed is used by dynamic mode (auto).
Manual mode let you set the desired fan speed manually. This is intentional.
I can't set any Higher value for manual mode than the one set in the hightest field, even if the check box is not checked.
Let's say i set it to 91, after saving it will back to 90 as my highest speed is set to 90
I can't set any Higher value for manual mode than the one set in the hightest field, even if the check box is not checked. Let's say i set it to 91, after saving it will back to 90 as my highest speed is set to 90
It does seem that the code is indeed inconsistent in the enforcement of maximum manual fan speed. You can find multiple instances in setup.h, where it's using webman_config->maxfan (max value set in the setup page) as the limit, while in combos.h (holding SELECT + UP/DOWN?) the limit is hardcoded as 95%.
setup.h:
webman_config->man_rate = get_valuen(param, "manu=", MIN_FANSPEED, webman_config->maxfan); // %
webman_config->man_rate = RANGE(webman_config->man_rate, MIN_FANSPEED, webman_config->maxfan); // %
combos.h:
webman_config->man_rate = RANGE(webman_config->man_rate, 20, 95); //%
My guess is that it's just an oversight as for example the macro MIN_FANSPEED is declared as 20% in fancontrol.h, but there's no MAX_FANSPEED (presumably 95%). That means there's no single single point to reference to, resulting in this incosistency.
Declaring the new macro and fixing all references (not all of them listed here) does seem to fix the issue.
Thank you for reporting this inconsitency.
Actually it was intentional to allow the user to increase the fan speed manually to any desired value without restrictions when the combo is used. However, as you comment, it becomes an inconsistent design. I will change the 95% to webman_config->maxfan for the next update
combos.h
webman_config->man_rate = RANGE(webman_config->man_rate, MIN_FANSPEED, webman_config->maxfan); //%
Thanks again.
So it means that the % range used by dynamic mode is also supposed to limit the upper value of manual mode? Would it be possible to reflect this in the max attribute of HTML input field, so the web browser wouldn't let you set it past the currently saved upper value of dynamic mode?
I think it's a bit confusing for normal users, leading to confusion as to why is the value silently changed to lower value (equivalent to webman_config->maxfan).
Even I had been confused why is webMAN MOD automatically switching to PS2 Manual fan mode when being unloaded, only to find out that it's possible to lower "PS2 Emulator fan speed" value below the minimum of dynamic mod range and then it will switch to SYSCON mode instead. (the default before loading webMAN MOD)
I'm sorry if this is documented somewhere and I'm just blind, but it's just unexpected behavior to me. 😅