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

[FR] WIP: MKS UI/TFT_LVGL_UI Updates & Fixes #18476

Closed
5 of 6 tasks
thisiskeithb opened this issue Jun 30, 2020 · 25 comments
Closed
5 of 6 tasks

[FR] WIP: MKS UI/TFT_LVGL_UI Updates & Fixes #18476

thisiskeithb opened this issue Jun 30, 2020 · 25 comments
Labels
C: LCD & Controllers T: Feature Request Features requested by users.

Comments

@thisiskeithb
Copy link
Member

thisiskeithb commented Jun 30, 2020

Bug Description

This is a continuation of discussion from PR #18438. Several issues still exist:

To-do

  • Upgrade to LVGL 7.x

Complete

  • Rename TFT_LITTLE_VGL_UI to TFT_LVGL_UI since it was renamed to LVGL - "Light and Versatile Graphics Library" in 7.0.
  • External fonts load, but do not display correctly
  • Default LVGL 6.0 font does not display special characters
  • Further extend TFT_LVGL_UI to work with other boards/TFTs, especially those without much SPI flash (Chitu/Tronxy X5SA, etc.)
  • Several screens are missing compared to MKS' old/proprietary TFT firmware

My Configurations

This is a general issue with MKS's LVGL implementation, so it applies to all configs with TFT_LVGL_UI_FSMC/TFT_LVGL_UI_SPI enabled.

@thisiskeithb thisiskeithb changed the title [BUG] TFT_LITTLE_VGL_UI external font loading, special characters no displayed, missing screens [BUG] TFT_LITTLE_VGL_UI external font loading, missing special characters, missing screens Jun 30, 2020
@thisiskeithb thisiskeithb changed the title [BUG] TFT_LITTLE_VGL_UI external font loading, missing special characters, missing screens [BUG] TFT_LVGL_UI external font loading, missing special characters, missing screens Jul 1, 2020
@makerbase-mks
Copy link
Contributor

@rhapsodyv @thisiskeithb
The bugfix-2.0.x version submitted by rhapsodyv has been tested and found that Chinese and Russian languages can be displayed. Due to the problem of address offset, the display is not complete enough. I need to change it.

The following picture shows the problem that occurred after I updated the latest font. I need to modify the font offset in the code to solve this problem.
https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/tree/master/Firmware/mks_font
image

The interface shown in the following picture is the normal interface displayed after I updated the old version of the font
https://github.com/makerbase-mks/Mks-Robin-Nano-Marlin2.0-Firmware/tree/v2.0.5.3/Firmware/mks_font
image

@thisiskeithb
Copy link
Member Author

The bugfix-2.0.x version submitted by rhapsodyv has been tested and found that Chinese and Russian languages can be displayed. Due to the problem of address offset, the display is not complete enough. I need to change it.

Sounds like a simple fix. There's still an issue with some special characters not being displayed.

In your photos above, "franais" should be "français":

#define LANGUAGE_FR "français"

and "espaol" should be "español":

#define LANGUAGE_SP "español"

@rhapsodyv was able to update to LVGL 7.0 without modifying your fork. but I don't think they've tested special characters yet.

@ftoz1
Copy link

ftoz1 commented Jul 1, 2020

Seem to me wrong way add lvlg issues to many files as y present. There should be one lvlg starter file instead of ultralcd.cpp which inicialize gui.

@thisiskeithb
Copy link
Member Author

Seem to me wrong way add lvlg issues to many files as y present. There should be one lvlg starter file instead of ultralcd.cpp which inicialize gui.

Can you clarify what this means?

This is a beta feature that is a work in progress. Expect frequent updates as this feature is updated and expanded to more hardware.

@ftoz1
Copy link

ftoz1 commented Jul 1, 2020

Its not depend if beta of what stage it is, but all lcd issues should be only in /lcd dir. And marlin.cpp should call init gui and update gui. There cant be gui issues across all marlin files. It sucks me as hell on marlin. The reason is simple if y want to use another ui/gui, y get big stop by many ui issues in gcodes and in hundred files. I am now refresh work on it and seems to share some experimental working version till week. But i am always trouble with basic things on marlin. Dual Z motor not work on latest versions, so always need to solve basic things.

@thisiskeithb
Copy link
Member Author

thisiskeithb commented Jul 1, 2020

@ftoz1: It sounds like you have a misunderstanding of how Marlin is organized and configured and those are not related to LVGL/this issue.

For best results getting help with configuration and troubleshooting, please use the following resources:

@ftoz1
Copy link

ftoz1 commented Jul 1, 2020

@rhapsodyv
Copy link
Member

rhapsodyv commented Jul 1, 2020

@rhapsodyv @thisiskeithb
The bugfix-2.0.x version submitted by rhapsodyv has been tested and found that Chinese and Russian languages can be displayed. Due to the problem of address offset, the display is not complete enough. I need to change it.

The following picture shows the problem that occurred after I updated the latest font. I need to modify the font offset in the code to solve this problem.

@makerbase-mks

Did you fixed the offset? What’s to commit to my branch?

@rhapsodyv
Copy link
Member

good luck.
https://www.youtube.com/watch?v=3coW24_y9d8&feature=youtu.be

All the lvgl code is isolated in lcd folder. There’re only two from Marlin core: init and update loop.

@thisiskeithb thisiskeithb changed the title [BUG] TFT_LVGL_UI external font loading, missing special characters, missing screens [FR] WIP:TFT_LVGL_UI external font loading, missing special characters, missing screens Jul 1, 2020
@thisiskeithb thisiskeithb added the T: Feature Request Features requested by users. label Jul 1, 2020
@ftoz1
Copy link

ftoz1 commented Jul 1, 2020

I am saying that, because original marlin cause many troubles by that. There are a lot of ui issues everywhere and i am stuck on it. If want keep marlin with open mind changeable ui, its good to keep file structure.

@GMagician
Copy link
Contributor

@thisiskeithb and Italian is "Italiano" not "Italia" :-)

@thisiskeithb
Copy link
Member Author

@thisiskeithb and Italian is "Italiano" not "Italia" :-)

I didn’t write the translations. I’m just pointing out the missing characters.

@GMagician
Copy link
Contributor

@thisiskeithb you may think about a new job :-D

@thisiskeithb
Copy link
Member Author

@thisiskeithb you may think about a new job :-D

What do you mean by that?

@GMagician
Copy link
Contributor

GMagician commented Jul 1, 2020

It was a joke, you may think to start to be a translator, no offense

@thisiskeithb
Copy link
Member Author

Marlin is accepting pull requests, so feel free to correct translation errors.

@makerbase-mks
Copy link
Contributor

makerbase-mks commented Jul 2, 2020

@thisiskeithb Thank you for your suggestion,I have submitted my changes.
I merged @rhapsodyv 's code, the test found that it worked very well.
The following content is my submission link
#18500

I haven't updated the graphics library to 7.0 yet, I think I will cooperate with @rhapsodyv to do this job well.
The following are my tests on robin_nano_v1.2 and V2.0 after the merger
image
image

@ftoz1
Copy link

ftoz1 commented Jul 2, 2020

How fast is approx draw page on nano with that?

@rhapsodyv
Copy link
Member

I think we can update the progress

@thisiskeithb thisiskeithb changed the title [FR] WIP:TFT_LVGL_UI external font loading, missing special characters, missing screens [FR] WIP: MKS UI/TFT_LVGL_UI Updates & Fixes Oct 5, 2020
@thisiskeithb
Copy link
Member Author

@makerbase-mks Is updating to LVGL 7.x still planned? They are up to version 7.6 now.

@ellensp
Copy link
Contributor

ellensp commented Oct 22, 2020

several parts of the code for MKS_UI code calls "card." without checking sdsupport is actually enabled
egs
mks_ui/draw_print_file.cpp:549:3: error: 'card' was not declared in this scope
mks_ui/printer_operation.cpp:237:5: error: 'card' was not declared in this scope

@rhapsodyv
Copy link
Member

rhapsodyv commented Oct 22, 2020

several parts of the code for MKS_UI code calls "card." without checking sdsupport is actually enabled
egs
mks_ui/draw_print_file.cpp:549:3: error: 'card' was not declared in this scope
mks_ui/printer_operation.cpp:237:5: error: 'card' was not declared in this scope

LVGL ui will not work without SDSUPPORT because it needs to loads the assets.

Maybe we should put a sanity check to remember the user to enable it.

@ellensp
Copy link
Contributor

ellensp commented Oct 22, 2020

makes sense, but then the blocks of code like "#if ENABLED(SDSUPPORT)" don't....

@rhapsodyv
Copy link
Member

makes sense, but then the blocks of code like "#if ENABLED(SDSUPPORT)" don't....

Sure... those blocks don't make sense... at least now.

Maybe in the future, when we have a light version of the lvgl, without assets loading

@github-actions
Copy link

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.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C: LCD & Controllers T: Feature Request Features requested by users.
Projects
None yet
Development

No branches or pull requests

6 participants