-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
[RFC] Organization of Extensible UI #13201
Comments
Please use your existing fork of Marlin and make a new branch. Be sure to update your fork's copy of |
I guess the question stems more with how to handle examples for EXTui. Should the lib folder be placed in the machine example configuration with configuration and configuration_adv or should the EXTui chunks be managed in a separate repository to avoid growing size. Which also brings up a question, should the config dir with default and examples be moved up above or into the Marlin folder for better visibility to end users? |
ExtUI-based devices should be adaptable to any machine with enough free pins, and should not be associated with configurations. I do believe they should live within the
Probably, I have been considering it, since they are not part of the actually-compiled sources. |
FWIW we have several extui screens in the main code base now... Seems to have migrated away from this discussion a bit. I still have a long term concern for maintainability. |
@InsanityAutomation: Can you point me to the code for such screens? Just curious... |
In head we heave //============================================================================= // // And working mostly but needing another maybe 3-4 days dedicated work before ready to submit https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin_2.0 Note itll take awhile to get those dedicated days... |
It seems like most of these are relative small, about 2k lines of code max. Our UI is a behemoth in comparison, weighing in at 16k LOCs. |
It looks like most of these UIs off-load most of the actual work to a separate processor, with its own FW that draws the graphics and handles interaction. Ours is maybe the only one where the MCU itself is drawing the contents of the UI and handling the event loop, which is what makes it so large. Still, if these other screens are making it into the source tree, I feel like ours should as well... |
Right, mine is bigger than these as well but the same DGUS hardware as the first above. I agree with youre statement there of they should be managed the same way yours is. Either in the machine example configs, seperate repo of Extui Libraries, or least optimal IMO in the main source. Consistency regardless. |
It also looks like the Malyan LCD is using some methods of the thermalManager, rather than using the abstraction provided by ExtUI. This is something I worried would happen, as there is nothing preventing folks from calling the underlying code. |
@InsanityAutomation: So it looks like there isn't very much consistency about where the source code for the various displays are stored. Right now, here's where things are located:
Maybe it would make more sense to have subdirectories under extensible_ui, one for each display:
|
I would agree with that placement as the second best choice aside from the example configurations. |
Originally it was all internal and @thinkyhead converted it over. Seems some slipped through the cracks. Ill add it to my list to review the converted ones at some point. |
@boelle @shitcreek The decision was made and theyre merged in the main branch, this can be closed. |
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. |
@thinkyhead: Currently, the FTDI Touch Screen UI code is housed on the LulzBot code repo, where it is integrated into our FW. In order to make it more accessible for folks who may want to use it as part of Marlin for other printers, I think it makes sense for there to be a separate repo under the "MarlinFirmware" header.
Would it be possible for there to be such a repo added? And if so, could I be made a maintainer for it? If such a repo was available, I would keep the repo in sync with modifications made to our own FW and I could also add more documentation to it, and possibly address some of the concerns raised in #12096 (comment)
Thoughts?
The text was updated successfully, but these errors were encountered: