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.36k stars 19.26k forks source link

[BUG] The abnormal PAUSE behavior #27377

Open dupaser opened 3 months ago

dupaser commented 3 months ago

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

Yes, and the problem still exists.

Bug Description

I am using a BTT SKR PRO V1.2 and a MKS H43 DWIN display. At the moment I have version 2.0.9.5. I have tried using different versions of Marlin, but there is a problem everywhere (somewhere the movement is worked out incorrectly and sometimes the Watchdog is triggered).

When I activate #define DGUS_LCD_UI_MKS and comment //#define ADVANCED_PAUSE_FEATURE : If it is a pause with the M25 command, which is located on the USB Flash, then parking occurs correctly. But if I press the pause button on the display, then a double movement is performed (At the beginning, it goes to the pause point, but then returns to the print area). (i comment out a line queue.exhaust(); in void MKS_pause_print_move(), otherwise, the watchdog is triggered and the board is rebooted).

With St-Link debugging, it is visible that the few next commands are written to the "destination" variable after the coordinates of park position, which is not present when pausing from a USB media.

Bug Timeline

No response

Expected behavior

Stopping the nozzle at the park position

Actual behavior

Stopping the nozzle at the park position and move to next coordinate

Steps to Reproduce

define MOTHERBOARD BOARD_BTT_SKR_PRO_V1_2

define DGUS_LCD_UI_MKS

define USE_MKS_GREEN_UI

Version of Marlin Firmware

2.0.9.5

Printer model

No response

Electronics

MOTHERBOARD BOARD_BTT_SKR_PRO_V1_2

LCD/Controller

DGUS_LCD_UI_MKS

Other add-ons

No response

Bed Leveling

None

Your Slicer

None

Host Software

None

Don't forget to include

Additional information & file uploads

No response

dupaser commented 3 months ago

Update info

thisiskeithb commented 3 months ago

Please attach your bugfix-2.1.x configs.

dupaser commented 3 months ago

Good afternoon, thank you for your quick response. I downloaded your archive and configured it according to my parameters. There were issues with building the firmware in DGUS. Everywhere I made changes, I left a comment with the original value and an identifier "332211" so you could easily find them. The main problem was with the name DGUS_SCREEN_MAIN, which I replaced with DGUSLCD_SCREEN_MAIN, and DGUS_SCREEN_STATUS, which I replaced with DGUSLCD_SCREEN_STATUS. As a result, I ran my parameters and observed the same issues I described earlier. If the line is not commented out, the board restarts.

"Changes are only in /mks and in configuration files."

https://github.com/dupaser/Marlin-bugfix-2.1.x-1-

dupaser commented 3 months ago

This is solution in void MKS_pause_print_move()

if (nozzle_park_mks.print_pause_start_flag) { queue.exhaust(); }

narno2202 commented 3 months ago

@dupaser , I'm refactoring the MKS_H43 code when i saw your comment. I've already fixed some bugs and changed some wordings. Could you have a look? https://github.com/narno2202/Marlin/tree/MKS_H43

github-actions[bot] commented 3 days ago

Greetings from the Marlin AutoBot! This issue has had no activity for the last 90 days. Do you still see this issue with the latest bugfix-2.1.x code? Please add a reply within 14 days or this issue will be automatically closed. To keep a confirmed issue open we can also add a "Bug: Confirmed" tag.

Disclaimer: This is an open community project with lots of activity and limited resources. The main project contributors will do a bug sweep ahead of the next release, but any skilled member of the community may jump in at any time to fix this issue. That can take a while depending on our busy lives so please be patient, and take advantage of other resources such as the MarlinFirmware Discord to help solve the issue.