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

Improved Terminal menu based on TFT size and resolution #1231

Merged
merged 6 commits into from
Nov 10, 2020

Conversation

digant73
Copy link
Contributor

@digant73 digant73 commented Nov 5, 2020

Based on the idea of StarNamer on his PR #1191, just to speed up the merge on BTT main repo due to my last changes already applied on Terminal menu.
I don't have any TFT sample from BTT to test the layout on all the TFT variants, so I ask you to test in your TFT and eventually provide your feedback. I simple verified that the 3 layouts are correctly displayed in my TFT and the terminal correctly works.
Thanks to StarNamer!

IMPROVEMENTS:

  • Improved Terminal menu:
  1. three different layouts based on TFT size and resolution:
  • TFT width < 480 pixels: a 6*6 layout is used (4*6 keyboard)
  • TFT width < 800 pixels: a 6*7 layout is used (4*7 keyboard)
  • TFT width >= 800 pixels: a 8*10 layout is used (6*10 keyboard)
  1. just some refinements on the GUI (big fonts also for the control bar in the terminal page, some shadows on the control bars...)
  2. three keyboard color layouts selectable on Configuration.h:
  • standard 1 and 2: standard configurable (in config.ini) font, background, and line colors are used (e.g. white, black and gray)
  • alternative: black, white and blue colors are used
  1. standard configurable (in config.ini) Marlin font and background colors used on the terminal menu
  2. QWERTY keyboard layout selectable on Configuration.h for the 7" TFT
  1. with the support to both Probe/Home offset, the Babystep menu is now also able to display with a different color (the configurable color "reminder_color" in config,ini) the Z offset values not automatically changed applying babystep changes (e.g. if no BABYSTEP_ZPROBE_OFFSET is set in Marlin FW). This means that, in order to apply (set) and make permanent (on EEPROM) the displayed Z offset value, the user MUST click in the save button and accept to save to EEPROM. Otherwise, that value will be lost exiting from the menu or resetting the printer

CLEANUP:

  • removed directory TFT/scr/User/Language Packs because no more needed
  • changed comments in config.ini to reflect the correct maximum lenght of "start", stop" and "cancel" gcodes. It was wrongly reported 50 instead of 75
  • MeshEditor.c: some cleanup

PR STATE:

  • FINAL: Ready to be merged with BTT main branch:

Terminal color layout:

IMG_20201105_212520

Standard 1 keyboard color layout:

IMG_20201106_202059

Standard 2 keyboard color layout:

IMG_20201108_131051

Alternative keyboard color layout:

IMG_20201106_202433

The pictures below are only to show the layout that will be displayed on a 7" TFT. Clearly on a real 7" TFT the layout and the size of the key will differ:

IMG_20201105_212448

QWERTY keyboard layout for a 7" TFT:

IMG_20201108_130728

@digant73 digant73 changed the title Improved Terminal menu based on TFT size and resolution (based on PR … Improved Terminal menu based on TFT size and resolution Nov 5, 2020
@oldman4U
Copy link
Contributor

oldman4U commented Nov 5, 2020

Cool.

Like I said, a TFT28 is available and maybe DHL will deliver a TFT24 tomorrow. But for the test, the 28 will be good enough. You have a TFT35, right, or should I test it also?

Thank you @StarNamer, thank you digant73! Great teamwork;-)))

@Hukuma1
Copy link

Hukuma1 commented Nov 6, 2020

Looks great!

Any chance of inverting the color scheme for the main terminal screen? The white background could be black, text can be white. Or have a second version that would fit with the darker Material Design theme of BTT TFT. This white one could be great for the Classic theme.

@digant73
Copy link
Contributor Author

digant73 commented Nov 6, 2020

@Hukuma1
I used the same colors of the old Terminal. The white and black colors are the configurable font_color and bk_color but inverted (bk used for the foreground and font used for background). I will swap the color and see how it appears

@oldman4U
Copy link
Contributor

oldman4U commented Nov 6, 2020

Look, a new member of my family arrived today.
242835.pdf

Which firmware PR should I test now?

@digant73
Copy link
Contributor Author

digant73 commented Nov 6, 2020

@oldman4U
Nice. Of course with that TFTs you MUST test this PR. It is the final version. Two keyboard color layouts configurable in Configuration.h. By default, the standard layout is available

@oldman4U
Copy link
Contributor

oldman4U commented Nov 6, 2020 via email

@StarNamer
Copy link

@digant73 I'm pleased you were able to merge my early work. It looks great. I've been using my 7x4 for a few weeks on my TFT35 with no trouble, and my quick hack simulating your 7x4+abc/del/space/back seems to be completely OK this week (despite my color errors) so would expect yours to be fine.

We had a major new system go live at work this week, so as expected, I didn't get a chance to do any more code fixing, just running a few prints, but I'm glad you found time to implement it. I, too, would like to see if there's anyone using a TFT70 who can test that layout and see if it's OK; since it has space for 10 keys across, I did wonder about putting 1 to 9 and 0 on one row then arranging the letters in a QWERTY layout, but for most users, alphabetic is probably better.

There was one issue I noticed. While running a print from Octoprint which was displaying ETA and ETL messages every 10 seconds, I switched the TFT to terminal mode and clicked Send (no command) which switched it to monitoring the output (this is a useful, if possibly unintended, feature). I then left it for some time receiving output, and when I looked, the page count had gone negative. I reproduced this with a constructed GCode script for a very small model which output every command with M117 before executing it. I haven't looked if this is a simple issue and, of course, it may just be my variant. I hope to find time to download your updated version soon and try that.

Once again, good job. I'm impressed.

20201108_005955 (2) (1118 x 768)

@digant73
Copy link
Contributor Author

digant73 commented Nov 8, 2020

@StarNamer
Thanks for the feedback. The problem with the negative page numbers should be solved now.
Also the QWERTY layout is now available for the 7" TFT.

@oldman4U
Copy link
Contributor

oldman4U commented Nov 8, 2020

Aha. Wanted to send a before - after, but it is already outdated firmware;-)

IMG_7419
IMG_7420

Great work!

@bigtreetech bigtreetech merged commit 7fa9a10 into bigtreetech:master Nov 10, 2020
delwinbest added a commit to delwinbest/BIGTREETECH-TouchScreenFirmware that referenced this pull request Nov 21, 2020
* master: (114 commits)
  Avoid marking coordinate as unknown when parsing a M18/M84 S<timeout> (bigtreetech#1243)
  Update language_ru.h (bigtreetech#1261)
  MKS_TFT_28 as own compile target (bigtreetech#1246)
  Bootloader for display TFT50 V3.0 (bigtreetech#1101)
  Update Hungarian Language (bigtreetech#1247)
  Temperature update when printing from onboard SD, M155 instead of M105 for query temperature (bigtreetech#1244)
  Added a way to make a manual input to screen showing a value ( Temp, flow , speed etc...) (bigtreetech#1104)
  Improved Terminal menu based on TFT size and resolution (bigtreetech#1231)
  Add support for Home Offset (bigtreetech#1198)
  Add support to be able to control case light (bigtreetech#1214)
  improved Terminal menu (bigtreetech#1227)
  Language pack auto-generate script (bigtreetech#1215)
  Update French Translation (bigtreetech#1216)
  Update language_de.h (bigtreetech#1219)
  Fixed compiler warnings (bigtreetech#1220)
  Update language_ru.h (bigtreetech#1221)
  Update language_ru.ini (bigtreetech#1222)
  Update language CZ (bigtreetech#1223)
  sync upsteam branch (bigtreetech#1171)
  Fix to display M117 messages in info area (bigtreetech#1189)
  ...

# Conflicts:
#	platformio.ini
@digant73 digant73 deleted the bugfix-2020-11-05 branch May 31, 2021 14:11
jeffeb3 pushed a commit to V1EngineeringInc/BIGTREETECH-TouchScreenFirmware that referenced this pull request Nov 10, 2021
…1231)

* Improved Terminal menu based on TFT size and resolution (based on PR bigtreetech#1191
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FR] In Terminal, move the letter F from the ABC page to 123 page
5 participants