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.28k stars 19.23k forks source link

[BUG] (UI: "Heating" label is shown during the cooldown state) #23441

Closed Dentrax closed 2 years ago

Dentrax commented 2 years ago

Did you test the latest bugfix-2.0.x code?

No, but I will test it now!

Bug Description

I am not sure which condition triggered this UI bug but, the label indicates "E1 Heating" during the cooling down state. Pressing the "Cooldown" button does not affect either the UI or status.

I just upgraded my Marlin from v1.0.1 to latest.

P.S: I used the corresponding configs: https://github.com/MarlinFirmware/Configurations/tree/2.0.9.3/config/examples/Creality/Ender-3%20V2

Bug Timeline

No response

Expected behavior

"Heating" label should be hidden during the cooling down state.

Actual behavior

"Heating" label is shown during the cooling down state.

Steps to Reproduce

  1. Stop the printing?

Version of Marlin Firmware

2.0.9.3

Printer model

Creality Ender 3 V2

Electronics

Stock

Add-ons

No response

Bed Leveling

No Bed Leveling

Your Slicer

Cura

Host Software

SD Card (headless)

Additional information & file uploads

https://user-images.githubusercontent.com/16493751/147978019-45436a06-0c5b-4f90-a59f-1f3b9f39c9fb.mp4

thinkyhead commented 2 years ago

It may simply be leaving the old message up. The only thing the "Cooldown" option in that UI does is call thermalManager.cooldown() and nothing else.

Dentrax commented 2 years ago

So you mean thermalManager.cooldown() does not interact with UI under the hood?

thinkyhead commented 2 years ago
static void cooldown() {
  zero_fan_speeds();
  disable_all_heaters();
}
Dentrax commented 2 years ago

Hmm, should we add a function something like refresh_status_ui()? (But this one will not solve the issue I think, right?) Would you like any help with this issue? Not making any promises but I'd be interested in looking into it. 🙏

thinkyhead commented 2 years ago

The method ui.reset_status() resets the status message to the default for the current machine state. It should be used by UI implementations when appropriate. It is the direct method to do this, so it doesn't check whether there is an "important" message on the screen which should not be cleared.

thinkyhead commented 2 years ago

e.g., For dwin.cpp line 2762…

      #if HAS_HOTEND || HAS_HEATED_BED
        case PREPARE_CASE_COOL:
          thermalManager.cooldown();
          ui.reset_status();
          break;
      #endif
Sonicboom247 commented 2 years ago

e.g., For dwin.cpp line 2762…

      #if HAS_HOTEND || HAS_HEATED_BED
        case PREPARE_CASE_COOL:
          thermalManager.cooldown();
          ui.reset_status();
          break;
      #endif

Question, will this be merged soon? Now seeing similar issue on an Ender 3 V2 and Artillery Hornet. Except both read Bed Cooling the entire time they are printing.

thisiskeithb commented 2 years ago

Question, will this be merged soon? Now seeing similar issue on an Ender 3 V2 and Artillery Hornet. Except both read Bed Cooling the entire time they are printing.

There's also the bed heating/cooling status reset bug that may be affecting this: https://github.com/MarlinFirmware/Marlin/pull/23135

Sonicboom247 commented 2 years ago

Question, will this be merged soon? Now seeing similar issue on an Ender 3 V2 and Artillery Hornet. Except both read Bed Cooling the entire time they are printing.

There's also the bed heating/cooling status reset bug that may be affecting this: #23135

edit: seems like the ender 3 is still not behaving as it should even with LCD_TIMEOUT_TO_STATUS commented out, it seemed ok until the gcode dropped the bed temp from 60 to 58 as instructed, but it did not switch back to file name.

Sonicboom247 commented 2 years ago

Don't even recall which printer i was working on last night but one or two of them received an update and now. 20220113_171847 And after bed dropped two degrees it went back to time left. 20220113_170451

Even though time left and remaining are quite off, it syncs then goes off a bit.

thisiskeithb commented 2 years ago

23135 has been merged and there's a new option STATUS_MESSAGE_TIMEOUT_SEC to timeout low-priority status messages.

Please download bugfix-2.0.x to test with the latest code and let us know if you're still having this issue.

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.