Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] lvgl ui (mks ui) m600 filament change #27228

Open
1 task done
Luisdjnas opened this issue Jul 1, 2024 · 8 comments
Open
1 task done

[BUG] lvgl ui (mks ui) m600 filament change #27228

Luisdjnas opened this issue Jul 1, 2024 · 8 comments

Comments

@Luisdjnas
Copy link

Luisdjnas commented Jul 1, 2024

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

Yes, and the problem still exists.

Bug Description

The M600 filament change function is not operational in the lvgl ui (mks ui) interface.
Lvgl ui (mks ui) interface does not show PID menu

Version of Marlin Firmware

2.1.2.4.

Printer model

Prusa I3

Electronics

MKS Robin nano v3.1

LCD/Controller

TS35

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Marlin.zip

@thisiskeithb
Copy link
Member

Please zip up and attach your configs here. I cannot download or copy the files from your dropbox without an account.

@Luisdjnas
Copy link
Author

Luisdjnas commented Jul 2, 2024

Please zip up and attach your configs here. I cannot download or copy the files from your dropbox without an account.

Sorry, I didn't realize you can attach a .zip, I've already uploaded it.

@Luisdjnas
Copy link
Author

A friend told me about making some changes to solve the compilation errors but it still does not appear in the menu and when I execute the M600 command the printer starts the filament change process but I cannot give it to continue inserting the filament later.

  • at line 882 of file \Marlin\src\inc\Conditionals_adv.h,
    add HAS_TFT_LVGL_UI

#if ANY(EXTENSIBLE_UI, IS_NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, HAS_DWIN_E3V2, HAS_TFT_LVGL_UI)

  • in line 2933 of file \Marlin\src\inc\Conditionals_post.h, add HAS_TFT_LVGL_UI

#if ANY(HAS_MARLINUI_MENU, EXTENSIBLE_UI, DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI, HAS_TFT_LVGL_UI) || ALL(EMERGENCY_PARSER, HOST_PROMPT_SUPPORT)

With these options it is not necessary to activate EMERGENCY_PARSER

@thisiskeithb thisiskeithb changed the title lvgl ui (mks ui) m600 filament change [BUG] (bug summary) [BUG] lvgl ui (mks ui) m600 filament change Jul 6, 2024
@Luisdjnas
Copy link
Author

I still have the problem, I think it is because the ts35 v2.0 device already has its own parking position.
Would there be a way to pause the printing using gcode as if you hit the pause button on the screen?
That would be enough to be able to change the filament.

@Luisdjnas
Copy link
Author

I have seen that it does not show the PID menu on the screen either. And you cannot define pause.

@thisiskeithb
Copy link
Member

I still have the problem, I think it is because the ts35 v2.0 device already has its own parking position.

No, the TS35 doesn't run separate firmware. The parking position is hard coded in LVGL UI.

I have seen that it does not show the PID menu on the screen either. And you cannot define pause.

Keep in mind that MKS's LVGL UI is a custom UI that does not use many of Marlin's standard methods or config settings. MKS also no longer maintains the UI, so it's on us/the community to fix up various shortcomings.

I started on some of these improvements, but it's a lot of work.

I recommend using TFT_CLASSIC_UI or TFT_COLOR_UI for now since those UIs are well-supported.

@Luisdjnas
Copy link
Author

Hello, thank you very much for your dedication, if you could help correct errors in the interface I would be delighted.
I hope we can fix the LVGL interface.
I am currently working with the TFT_COLOR_UI interface in which I have modified with help something that I share with you to be able to implement it. The remaining printing time and percentage were not marked.
I have modified

\Marlin\src\lcd\tft\ui_480x320.cpp

y += TERN(HAS_UI_480x272, 36, 44);
// print duration
char buffer1[14];
char buffer2[14];
duration_t elapsed = print_job_timer.duration();
duration_t resto = ui.get_remaining_time();
elapsed.toDigital(buffer1);
resto.toDigital(buffer2);

const uint8_t porcentaje = ui.get_progress_percent();
tft.canvas((TFT_WIDTH - 300) / 2, y, 300, 29);
tft.set_background(COLOR_BACKGROUND);
tft_string.set("|<: ");
tft_string.add(buffer1);
tft_string.add(" ");
tft_string.add(pcttostrpctrj(porcentaje));
tft_string.add(" >|: ");
tft_string.add(buffer2);
tft.add_text(tft_string.center(300), 0, COLOR_PRINT_TIME, tft_string);

I upload the modified file.

ui_480x320.zip

@Luisdjnas
Copy link
Author

This is the final look.
17211554361532077799366833203145

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants