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

[BUG] Filament Change "Please wait for prompt" does not go away DWIN_CREALITY_LCD_JYERSUI #23700

Closed severandynasty closed 2 years ago

severandynasty commented 2 years ago

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

Yes, and the problem still exists.

Bug Description

When using the Filament Change menu to load filament, the printer will not allow you to purge more filament using the "Continue" prompt. The UI becomes unresponsive and the printer must be power cycled to restore function. Bug is present in the 2.0.9.3 release and current bugfix branch. Filament load works correctly when DWIN set is changed to the MarlinUI.

User @doubleO00 also reported this issue.

Bug Timeline

Appears to exist for some time, issue was also reported under issue 22772

Expected behavior

Filament should load to initial load length as defined in FILAMENT_CHANGE_FAST_LOAD_LENGTH then prompt user to purge more if needed or exit. If purge more (Continue) is selected the printer should purge an additional amount each time the user presses Continue until the process is exited.

Actual behavior

Filament load runs the FILAMENT_CHANGE_FAST_LOAD_LENGTH then prompts user to purge more or exit. If purge more is selected the menu freezes at Filament Change "Please wait for prompt". If users exits several other menu items like Disable Steppers no longer work. Printer must be power cycled to restore operation.

Steps to Reproduce

  1. Power on printer
  2. Select Prepare -> Change Filament -> Load Filament
  3. Select appropriate temperature from Preheat menu when prompted then press Continue. Printer heats to required temperature.
  4. Printer loads filament and prompts user to Purge More (Continue) or Exit (Cancel)
  5. User selects Continue, printer freezes at "Filament Load, Please wait for prompt

Version of Marlin Firmware

2.0.9.3

Printer model

Creality Ender 3 v2

Electronics

Stock 4.2.2

Add-ons

BLtouch 3.1, Filament Runout Sensor (microswitch)

Bed Leveling

ABL Bilinear mesh

Your Slicer

Cura

Host Software

OctoPrint

Additional information & file uploads

Configuration.zip

m111 s247 Output:

Send: M111 S247 Recv: echo:DEBUG:ECHO,INFO,ERRORS,COMMUNICATION Recv: ok [...] Recv: echo:busy: processing Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly Send: M113 S2 [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing {{ Additional "processing" messages ommited for brevity }} [...] Recv: echo:busy: processing [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: processing [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user [...] Recv: echo:busy: paused for user {{ Printer is locked up here }}

severandynasty commented 2 years ago

Thanks @tititopher68-dev ! I'll give this a try. Can/should I try to compile with your config files with the 2.0.9.3 Marlin stable release or do I have to stay in the bugfix branch? I'm largely trying to avoid issues that pop up from pre-release code.

tome9111991 commented 2 years ago

@severandynasty modify dwin.cpp in /src/lcd/e3v2/jyersui/, line 5001 by :

case PAUSE_MESSAGE_OPTION: 
        pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
        CrealityDWIN.Popup_Handler(PurgeMore);
        break;

or use this version 2.0.2i here : Jyers#1694 (comment)

Maybe Anyone feels free to create a PR with this fix?

ellensp commented 2 years ago

@tome9111991 Has this been confirmed to work?

tome9111991 commented 2 years ago

@tome9111991 Has this been confirmed to work?

I have only tried @tititopher68-dev version .2.0.2i I think fix is included and there some other fixes/updates it works nice.

I dont know maybe the can add all the fixes here?

Dids commented 2 years ago

I can confirm that the fix works. Tried it on my own fork and it no longer gets stuck on the prompt, allowing user input (confirm/cancel).

htro commented 2 years ago

@severandynasty modify dwin.cpp in /src/lcd/e3v2/jyersui/, line 5001 by :

case PAUSE_MESSAGE_OPTION: 
        pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
        CrealityDWIN.Popup_Handler(PurgeMore);
        break;

or use this version 2.0.2i here : Jyers#1694 (comment)

This seems to be only partial fix, it hangs the firmware if purge more functionality is used during filament runout situation. IIRC it also hanged the firmware if the purge more is used multiple times during normal filament change.

github-actions[bot] commented 2 years ago

This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days.

tiagofreire-pt commented 2 years ago

@severandynasty modify dwin.cpp in /src/lcd/e3v2/jyersui/, line 5001 by :

case PAUSE_MESSAGE_OPTION: 
        pause_menu_response = PAUSE_RESPONSE_WAIT_FOR;
        CrealityDWIN.Popup_Handler(PurgeMore);
        break;

or use this version 2.0.2i here : Jyers#1694 (comment)

This seems to be only partial fix, it hangs the firmware if purge more functionality is used during filament runout situation. IIRC it also hanged the firmware if the purge more is used multiple times during normal filament change.

Unfortunately, this is only a partial fix, specially not working while asking for extruding even more.

I have many clients with this bug claiming for a solution, as it is mainly relevant on prints with multiple colors. Blocking those prints mid print.

This is particularly damaging for those with recently launched mainboards (SKR E3 Mini V3), due to the lack of support on many previous Marlin firmware versions.

ellensp commented 2 years ago

JyersUI has been removed from Marlin. See https://github.com/MarlinFirmware/Marlin/pull/24459 for details.

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.