3
$\begingroup$

How would I go about editing the LCD menus for the touchscreen?

Oddly the ender5+ is supposed to be an upgrade but the ender5 (regular) has so much more stuff you can control from the lcd screen. Flow control, PID tuning, etc.

With my ender 3 is was pretty easy- you simply edit the ultralcd.cpp, you can then add your own menus and commands.

On the Ender 5+ and the CR-10S pro I'm guessing the touchscreen has its own set of firmware files- I am guessing this because I found a set of files for the touchscreen- different color screens and such, but they do not include any uncompiled files nor does the marlin firmware for the CR-10 have any mention of those image files in them.

So where do I go next? Thanks!

enter image description here enter image description here enter image description here

$\endgroup$
  • $\begingroup$ What are the specifications of the touchscreen? $\endgroup$ – 0scar Nov 25 '19 at 21:29
  • 2
    $\begingroup$ @0scar The Ender 5+ and CR-10s both got rid of the traditional LCD with the wheel in favor of the touchscreen; unfortunately it has a lot less functionality. I don't know where to find the specs, I got this printer from creality "official" website but they will not release specs on the boards in this printer, I already emailed them. Here is a pic of the board itself. $\endgroup$ – cds333 Nov 26 '19 at 14:45
  • 1
    $\begingroup$ I contacted Creality also, but they cannot or will not release the sources: "Sorry, we wouldn't recommend others modify our printers, and we don't have this kind of firmware, yet." I will keep investigating, I'd like to fiddle with touch screens myself one day. The only things I found were those you already linked in the question. $\endgroup$ – 0scar Nov 26 '19 at 15:53
1
$\begingroup$

I've been digging into the sources and from what I understand, it is not very easy to change the menus, you should possess some programming skills to change it. It appears that the screen is operating on its own firmware and the board is running a special fork from Marlin.

The screen is identified in code by constant CREALITY_DWIN. It appears that the screen receives/uses precreated images (from this download you find these screen captures). The code references the bitmaps by a number and a base number (ExchangePageBase). E.g. codeline:

RTS_SndData(ExchangePageBase + 78, ExchangepageAddr);

sends this image:

English screen shot <code>78_E_no_filement1.bmp</code>

The specific code is found in this specific fork of Marlin in files Creality_DWIN.cpp and Creality_DWIN.h.

In order to make your own menu item, you need to add code to send new bitmaps and retrieve the touched position.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Awesome! As usual you are a big help! I really should have taken a minute to read the list of files in the firmware, I would have seen the DWIN in the filename lol $\endgroup$ – cds333 Nov 28 '19 at 7:26
  • $\begingroup$ It appears from watching a YT video, that to upgrade the firmware to the touchscreen one need only upload the DWIN_SET folder via SD card to the screen board. There was no mention of uploading a HEX file; there are 5 BIN files in the dwin folder, including one files that contains 128kb of null and then the words "diven technology" in chinese. I don't think those files are firmware (maybe you can confirm?). So correct me if Im wrong- but it would appear that all the actual code for the operation of the touchscreen is in the firmware on the mainboard, and there aren't separate fw screen files. $\endgroup$ – cds333 Nov 28 '19 at 7:27
  • $\begingroup$ @cds333 I'm not so sure about that, I've seen a video of someone explicitly updating the firmware with the SD card slot on the touch screen. Not owning a 5+ it is difficult to try out. If I would buy a generic touch screen to test, this may not be applicable to your screen. Note that only uploading the graphics files wouldn't be enough, you also need to prepare the sources to load them, so it could be that an update of the screen itself is not needed. $\endgroup$ – 0scar Nov 28 '19 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.