-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Update icons, Fix ABL G-code sending on mode change, Fix text overlap in update screen, Move language translations to SPI flash to reduce main memory usage, Fix other Issues/Bugs #1138
Conversation
Why do you change some icons like eeprom_reset, eeprom_restore etc ? They are already very well like that... |
@guruathwal I'm finishing the Mesh Editor but I see some overlaps of menus. I will attach some screenshots this evening. The problem is that the Mesh Editor GUI is not the standard menu (with 8 icons). In the main loop of the mesh editor I use the loopBackEnd() function instead of the loopProcess(). This is due to avoid the notification bar/temperature bar on top of the display. However some information are still displayed on the top (such as the bullet on the right or the message "busy....). In your PR you mentioned you fixed text overlap. Is that fix a solution also for my problem with the custom menu? |
@digant73 he did fix the overlap in the messagescreen that tells the user he needs to update the fonts, icons and or config.ini It's fixed in the code. It's now placing the fonts according to the font height ;-) |
Looks good! |
@digant73 Looks Great, when will you make a PR for it? Seems like you'r pretty good at this stuff... Could you mabye look at a GUI for Tramming Assistant also? :-D |
@discip @digant73 I would not recommend disabling the 'busy' icon and other similar system notifications. |
@guruathwal |
@guruathwal I agrre to allow displaying those kind of info (busy indicator, notification etc...). For that reason I asked you if it is possible to make some changes in the window handling to support redrawing of "custom" menu (a menu not using menuDrawPage() to redraw the menu) such as Numpad and now my mesh editor. About the GUI, there is also a standard menu to fine tune the Z height of the selected item in the grid (that menu is opened clicking in the "value" box). The size of the buttons and text is pretty good IMHO. To solve the artefact problem, it should be enough that after an infiormation dispalyed on the top bar, or any displayed popup dialog, has to be cleared then a redraw of the current menu is performed. That redraw seems missing now. EDIT: I also made some fixes on MBL menu etc... Those will be included in my next PR. So if you found some problems on MBL menu, no need to waste time on that |
it's under testing, Just making some optimizations and cleaning here and there. Some days and it should be available. However, the main problem is that the FLASH space for some TFT variants (all the STM32F2xxx) is reached (it's 256K - 32K). For that variants the compilation fails. The workaround is to change the limit to 256K - 28K (as it is on all the other variants). hmm no, currently I don't have other work plans after this PR. |
@guruathwal |
@guruathwal thanks |
@digant73 The changes you are suggesting are already available in the source BIGTREETECH-TouchScreenFirmware/TFT/src/User/API/menu.c Lines 278 to 286 in 4f2c665
You need to study the |
@guruathwal while in SendGcode and in the Mesh Editor the standard loop is used: while(infoMenu.menu[infoMenu.cur] == menuSendGcode) while (infoMenu.menu[infoMenu.cur] == menuMeshEditor) giving the possibility to an external entity (e.g. loopProcess, loopBackEnd etc...) to put on top of the menu queue another menu forcing the Mesh Editor to temporary exit and giving the control to the new menu. The Mesh Editor menu should be resumed (reloaded) by the menu handler once the menu put on top of the queue is closed (or expired in case of a toast, busy indicator etc...) but this is not happening. It seems that not all info displayed in the top bar are based on the use of menu handler. As far as I remember, popups are based on menu queue but the info temporary displayed on the title bar area does not rely on that. All the temporary displayed info in the title bar should also rely on menu queue or it should be possible to register a redraw callback that will be called by all the modules not relying on menu queue. Once the info displayed by those modules (e.g. toast notify) has to be cleared, the registerd callback is invoked to redraw the underlying menu. |
@digant73 |
@guruathwal |
@guruathwal Good idea using a ini file for languages. I don't know if anyone would agree, but I think it's easier, for the end user, to put every language.ini in a folder for the language and copy the one you need. (Instead of renaming the language_xx.ini into language.ini) So example:
|
Possible to fix also M177 message in parceACK like in this post ? |
just some bugs and improvements. bugs:
improvements (to avoid possible causes of random bugs):
EDIT: about the freeze during configuration update I verified that:
|
This can be fixed.
I am unable to reproduce this as it is working as expected in two different devices I have.
It is already initialized in flashStore.c and should never be initialized anywhere else. The config is read after loading the settings.
This feature is related to switching on/off the power supply/printer. It is independent of the |
I see you merged my settings.c, .h. Just to align everything in the project, I would also align flashStore.c to Config and settings. Just a cleanup, not a bug. |
@guruathwal If you are already redesigning the system like this, take a look at setting the number of extruders. In the Configuration.h and config.ini file, I can set the number of extruders, but the parameter is overwritten by the detected value found from Marlin. |
This adjustment is not good. |
This reverts commit b3cc0d2.
@radek8 I Iooked into the marlin firmware and the extruder count is actual extruder count setup up by the user and is not calculated/derived from anything. I do not have this type of setup, so I need more time to resolve it. |
OK, leave it as it is. It's functional. |
Add encoder active signal to disable/enable encoder read in marlin
Compilation is an issue added by this PR TFT\src\User\API\LCD_Encoder.c: In function 'HW_EncActiveSignalInit': |
… in update screen, Move language translations to SPI flash to reduce main memory usage, Fix other Issues/Bugs (bigtreetech#1138) * update icons and fix ABL gcode sending on mode change * fix value step button in heat menu * Update Settings.c * change ABL/UBL detection * move language definitions to SPI flash * update * convert language translations to ini files and complete language update code * cleanup * improve language file search and loading * Fix click on blank listitem * fix wrong update notification * minor cleanup * more fixes * Fix blank update screen and ABL detection * clean BedLeveling.c * Update UnifiedMove.c * remove unnecessary variable * Update parseACK.c * remove duplicate leveling state variable * improve menu handling * fix menu swithing if printing in marlin mode * Update Printing.c * Update SendGcode.c * add option change default primary language in configuration.h * update * Update parseACK.c * update language_xx.ini in release folders * fix wrong extruder count for mixing hotend * Revert "fix wrong extruder count for mixing hotend" This reverts commit b3cc0d2. * misc fixes * Add encoder active signal Add encoder active signal to disable/enable encoder read in marlin * Fix build errors
Just wondering (maybe this is not important)... |
… in update screen, Move language translations to SPI flash to reduce main memory usage, Fix other Issues/Bugs (bigtreetech#1138) * update icons and fix ABL gcode sending on mode change * fix value step button in heat menu * Update Settings.c * change ABL/UBL detection * move language definitions to SPI flash * update * convert language translations to ini files and complete language update code * cleanup * improve language file search and loading * Fix click on blank listitem * fix wrong update notification * minor cleanup * more fixes * Fix blank update screen and ABL detection * clean BedLeveling.c * Update UnifiedMove.c * remove unnecessary variable * Update parseACK.c * remove duplicate leveling state variable * improve menu handling * fix menu swithing if printing in marlin mode * Update Printing.c * Update SendGcode.c * add option change default primary language in configuration.h * update * Update parseACK.c * update language_xx.ini in release folders * fix wrong extruder count for mixing hotend * Revert "fix wrong extruder count for mixing hotend" This reverts commit b3cc0d2. * misc fixes * Add encoder active signal Add encoder active signal to disable/enable encoder read in marlin * Fix build errors
language_xx.ini
file fromLanguage Packs
folder to the SD card rootand rename it toand press reset button.language.ini
Fix wrong extruder count in case of mixing extruder.Resolves #365, resolves #1058, resolves #1176