I know there is the speed adjustment on the main screen. Is there a way to change this to adjust the flow rate? I don't find myself needing to adjust the speed much during a print but I do frequently adjust the flow rate.
Printable View
I know there is the speed adjustment on the main screen. Is there a way to change this to adjust the flow rate? I don't find myself needing to adjust the speed much during a print but I do frequently adjust the flow rate.
Tune > Flow
Right, but is there a way to move this to the main screen? I don't find the speed a needed feature for me. I do however use the Tune>Flow quite a bit when tuning. It would be nice to have access to this on the main screen.
!!! untested hack !!!
open 'ultralcd.cpp'
search for 'ULTIPANEL_FEEDMULTIPLY'
in this block replace all occurrences of 'feedrate_multiplier' with 'extruder_multiplier[active_extruder]'.
open 'ultralcd_implementation_hitachi_HD44780.h' for a char based or 'dogm_lcd_implementation.h' for a graphical display.
search for 'feedrate_multiplier' and replace with 'extruder_multiplier[active_extruder]'. (there should be only one)
You will still have the'FR' symbol on the screen. I have no real idea what happens if you have more then one extruder.
I do have the Large graphical display. When I go to the ultralcd.cpp and look for the "feedrate_multiplier" to replace, it isn't there. There are a lot of "feedmultiply" called out.
Here is the code in my Marlin...
Change it to this?Code:#ifdef ULTIPANEL_FEEDMULTIPLY // Dead zone at 100% feedrate
if ((feedmultiply < 100 && (feedmultiply + int(encoderPosition)) > 100) ||
(feedmultiply > 100 && (feedmultiply + int(encoderPosition)) < 100))
{
encoderPosition = 0;
feedmultiply = 100;
}
if (feedmultiply == 100 && int(encoderPosition) > ENCODER_FEEDRATE_DEADZONE)
{
feedmultiply += int(encoderPosition) - ENCODER_FEEDRATE_DEADZONE;
encoderPosition = 0;
}
else if (feedmultiply == 100 && int(encoderPosition) < -ENCODER_FEEDRATE_DEADZONE)
{
feedmultiply += int(encoderPosition) + ENCODER_FEEDRATE_DEADZONE;
encoderPosition = 0;
}
else if (feedmultiply != 100)
{
feedmultiply += int(encoderPosition);
encoderPosition = 0;
}
#endif//ULTIPANEL_FEEDMULTIPLY
Code:#ifdef ULTIPANEL_FEEDMULTIPLY
// Dead zone at 100% feedrate
if ((extrudemultiply < 100 && (extrudemultiply + int(encoderPosition)) > 100) ||
(extrudemultiply > 100 && (extrudemultiply + int(encoderPosition)) < 100))
{
encoderPosition = 0;
extrudemultiply = 100;
}
if (extrudemultiply == 100 && int(encoderPosition) > ENCODER_FEEDRATE_DEADZONE)
{
extrudemultiply += int(encoderPosition) - ENCODER_FEEDRATE_DEADZONE;
encoderPosition = 0;
}
else if (extrudemultiply == 100 && int(encoderPosition) < -ENCODER_FEEDRATE_DEADZONE)
{
extrudemultiply += int(encoderPosition) + ENCODER_FEEDRATE_DEADZONE;
encoderPosition = 0;
}
else if (extrudemultiply != 100)
{
extrudemultiply += int(encoderPosition);
encoderPosition = 0;
}
#endif//ULTIPANEL_FEEDMULTIPLY
Looks good.
If you have 4 further occurrences of 'feedmultiply' directly below that section replace also those to make the limiting work.
Good luck (Glück auf)
Thank you. Did I do the replacements correctly in the above code?
Do I also change the #ifdef ULTIPANEL_FEEDMULTIPLY line?