-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Setting fan speed by LCD requires several clicks of the knob to move the setting by 1% #14975
Comments
Formerly the fan value was in 0-127 or 0-255 - i don't really remember. |
Change from 0-255 to 0% -100% was in March I do not suppose that it is because of this change, my guess would be to manipulate the ENCODER settings of the last days |
I'd look exactly here. - MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(uint8, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0);
+ MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(percent, MSG_FAN_SPEED FAN_SPEED_1_SUFFIX, &thermalManager.lcd_tmpfan_speed[0], 0, 255, thermalManager.lcd_setFanSpeed0); It's exactly what i deducted from the described behavior. |
This was me. For an end-user which isn't a programmer, a percentage makes a lot more sense than 255. I understand that now one encoder click does not increment the number by one, which is true; however I would still consider the new behavior to be an improvement over the old. If there is disagreement on the merits of the trade-off, perhaps this could be made into a configurable option. As for actually fixing it so it is both a percentage and the encoder wheel increments by one, I suspect this would be a very difficult thing to pull off. Either:
Option one will probably require changes many places in Marlin, and will cause problems with M106. Option two would require the ultralcd menu code to be modified for this specific case. Personally, I think both of these options add complexity to the code that probably ought not to be there. The current behavior is an acceptable tradeoff, in my opinion. |
- Now one click corresponds to an increase of 1%
Okay. I'll eat my words. Turns out the fix was trivial once I looked at the code more closely. There already is a facility for scaling based on particular data types. |
Awesome! Thanks all for getting it fixed :) |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Running SKR E3 on CR-10 mini stock LCD. Encoder (knob) works fine in all menu items, one click moves one menu item, and for example when setting temperature one click changes the value by 1°C as expected. However when setting fan speed under Temperature -> Fan, it takes four encoder clicks to change speed by 1%.
Steps to Reproduce
Expected behavior:
Rotating the knob one "click" increases fan speed by 1%
Actual behavior:
The knob must be turned several to increment fan speed by 1%. Sometimes it takes 2 clicks, sometimes 3, sometimes up to 4 clicks.
Additional Information
The other menu items (like nozzle temperature and bed temperature) are working as expected (one knob click per value) so this doesn't seem to be a global setting, whatever it is just affects the fan setting (and possibly other things I haven't stumbled upon yet)
Configuration.zip
.
Configuration.h
andConfiguration_adv.h
files.The text was updated successfully, but these errors were encountered: