-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
🚧 WIP: Add HEATER_LOWER_TEMP 50 #4815
base: MK3
Are you sure you want to change the base?
Conversation
to lower instead of turining off the hotend temperature during a pause. Thanks for the request prusa3d#4716 by @alexiri
All values in bytes. Δ Delta to base
|
@@ -184,6 +184,9 @@ | |||
#endif | |||
#define BED_MAXTEMP 125 | |||
|
|||
//Lowertemp | |||
#define HEATER_LOWER_TEMP 50 //lower hotend temperature by 50°C |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this new setting should be off by default so that we do not change the default behavior. Users who know what they are doing can then change this setting on their own in my opinion.
I feel this description could be more detailed. This doesn't really tell me what the setting does, and I would have look at the source code to understand. They way I see it, the comment/description here is basically our documentation.
Suggested description:
Uncomment to change the maximum allowed temperature drop while a print is paused. The default behavior sets the target temperature to 0°C.
Example: HEATER_LOWER_TEMP = 10 and target temperature is 215°C when the print was paused. The target temperature will then be set to 205°C instead of 0°C.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also agree with off by default. Was a bit confused about the feature until I read the source code for the PR (recall discussion from last meeting). I like the description provided by @gudnimg 👍
@@ -9877,7 +9877,11 @@ void long_pause() //long pause print | |||
|
|||
// Stop heaters | |||
heating_status = HeatingStatus::NO_HEATING; | |||
#ifdef HEATER_LOWER_TEMP | |||
setTargetHotend(target_temperature[active_extruder]- HEATER_LOWER_TEMP); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need some protection here to cover edges cases. This can produce negative values: HEATER_LOWER_TEMP > target_temperature[active_extruder]
What happens if we are coming from a temperature error? ThermalStop()
can sometimes pause prints.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good point, thanks. Fan check, uvlo and ThermalStop call lcd_pause_print
--> LcdCommands::LongPause
-> long_pause`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might want to subtract only if the target temperature is >= HEATER_LOWER_TEMP. Otherwise you might underflow the target temperature in even more scenarios where the target is a small number
to lower instead of turining off the hotend temperature during a pause. Thanks for the request #4716 by @alexiri