MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.19k stars 19.22k forks source link

LCD_PROGRESS_BAR ignores errors #2532

Closed HidingCherry closed 8 years ago

HidingCherry commented 9 years ago

The function "LCD_PROGRESS_BAR" let the LCD display a progress bar (how obvious). If there is an error (e. g. THERMAL RUNAWAY) the progress bar stays there. The error is not displayed (had only once during print with SD).

PS: Can stepper driver cause the "THERMAL RUNAWAY" error? If yes, we need something to distinguish what exactly is causing that error.

thinkyhead commented 9 years ago

I did the original implementation of LCD_PROGRESS_BAR and it's supposed to show any message that is set right away, then show the progress bar again only after a delay. But perhaps the status screen isn't getting updated enough once the kill() function is called. On my machine I haven't seen this issue, but I use the default settings…

// Amount of time (ms) to show the bar
#define PROGRESS_BAR_BAR_TIME 2000
// Amount of time (ms) to show the status message
#define PROGRESS_BAR_MSG_TIME 3000
// Amount of time (ms) to retain the status message (0=forever)
#define PROGRESS_MSG_EXPIRE   0
// Enable this to show messages for MSG_TIME then hide them
//#define PROGRESS_MSG_ONCE

Can stepper driver cause the "THERMAL RUNAWAY" error?

No, it only applies to the hot-end and heated bed. Thermal runaway will be thrown if a heater takes too long to reach temperature (e.g., if you only power your board over USB without the PSU and issue M104 S80 you will get this error). It will also throw this error if the temperature is seen to climb when the heater is off.

thinkyhead commented 9 years ago

@AnHardt I'm seeing something weird now. I changed WATCH_TEMP_PERIOD to 50 so that THERMAL_PROTECTION_PERIOD will be triggered first. Then I issued M104 S80 with only USB power, so the heaters will stay cold. The hot-end temperature reads 21/80°. After 6 minutes in this state I still had no error. But I did notice that it took me several clicks before the controller exited the Status Screen. Once it finally did switch to the menu screen, clicks resumed working properly. But then after another couple minutes, it took several clicks again.

Clearly we still have some bad logic around thermal protection.

AnHardt commented 9 years ago

@thinkyhead Jep. WATCH_TEMP_PERIOD-test fails when > 32. WATCH_TEMP_PERIOD is later multiplied with 1000. Multiplying with 1000UL solves the problem. PR is on its way.

Sorry, could not reproduce any problems with clicking the button.

thinkyhead commented 9 years ago

could not reproduce any problems with clicking the button

It's a weird one. Of course now your patch fixes that too.

HidingCherry commented 9 years ago

I use also the default settings for the progress bar. It is possible that the progress bar appears again after a message has been shown so that the message won't be visible. The progress bar didn't disappear again after a THERMAL_RUNAWAY (I haven't noticed the "stop" of the printing. After I came back it has already stopped and no error message but the progress bar was shown.)

To the THERMAL_RUNAWAY thing: Afaik the protection only activates after the temperature has been reached. So the initial heat-up shouldn't make any THERMAL_RUNAWAY. If you want to reproduce the LCD_PROGRESS_BAR-bug(?) you need to reach the temperature for getting a THERMAL_RUNAWAY error.

PS: Noticed another bug after THERMAL_RUNAWAY (the stepper motors are moving very slowly/nearly nothing). I will search for that and make sure I don't report a duplicate bug.

thinkyhead commented 9 years ago

only activates after the temperature has been reached

True, and easy to forget. It's the WATCH_TEMP_PERIOD stuff that catches the failure to heat up.

thinkyhead commented 9 years ago

you need to reach the temperature for getting a THERMAL_RUNAWAY error

I will try getting the temperature up, then try (1) unplugging the thermistor and (2) turning off the heater power.

jbrazio commented 8 years ago

Thank you for your interest making Marlin better and reporting this issue but this topic has been open for a long period of time without any further development. Marlin has been under heavy development for the past couple of months and moving to it's last mile to finish the RC cycle and release Marlin v1.1.0. We suggest you to try out the latest RCBugfix branch and reopening this issue if required.

github-actions[bot] commented 2 years ago

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.