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

Vertical Screen GUI #524

Closed
ChengQian1007 opened this issue Apr 3, 2020 · 32 comments
Closed

Vertical Screen GUI #524

ChengQian1007 opened this issue Apr 3, 2020 · 32 comments
Labels
enhancement New feature or request

Comments

@ChengQian1007
Copy link

It will be super, if a vertical GUI is supported.

@ChengQian1007 ChengQian1007 added the enhancement New feature or request label Apr 3, 2020
@drphil3d
Copy link

Please Please Please Please

@bigtreetech
Copy link
Owner

How's this?
image

image

@OVDEN13
Copy link

OVDEN13 commented Aug 24, 2020

how to get it?

@ChengQian1007
Copy link
Author

Cool! That is what I want!

@ChengQian1007
Copy link
Author

Thanks a lot!

@hazeyjay77
Copy link

At last!!! I need i need i need please give me lol :)

@9zdot
Copy link

9zdot commented Sep 3, 2020

Nice, that's exactly what I was looking for.
When this feature will be available?
Thanks

@9zdot
Copy link

9zdot commented Oct 1, 2020

Hey @bigtreetech do you have plans to release it? I'll be glad if you can give us more information what was changed so me and others can compile ourselves to use in our personal projects.

@drphil3d
Copy link

drphil3d commented Oct 1, 2020

@bigtreetech I love you man / woman

@oldman4U
Copy link
Contributor

oldman4U commented Oct 20, 2020

Could you please be so kind and close this ticket. Your feature request is covered in the pinned Feature Request ticket #1170

Thank you

@SlackHacky
Copy link

Any update on release of portrait mode

@oldman4U
Copy link
Contributor

oldman4U commented Nov 8, 2020

Hi. As far as I know there is currently no development on this. Are you a developer which could help to develop this?

@radry
Copy link
Contributor

radry commented Mar 14, 2021

Why is this issue closed? It hasn't been implemented yet.
@bigtreetech please release vertical GUI

@oldman4U
Copy link
Contributor

Hi radry.

Many abandoned tickets made this system unusable in the past. Therefore a bot has been installed which closes tickets which have not been used for more than 2 months. Unfortunately because of this, also important tickets like this one have been closed, so there were two new tickets introduced, where verified bugs and feature requests are collected. You can find the two tickets at the top of the front page of this repository.

Unfortunately I can not tell you when a vertical interface will be released, but probably the lack of open source developers who are willing to spend their spare time developing it will be a part of the reason. Are you a developer who is willing to help or is there anything else you believe you could help us with?

Hope this answers your question, please let me know

Thank you

@radry
Copy link
Contributor

radry commented Mar 15, 2021

@oldman4U
That's not how git works. If you close an issue, people who want to fix them can't find or reference them correctly. The "collection" ticket is nice as an overview but can't replace the git issue system. @bigtreetech showed a picture of vertical interface, so obviously it exist. Why did they not release it on the repository?

@oldman4U
Copy link
Contributor

Feel free to make it better.

@technoo10201
Copy link

Hi guys ! :)
Any news about this feature ? I'm really interested !
Here is a great magnetic support which i would like to use https://www.thingiverse.com/thing:4809101

Please let us know, we really want it @bigtreetech

Regards
Technoo'

@E-Studios
Copy link

Shameless topic bump, it's been over 1 year already... hows going with the vertical mode?

@oldman4U
Copy link
Contributor

How it goes depends on the availability of Users like you and me who are willing to spend their spare time to this open source software project. Are you a developer who can help?

@kisslorand
Copy link
Contributor

Shameless topic bump, it's been over 1 year already... hows going with the vertical mode?

Tough words... I do not remember anyone ever promising anything about vertical mode.

@E-Studios
Copy link

Shameless topic bump, it's been over 1 year already... hows going with the vertical mode?

Tough words... I do not remember anyone ever promising anything about the vertical mode.

The only thing you have to do is scroll to the top of this thread... And see the images BTT posted.
They even said in a mail conversation they are "working" on it. And is also on their TD list.

So these words aren't that tough...

How it goes depends on the availability of Users like you and me who are willing to spend their spare time to this open source > software project. Are you a developer who can help?

No I'am not a developer who can help for this screen. I also wonder if it's "Open Source" I see most of them just using a piece of software you can just design the GUI with dragging images and create buttons and such. So I wonder how BTT is really desigining these screens. taking the hard way or easy way? the screens are basically the same as MakerBase's screens.

@oldman4U
Copy link
Contributor

Maybe you are an interface designer or you have other skills which could help!? Maybe you can write manuals?

You can see that you can download the source code from this repository free of charge and guys like kisslorand and digant73 are improving this firmware free of charge. I call this open source maybe you have another word for it.

@E-Studios
Copy link

Maybe you are an interface designer or you have other skills which could help!? Maybe you can write manuals?

You can see that you can download the source code from this repository free of charge and guys like kisslorand and digant73 are improving this firmware free of charge. I call this open source maybe you have another word for it.

Yes i'am a designer and mechanical engineer, but a newb "programmer". So the only thing I can do is make nice icons, images etc. So thats why I asked how the project was going.

I'am just asking BigTreeTech how it is going with their Vertical/Portrait Mode progress, not to stir things up...

There is a request from their customers to get a Vertical/Portrait Mode, BTT showed pictures of their progress last year, added it to their todo list.

And for "Open Source" I mean. lot of the Chinese manufacturers say its "OpenSource" but its not really that opensource. So that's why i wonder if this screen's software/firmware is really opensource.

@kisslorand
Copy link
Contributor

It is "Open Source", as open as possibly can. You have the whole source code, anyone can tailor it to their own needs and share it or not.

@oldman4U
Copy link
Contributor

But it seems that you are our man - maybe;-)

The problem is the following. It is not about rotating the screen 90%, it is doing so not for a single dedicated piece of hardware, but for different screens. So it should work for:

TFT24/28 which has a screen resolution of 320x240 and therefore an aspect ratio of 4:3
TFT35 which has a screen resolution of 480x320 and therefore an aspect ratio of 3:2
TFT43/50 which has a screen resolution of 480x270 and therefore an aspect ratio of 16:9
TFT70 which has a screen resolution of 800x480 and therefore an aspect ratio of 10:6

And there is not a single layout but screens with buttons, buttons and bars, lines with text, lines with text and a checkbox or scroll buttons. Additional text which is shown sometimes and overlay windows and so on and so on. You know the different screens.

Not to forget the limited resources, hardware and man power wise;-)

I am willing to help, but alone this will probably take another year or so until a usable design is defined. Maybe I am wrong, but I believe that a real nice vertical user interface is several years away, or needs more users working on it. And I am not sure that there is a good way to implement this on all of the screens available from BTT. Which brings me back to the beginning of this comment. Maybe it would be good to implement this only for a single screen....

@radry
Copy link
Contributor

radry commented Apr 20, 2021

@oldman4U
As you can see above bigtreetech has already developed a vertical screen layout but they don't share it yet. This is their project, they designed the hardware, software and sell it to make profit, so they should release it and not we as users develop it ourselves.

This is just a matter of adding new screen with vertical resolution instead of horizontal and defining which axis is X and Y, Unfortunately I don't understand this project well, so I can't do it myself.

@kisslorand
Copy link
Contributor

Guys, it is not as easy as it may seem. It might take up too much resources from the TFT's limited storage capacity so maybe a separate project is needed. This matter has already been raised in the case of having everything in one single FW. There has been discussions also about having RRP, Klipper, etc on a separate project. The demands are endless and the space is limited.
The more complicated is a project it is more susceptible to errors, bugs, more harder to implement a new feature for every scenario/variant/version, more harder to find and eliminate bugs.
I am more and more strongly against having everything in one single FW.

@oldman4U
Copy link
Contributor

oldman4U commented Apr 21, 2021

@radry What you see above are two screens on a single TFT, where the two screens are very similar in what they show. Unfortunately there are approximately 20 different screens layouts which all have to be adjusted to work on a vertical screen and this is like kisslorand wrote above, a lot of work. And he has to know it, because he is one of the most active developers here. I guess we are talking about at least one year full time job and for those still not understand, believe or haven't heard it - the hardware comes from BTT and also the foundation of the firmware, but all the nice interfaces and features you see are from those users which are mentioned here: https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/graphs/contributors.

Every user has certain skills which could be helpful to improve the solution. To sit and wait and to ask for something does not help. Let's see if E-Studios or one of the other users above is willing to spend a part of his valuable spare time.

@radry
Copy link
Contributor

radry commented Nov 10, 2021

@oldman4U @kisslorand
I started digging into this issue.
Changing the screen to output in portrait is easy but it comes with two problems which I still couldn't solve:

  1. The touch layer is not rotated, only the LCD screen orientation.
    I haven't found where in the code the touch layer/hardware orientation is specified.

  2. The layout of the menu is hardcoded and isn't well documented. Meaning it tries to display 8 icons in two rows (4 each row). This results in an error (display goes into listening mode) when the specified horizontal resolution isn't enough to fit the row.
    (When only rotating the screen but not adjusting the resolution it will display the menu cut off.)

The menu is hardcoded in the file TFT/src/User/API/menu.c and menu.h
It needs trial and error to make progress.

I also discovered that the layout is always the same, only the icon size and the margins between icons is different for each screen. So as soon as one working vertical layout has been made it's not much work to adjust it to for all other screens.

Update 1:
I managed to display the main menu and (partially) status menu in portrait. The problem that continues to exist is the not rotated touch input. I tried reseting the touch calibration and reclabrating the display but the Touch Screen calibration is displayed not rotated as well? I don't understand why. The boot screen and the "loading" of the config file is rotated correctly, the menu as well but the touch calibration screen is not, thus I can't calibrate it. (It shows a cut off portrait image but in landscape screen).
According to the code, the screen is first rotated (which is proven by the fact that the loading screen before is already correctly rotated), then the calibration is called. I can't find any hint on why the calibration screen is not rotated.

Update 2:
I found out that the touch screen calibration (when using a reset.txt file) is launched before the config.ini settings are read thus uses the default roation value set in settings.c

Update 3:
Making progress. Touch interface working too.
Now it's just a matter of checking and adjusting every sub menu and then tidy up the code
DSC_1123
.

@Sim098
Copy link

Sim098 commented May 30, 2023

i"am using TFT70 touch screen with Octopus pro motherboard. i want to remove some of the icons from the display. for e.g. onboard_sd, TFT_sd, cz_fade etc I'm not using these icons anymore so want to delete them from the screen. Did anyone know how to do it ??

@kisslorand
Copy link
Contributor

For the moment there's no other way but changing the source code and compile it yourself.

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 Mar 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests