andrivet / ADVi3pp

ADVi3++, an alternative and better firmware for Wanhao i3 Plus printers and clones. Fork of Marlin Firmware.
https://community.advi3pp.com
GNU General Public License v3.0
244 stars 119 forks source link

new EXTENSIBLE_UI API for Marlin 2.0 #178

Closed marcio-ao closed 4 years ago

marcio-ao commented 6 years ago

Hello,

I just recently became aware of the work you are doing and I really like the user interface you came up with! It looks really nice!

So I have been doing some work to standardize an API for Marlin to make it easy for people to write C++ code for custom touch user interfaces. The API at the moment consists of a few callbacks from Marlin, as well as several getter and setter methods for things that an UI may want to modify in Marlin.

If you ever get a chance, I would welcome any feedback on this API and whether this would be anything that would be useful to you. The hope is that by having a standard API, it would make it easier for developers to maintain their own UI code without having to deal with changes in upstream Marlin that would break their work.

The proposed API is called "EXTENSIBLE_UI" and the code is here. To use it, a developer would need to do the following steps:

We are planning to using this API in our own open-source printers, but I would definitely welcome any feedback from other developers working on similar projects!

Thank you!

-- Marcio

andrivet commented 6 years ago

Change the title to make it a issue (enhancement). Will look at it when porting ADVi3++ to Marlin 2.0

diver197 commented 4 years ago

Did you know that it is not possible to use dwin dgus display directly, and all data must be converted through OS once before UI display

andrivet commented 4 years ago

@diver197 No idea of what you are talking about. Can you explain?

diver197 commented 4 years ago

Dwin dgus is composed of OS and UI. The open source part is only the UI and Marlin part. The OS part needs to be developed

andrivet commented 4 years ago

There is no need to develop the "OS part". This printer is using Mini DGUS, not DGUS

andrivet commented 4 years ago

@marcio-ao Just for information, I am currently porting ADVi3++ to Marlin 2 and yes, I am using as much as possible ExtUI. Some callbacks are missing for my port but I think they can be profitable for all, so I may send some PR to the Marlin upstream repository. I am waiting to have a stable version before doing that.

ShenRen commented 4 years ago

That sounds great. I'm really looking forward to your project

andrivet commented 4 years ago

Implemented in upcoming version 5