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.14k stars 19.2k forks source link

[BUG] TFT_LVGL_UI (MKS_UI): Y axis motion loss / offset, does not occur with TFT_COLOR_UI #22967

Open phcay opened 2 years ago

phcay commented 2 years ago

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

No, but I will test it now!

Bug Description

MKS_UI: Y axis movement loss / offset, does not occur with Marlin color UI

Bug Timeline

First use of official Marlin on this printer. Use of the TwoTrees (custom MKS) and MKS variants beforehand.

Expected behavior

No response

Actual behavior

When using MKS_UI there are Y axis movement losses / offsets at random Z heights, does not occur with Marlin color UI. The offsets generated can reach the entire width of the printed layer. Note that my motherboard is an MKS Robin nano 1.2 and does not have uart / spi communication with the drivers, which are therefore in standalone mode, and Marlin cannot affect their current setting. By significantly increasing acceleration and printing speeds, the problem seems to occur less, or even disappear, but it would take a lot more testing to confirm this. On this printer, a TwoTrees Bluers, I used MKS_UI with the fork of Marlin 2.0 from MKS beforehand with a fairly similar setting without this anomaly appearing.

Steps to Reproduce

No response

Version of Marlin Firmware

2.0.9.2 (+commits 04/10/2021)

Printer model

TwoTrees Bluer V1+ (V2 in Marlin)

Electronics

Stock MKS Robin nano 1.2 x+y=tmc2208, z+e=tmc2209

Add-ons

BLTOUCH, MKS WiFi

Bed Leveling

ABL Bilinear mesh

Your Slicer

Prusa Slicer

Host Software

No response

Additional information & file uploads

Slicer is SuperSlicer.

I am using "#define MKS_UI" to switch between Marlin_color_ui and MKS_UI, with conditions on SERIAL_PORT_2, Marlin LCD menus, FILAMENT_RUNOUT_SENSOR, ADVANCED_PAUSE_FEATURE, TFT_LVGL_UI and TFT_COLOR_UI.

Configuration.h.txt Configuration_adv.h.txt

thinkyhead commented 11 months ago

if anyone could reopen an issue closed as stale

Issues on GitHub can be closed as "completed" or "not planned" but not in other ways.

kiyoukan commented 11 months ago

@thinkyhead Marlin2.0.9.5Configuration F [Marlin2.0.9.3 color uiConfiguration_fail.zip](https://github.com/MarlinFirmware/Marlin/files/12842311/Marlin2.0.9.3.color.uiConfiguration_fail.zip) AIL.zip These the config files you asked for

Below is gcode that fails even when using the color gui marlin Laser test Gcode.txt

friedolino78 commented 11 months ago

I was looking into the commits after 2.0.8 but haven't found anything suspicious yet. Especially the lvgl gui code hasn't been changed between 2.0.8 and 2.0.9.

Invy55 commented 9 months ago

I was looking into the commits after 2.0.8 but haven't found anything suspicious yet. Especially the lvgl gui code hasn't been changed between 2.0.8 and 2.0.9.

2.0.8 works?

phcay commented 8 months ago

I was looking into the commits after 2.0.8 but haven't found anything suspicious yet. Especially the lvgl gui code hasn't been changed between 2.0.8 and 2.0.9.

This is the transition from LIB_MAPLE to unified_STM32_HAL.

Well, I opened this issue in Oct 2021, and it's already 2024. A little reminder so as not to fall into oblivion.

I'm not sure LIB_MAPLE doesn't have this problem, but the impact seems unnoticed. I also think that TFT_COLOR_UI does not completely remove the problem, and therefore that TFT_LVGL_UI has a very aggravating effect. I assume that changing the PWM of the FAN/LASER (M106 xxx) interacts with the pins used for Y_EN(PE1)/Y_STEP(PE0)/Y_DIR(PB9) which can be used for other functions, like TIM4. It is important to note that re-running the same gcode will produce different offsets. And yes, a simple butterfly wing flap will generate enough differences on the printer for it to react differently.

As @makarenya pointed out, the workaround for those not using driver E1 is to use it instead of driver Y.

EvilGremlin commented 8 months ago

LVGL_UI is such a mess no one wants to touch it with 10 meter stick.

PreyK commented 4 months ago

If LVGL_UI is really that terrible please remove it or at least slap some disclaimers on the wiki or something. I've rebuilt a complete 3D printer multiple times because of this. I know COLOR_UI doesn't look that easy for beginers but neither their printer not working with seemingly no solution. https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/issues/293#issuecomment-2103406508