Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
NOTE: These kernel files are not required, unless you are having problems resulting from having inadvertently overwritten the DGUS2 kernel for which your display was last calibrated.
Create an EMPTY folder at the root directory of an EMPTY micro SD card.
Ensure that your printer power is OFF
Place that SD card in your display and cycle power ON
The top line of the display will report which version of DGUS2 is currently flashed .
Make note of which DGUS version is currently flashed to your display hardware (see top line on display)
Take care to follow the applicable instructions below.
STEP 2:
Copy T5L_UI_DGUS2_V45_20220105.BIN to the DWIN_SET folder created at step 1 above, and flash that to your display.
Verify that the top line on the blue flash screen is now overwritten in red confirming that DGUS2 v4.5 is flashed
Optionally repeat step 1 with an empty DWIN_SET folder, to confirm v4.5 is now the DGUS2 OS
STEP 2:
Copy T5L_UI_DGUS2_V35_20200730.BIN to the DWIN_SET folder created at step 1 above, and flash that to your display.
Verify that the top line on the blue flash screen is now overwritten in red confirming that DGUS2 v3.5 is flashed
Optionally repeat step 1 with an empty DWIN_SET folder, to confirm v3.5 is now the DGUS2 OS
The top line of the blue boot screen always identifies the current DGUS2 OS in white text.
If the DWIN_SET folder being flashed contains a DGUS kernel BIN file, the top line is overwritten in RED text, reporting the version that has been flashed.
If the two lines are different, it may be difficult to read either line.
If the two lines are identical, the current DWIN_SET folder has reflashed the same kernel to the display.
NOTE: If you have already successfully flashed your system by following the instructions in the README.MD file, then you do not need to read this file.
These instructions are offered for use by those who were not able to succeed at flashing this DWIN_SET to their display by following the instructions in the repo README.
The end goal of the flashing process documented herein is to install version 1.1 of the DWIN_SET application Re-Factored from the original Community Firmware 6.1 Final DWIN_SET, to run on all versions of DGUS2.
When you have successfully achieved that goal, your screen will look like this:
RECOMMENDED PRACTICES:
Always Start this process a BLANK SD Card, when copying a new DWIN_SET folder and/or contents to the SD Card!
ALWAYS Power-Off the printer, before removing or installing a card from the display!
Be VERY careful that you don't short out the touch screen when flashing it.
Ensure the power is not interrupted while flashing.
Seriously consider installing a micro-SD to SD card extension cable, permanently plugged into the display micro SD card slot
This minimizes the stress on what may be a very delicate card slot
It also eliminates the need to remove the back cover (and the serial interface harness), which speeds up the process considerably and eliminates the potential risk of damaging the PCB while the back cover is off.
Partition and format a micro SD card, per the detailed SD card formatting instructions.
Alternatively, if you are using a micro SD to full SD extension cable, you can prepare a full sized SD card.
Take the firmware archive and extract the DWIN_SET folder to the SD card, so that the DWIN_SET folder itself is present on the SD card. Optionally, you can delete all of the bitmap (.bmp) files from DWIN_SET.
Review the Examples below and follow either Option 1 or Option 2.
Option 1 is the quickest, if it works
Option 2 is more methodical and more consistent with the flashing practices recommended by DWIN. e.g.: It may help you succeed if you flash the T5L CFG file all by itself, before trying to flash the other files.
To flash the display from the SD card:
Power OFF the printer
Access the SD card slot on the back of the display (involves removing the back cover off the display or using a micro SD to full (or to micro) SD extension cable)
Insert an SD card containing the DWIN_SET files to be flashed
Power ON the printer
Wait for END! to display
Power OFF the printer
Remove the SD card
If not finished, delete or empty the DWIN_SET folder on the card, then copy the next DWIN_SET folder/files to a blank SD card and repeat the above steps, starting with "Power OFF the printer"
If finished, Power ON the printer
Verify (per the Examples below) that the flash has been successful
If the motherboard was also flashed correctly before starting this process, then after restarting the printer the Re-Factored Version 1.1 Splash Screen will display, followed by the Main Menu screen, as shown in "Begin with the End in Mind" above and in the Examples below.
IF your system has NOT flashed correctly, proceed to the Troubleshooting section below.
NB: If you decide to follow a video to clarify these instructions, please note: NONE of those YouTubers was flashing this version of the firmware, so they may provide instructions that DO NOT APPLY to this installation!
The flash process is completed when you see "END!", as shown in the Examples below. Note that there are also several lines below END!, each showing the number of files flashed to the display, listed by file suffix (there must be non-zero numbers displayed, as shown in the Examples.)
If - as recommended - you flash this firmware without including any kernel upgrade file in the DWIN_SET folder, then the top line will report the currently active version of DGUS on the display, written in white text.
What if I also flashed a DGUS2 kernel file?
If this is the first time you have flashed the required version of the DGUS OS, then the top line on the screen will name that version of DGUS2 in red text, written over top of white text naming the DGUS version that has been overwritten (upgraded.)
If you flash the display with the same DGUS kernel file that is already installed, the top line will again be in red text, but more easily read, since it will overwrite the same text written in white.
If you get an orange screen, flashing did not succeed.
If you get a blue screen with END!, but the numbers of the updated files only showing "0", flashing did not succeed. Check the examples further down in this document for more information.
If, after rebooting the printer, a message is shown about "TFT version mismatch", then flashing was not successful.
if, after rebooting the printer, a message is shown about "Firmware flashed incorrectly" then your screen firmware might be flashed but your motherboard ignored the firmware update. You need to re-attempt flashing the motherboard. This sometimes happens on Creality v4.5.2/v4.5.3 boards - reformat your SD card and rename the ".bin" file of the motherboard firmware to something like "today.bin" or "1.bin" and retry.
NOTE We have observed with at least one user that even though the file counts were correct, the firmware still was not flashed correctly.
Some users have also used cards that work sometimes but not other times, which can be very confusing.
If you observe no issues with the firmware flashing but there are still elements missing on the touch screen, please try a different SD card, a smaller SD card and partition etc.
If the touchscreen looks right after flashing but does not respond when you tap the menu buttons on the screen, then you may have an incompatible combination of firmware, DGUS2 kernel version and display hardware. Try flashing again with the other kernel upgrade file, per the instructions in the DGUS2 kernel files README. (Make sure there is only the one kernel file in the DWIN_SET folder.)
NB: This section assumes that you have already flashed CF6.1 to the Motherboard, BEFORE you try to flash the Re-Factored DWIN_SET to the display. If instead you choose to flash the motherboard AFTER flashing the display, you will NOT see "CR6Comm-Rel6.1 Final Ready." after flashing the display, until you have also flashed the motherboard. You will instead likely see the splash screen message with the "bootloader seems confused" message. In that event, just proceed with flashing the motherboard.
The blue screen displays differ between DGUS2v3.5 and DGUS2v4.5.
If you have DGUS2 v4.5 installed, there will be one additional status line on the blue flash END! screen for CRC32 Check, which you can ignore, as shown here:
SD Card Requirements
You must use a micro SD card to flash DWIN_SET to the display (or an SD card in an SD to micro SD card extension cable).
The display bootloader program imposes the following mandatory requirements on the SD card you use:
Partitioning must be:
Master Boot Record (MBR)
Primary (not Logical) Partition
NOTE: If using a MAC, this is probably called DOS partitioning (vs GPT)
NOTE: If there are multiple partitions on your card, the display will only "see" the first one!
CAUTION: If a card has been partitioned multiple times and/or some partitions have been deleted, the boot loader may become unable to read the partition containing DWIN_SET. Try deleting all partitionss from the card and starting again, with just one Primary MBR 8Gb(or smaller) partition
Formatting must be:
FAT32
4096 allocation units per sector
A NOTE About SD/HC/XC
This DWIN display seems to have difficulty reading XC cards, even if they are particioned smaller, so it is best to try to use SD cards which are 8Gb or smaller. If you can not find smaller cards, HC cards (16Gb or 32Gb) may work.
Option 1: Flash All of the Files At Once
Copy the DWIN_SET folder as-is, from the ZIP file to a blank SD card. dwin-folder-on-sd-card.png shows the DWIN_SET folder and files as they should be on your SD card, if you plan to flash them all at once:
If this bothers you, you may prefer to follow Option 2 to flash your screen...
Option 2, Part 1 of 3: Flash the CFG File Separately, First
The CFG file configures your display. It is critical that the flashing of that particular file NOT be interrupted, since an incomplete flash may brick your display. You only need to flash it once, so you may want to _flash it by itself, before flashing anything else.
Create an empty DWIN_SET folder alone on the SD card, and copy just the CFG file into that. It should look like this:_
With power OFF, insert that card into the display and power ON to flash it.
On DGUS2 v3.5 - If flashing just the CFG file is successful, the screen will show this, pretty quickly:
You might see the usual blue screen display briefly before this noise replaces it. If you remove the CFG file and flash again, you will see the proper blue screen display (though it will show 000 for Configuration Files flashed, of course.)
Option 2, Part 2 of 3: Flash the HZK File Separately, Second
Flashing the HZK file loads the font data. It is a large file, so it takes a long time to flash. Since the HZK file only needs to be flashed once, and since you may need to flash your display several times with other files, you may prefer to remove the HZK file from the default DWIN_SET folder and flash it once, by itself, after flashing the T5L file and before flashing everything else.
As above, create an empty DWIN_SET folder alone on the card. Copy the HZK file into that. It should look like this:
With power OFF, insert that card into the display and power ON to flash it.
On DGUS2 v4.5: If flashing just the HZK file is successful, the screen will show this afer a minute or two:
Option 2, Part 3 of 3: Flash the rest of the files
Once the CFG and HZK files have been flashed, you can remove those two files from the default DWIN_SET folder that you copy to your SD card. The resulting card should look like this:
NOTE: DWIN_SET as distributed in the zip file also contains a large collection of .bmp files. You can either delete or ignore all of those. They are there for the convenience of developers only and are ignored by the display bootloader.
With power OFF, insert that card into the display and power ON to flash it.
NOTE You can also choose to flash any combination of the above files alone or in combination. The display will only work correctly after all of the files have been successfully flashed to it.
In the previous section, we showed you what to expect on the blue screen, while flashing.
"If your attempts at flashing do NOT result in the blue screen as shown, then proceed to the Troubleshooting section, below.
Otherwise, when you have completed flashing all of the DWIN_SET files to the display, you should Power OFF, remove the SD Card, and Power ON.
The display screen should first load this "splash screen", and the progress bar should fill from left to right,...
NOTE: IF, instead, the Splash Screen looks like this, a minute or so after powering-up, then proceed to Troubleshooting, below:
There are several possible root causes for this failure, but the bottom line is that the bootloader is not able to find any of the files it tries to flash, in the DWIN_SET folder on the card. It does, however, see the card and the DWIN_SET folder.
Verify that
the DWIN_SET folder is not empty, when viewed on your PC/MAC
there is only one partition on the card, and it is a Primary MBR partition.
that one partition is formatted FAT32, 4096 allocation units per sector
there are no bad sectors on the card, when you perform a surface test on the card, using your PC/MAC.
there are no other contents on the SD card, except for the DWIN_SET folder and its contents
Try flashing just one file at a time in the DWIN_SET folder, starting with CFG, then HZK, then each of the other files.
if this works for some files but not for one or more of the others, those unzipped files may be corrupted. Try replacing those files from a fresh download of the zip file.
What you are looking at is whatever remains in the display's memory, which has not yet been overwritten by the flashing process (or you are flashing from the wrong DWIN_SET folder)
Verify that you are working with the correct DWIN_SET .zip file and try again to flash per the above instructions.
IF the motherboard has already been flashed with CF6.1, then you will likely also see the nozzle LED flashing and hear a beeping from the motherboard, when you power-up and CF6.1 can not find a compatible version of DWIN_SET on the display.
Verify that the display flash screen matches the example.
Verify that the serial cable to the display is not damaged.
One or more of the files flashed to the display may have been corrupted.
Try reflashing the firmware using a different SD card.
Try downloading a fresh copy of the DWIN_SET zip file and unpack it to a different location than last time
If, alternatively, one or more memory location in the display is faulty, you will need to replace the display.
The motherboard must be flashed with CF6.1 and the display with Re-Factored DWIN_SET version 1.1, before the display and the printer will show the Main Menu screen with the message "CR6Comm-Rel6.1 Final Ready."
NOTE: This is why it was STEP 1 of the README recommendations to identify which DGUS2 was running on your hardware before you started flashing anything.
If you inadvertently flashed your display with DGUS2 v3.5, but your display was factory-calibrated for DGUS v4.5, the screen is likely to be non-responsive. Try flashing it back to v4.5 (per the README in the kernel upgrades folder).
If you inadvertently flashed your display with DGUS2 v4.5, but your display was factory-calibrated for DGUS v3.5, the screen is likely to be non-responsive. Try flashing it back to v3.5.
The touch screen is very picky when it comes to SD cards, partitioning and partition sizes.
SD, SDHC and SDXC cards will all work with the display, but:
the card must be partitioned to the Master Boot Record (MBR) standard, not GPT
the first partition must be a Primary Partition, formatted FAT32 with an allocation unit size of 4096 sectors. To achieve that FAT32 format with an SDHC or SDXC card, the first Primary Partition must be sized <16GB. (NOTE: 16Gb is actually the threshold value. You may need to size your partition to 15Gb, to be able to select 4096 as your option in the PC OS.)
the display does seem to favour the older technology cards.XC cards in particular may not always work with it.
This YouTube video explains and demonstrates how to prepare SDHC or SDXC cards: https://youtu.be/CEvQpMpNxbY
When all else fails, try a different SD card
Check this video tutorial playlist on YouTube: https://www.youtube.com/watch?v=Q6738aiEKkU&list=PLfDSKnF0RNcYDkxM5m�
Sometimes, the problem may be how we say things, rather than what we have said. Maybe we were more clear when we wrote the FAQs?: https://github.com/CR6Community/Marlin/wiki/How-To-Flash-Firmware-to-the-CR6-printer
Except (perhaps) for the name and disc number, the result will look like this:
On DGUS2 v3.5: If you successfully flash all of the DWIN_SET files at once, the display will look like this:
On DGUS2v4.5: Any time you flash a set of files that includes the T5L...CFG file, the process ends in a colourful screen of noise, like this:
On DGUS2 v4.5 - For some reason, this step ends in this colourful noise screen, whenever you flash the CFG file:
On DGUS2v3.5: If flashing just the HZK file is successful, the screen will show this afer a minute or two:
On DGUS2 v3.5: If flashing is successful, the screen will show this afer a minute or two:
On DGUS2 v4.5: If flashing is successful, the screen will show this afer a minute or two:
... then the screen should switch to this main menu screen:
Users are often unsure whether to flash the motherboard or the display first. When they see this "Bootloader may be confused" message appear on the screen, some think it is referring to the display bootloader and display SD card. That message actually refers to the motherboard bootloader and card, assuming that the display was flashed first.
One of the most frequent (and frustrating) problems users have when flashing firmware to a CR6 printer is that the bootloader routines are VERY PICKY about what kind of SD Media they will work with. This file documents the critical factors and the processes most likely to help you succeed.
You can IGNORE this file, if you flash successfully.
FOLLOW IT VERY CAREFULLY, if you can NOT flash the firmware (especially the DWIN_SET firmware!)
You can use the Windows File Explorer to format 16GB cards or smaller, to FAT32, 4096.
The partition is too large. You can either use a smaller SD card or you can shrink or split the partition in Disk Manager.
NOTE: Disk Manager can only shrink volumes which are formatted NTFS. If the card is already formatted FAT32 with the wrong allocation unit size, you can use Disk Manager to:
Format the card back to NTFS
Shrink or Split the volume, so that the first Primary Partition is smaller than 16GB
Format the first Primary Partition on the card to FAT32, 4096
The printer will not be able to read the card, until you create a Primary Partition as the first partition on that card.
If there is Unallocated Space on the card, to the left of the Logical Partition, right click on that space and select Create New Volume. Use the Wizard to create a new Primary Partition in that space. Format that new partition FAT32, 4096.
If there is no Unallocated Space to the left of the Logical Partition, you can try right-clicking that partition and shrinking that volume to create unallocated space. (NOTE that a partition must be formatted NTFS, to be able to shrink it)
If you are not able to create a Primary Partition on that card, you may need to delete the volume on which the Logical Partition(s) exist.
Be aware that Disk Manager may not be able to read an SD card that has NO volumes on it. If you delete all volumes on the card and Disk Manager is no longer able to launch the Create New Volume Wizard for that card, you may need to use a commercial Disk Partitioning software to recover the card.
Alternatively, you may find that a digital camera or an alternative (eg. Linux or Mac) system can reformat the card for you.
The SD-card should be formatted FAT32 with 4096 cluster size, with only one partition on the card, starting at sector 8192. The partion should be of type b, "W95 FAT32". Partition table type GPT does not work. The card must be partitioned as MBR, so choose type DOS.
Commands:
In fdisk:
On the command line:
For touchscreen firmware:
First, unmount the SDCard.
Then, format it
To figure out what your SDCard path is, you can use the following command:
It'll list all drives attached to your computer. Look for an entry that matches your SDCard size.
The June 2021 release of the CF6.1 Touchscreen firmware remains valid for use on all CR6 printers currently already running and calibrated for DGUS2 v3.5.
If you have a BTT SKR board with the BTT TFT you do not need this firmware. This firmware is only for when you use the stock Creality DWIN TFT display with the stock or BTT motherboard.
If your DWIN display is flashed with DGUS2 v4.5 or higher, THIS IS YOUR ONLY OPTION for running CF6.1 on your CR6 printer (unless you wish to recalibrate your touchscreen to work with DGUS2 v3.5... See the README in the folder containing the DGUS2 Kernel files.)
The original June 2021 CF6.1 DWIN_SET will ONLY run on displays using DGUS2 v3.5. As of approximately December 2021, Creality started shipping displays flashed and calibrated with DGUS2 v4.5. DGUS2 v4.5 and higher require a different touchscreen calibration than prior DGUS2 versions. CF6.1 users who flashed those new displays started having one of two serious problems:
If they flashed the Kernel Upgrade files to their displays, then the push buttons on the main menu did not respond to touch (because the touchscreen was not calibrated for DGUS2 v3.5)
If they did NOT flash the Kernel Upgrade files (What? Not everybody follows the Readme instructions?!?), their screens came up blank, because the June 2021 version of CF6.1 DWIN_SET ONLY runs on DGUS2 v3.5.
That issue left some new CF6.1 users "snookered" and often led to other issues as they tried to revert to stock and could not make that work either (if they had flashed the kernel upgrade files.)
This Re-Factored version of DWIN_SET was recreated from the June2021 release of the CF6.1 Touchscreen Firmware, in a different version of the DGUSTools. It will run on ALL versions of DGUS2, regardless of the touchscreen calibration, AS LONG AS YOU DO NOT FLASH DGUS2 KERNEL FILES TO THE DISPLAY THAT ARE INCOMPATIBLE WITH THE TOUCHSCREEN CALIBRATION. (See the README in the folder containing the DGUS2 Kernel files.)
NOTE: Text kerning does NOT work correctly on DGUS2 v1.x, so although this DWIN_SET can be used on Kickstarter CR6 machines still running DGUS2 v1.4, some data will not fit neatly into their display fields, unless you upgrade the DGUS2 with the DGUS2 v3.5 kernel upgrade file provided.
To find out which version of DGUS2 is running on your display, "flash" your display with a micro SD card that contains ONLY an EMPTY folder named DWIN_SET. The top line on the blue flash screen will display the DGUS2 version currently installed.
When code is ready for users to experiment with, the Source and DWIN_SET zip files are posted as Assets in the Releases section of this repository.
The Zip file with DWIN_SET in the name contains the DWIN_SET folder, README and support files for the current release. Download that file from the latest Release's Assets list.
Zip files with "Source" in their name are the DGUS project and source files for this project. You do not need those files, unless you intend to try to fork and modify this version of the UI.
Download the applicable DWIN_SET .zip file from the latest Release's Assets list
Extract all contents from that .zip file into a new blank directory
Find and read ALL of the README files BEFORE attempting to flash your display (You'll be glad you did!)
Figure-out which DGUS 2 is presently running on your display (as explained above)
DO NOT FLASH ANY KERNEL FILES TO YOUR DISPLAY, unless: 5.1 You have inadvertently "bricked" your display by flashing the DGUS2 kernel upgrade files to a display calibrated for DGUS2 v4.5+ 5.2 Your display is running version 1.x of DGUS2, and you want to fix the text kerning (in which case, add the DGUS2 v3.5 kernel file to your DWIN_SET.)
Verify that you have satisfied all of the Pre-Requisites for flashing this firmware (Which you will know after reading the README files...)
Flash your display with the DWIN_SET folder
If anything went wrong, try the TROUBLESHOOTING.MD instructions
Please provide feedback in Comments or Issues, as applicable
If you wish to contribute to the project, please provide your inputs by raising a new Issue or by commenting on an Open Issue on this repository, and/or by contributing to the discussion on the CR6Community Discord #lcd-discussion channel
InsanityAutomation initiated the refactoring project. It is upon that work that Thinkersbluff has built this Release.
The core CR-6 Community firmware dev team did the heavy-lifting that resulted in the CF6.1 baseline.
Icons from Font Awesome and Remix Icon.
Font from Google Fonts and customized with FontForge.
CAUTION: THIS FILE IS OUT OF DATE. IT IS HERE TO PRESERVE KEY USEFUL INFO UNTIL THE REPLACEMENT DOCUMENTATION (CURRENTLY IN WIP) IS READY TO POST. - Thinkersbluff.
Internationalization support in DGUS DWIN is very cumbersome. The background images of each page has the text hardcoded. To translate and have it first-class, you would need to duplicate all the bmps, give it a separate ID, and maintain that mapping in firmware as well or make every label an icon, which is a lot of work. The development team has no capacity to maintain localizations.
If you like to translate the user interface to your own language, you must fork this repository and maintain your own version of the touch screen firmware.
The complete workflow would look like this:
Fork this repository.
Work on the extui branch (this is the branch for all work going forward)
In your fork, follow the steps in the images section of this file to change the current bitmaps and translate them. There are XCF files available as the source of these bitmaps, usable in Gimp, to make life easier but you can do what you want.
When we change something, it is up to you to replicate those screen changes. Therefore I recommend only to update the screen backgrounds and don't use the DWIN editor for anything other than for the purpose of generating the ICL file.
Translated touch screen builds are up to you to provide which would then need to be made from the same moment as we are releasing builds.
Good luck, and if you maintain your own translated firmware, please let us know!
You need the DGUS v8.2.1.14.x software for editing the touch screen.
You can open the .dgus project file in the src\DWIN
folder:
To build a firmware archive for distribution, use the build.cmd
script. It will do a sanity check and then zip the files to the build
folder.
For development you can run the build script as follows:
Where Q: is the path of your flash drive with the SD card.
You need to have Powershell Core installed (pwsh).
You can find the source files where the screen bitmaps are generated from in the /src/DWIN/DWIN_SOURCEimages_src
folder.
To update the BMP of a screen put the generated BMP file you made with your image editor in the src\DWIN\DWIN_SOURCE
folder.
Updating the touch screen firmware files
It will be picked up automatically by the build process of DWIN when saving or generating the project. However, the ICL file is what actually gets flashed. This is essentially a dictionary of concatenated compressed JFIF files.
Next, re-generate the 23_Screen.icl
ICL file are follows:
Things worthy of note:
Quality is set to 100%, followed by pressing the "Set all" button to apply it to each import file.
The DWIN_SOURCE
is used as a source for generating the ICL.
The ICL is saved twice: once in the DWIN_SOURCE
folder, once in the DWIN_SET
folder.
As you can note, you update it in both DWIN_SET
and DWIN_SOURCE
. The first is what goes to the touch screen, the latter is what the DWIN editor uses (apparently).
For icon ICL generation the process is the same, except that you pick the icons from a subdirectory of DWIN_SOURCE
.
DWIN uses a specific set-up of the flash space as described in the manual - as shown below.
Essentially what it boils down to:
The flash space is divided into 256KB sectors
The number prefix on the ICL/HZK/BIN file name is the sector number where the file is flashed
A sector can only contain a single file
A file can span over multiple sectors, and if a file needs 1½ sectors for instance, it will allocate 2 sectors.
There is no protection against sector overwriting: if you have files overlap sectors, DWIN will happily flash the next file over the previous file
So with the above in mind one must take care to make sure files do not overlap. When you flash everything to the touch screen you must ensure you've deleted the old (renumbered) ICL files from your SD card, otherwise weird things will happen. Background may go missing, etc.
During build a script will run to make sure no sectors have been overallocated. You can also run this script manually.
In the currently - cleaned up - source code of the touch screen handling in Marlin, the events of the touch screen are handled as described below. This may change in the future. This picture says it all:
For buttons:
Virtual Pointers for buttons are defined in extui/lib/dgus_creality/DGUSDisplayDef.h
In extui/lib/dgus_creality/DGUSDisplayDef.cpp
in the ListOfVP
the Virtual Pointer are connected to a callback handler
Because the Creality display used the same VP all over the place, sometimes in completely different functions or values (and this is quite some work to clean up!), these "legacy" VPs are delegated to DGUSCrealityDisplay_HandleReturnKeyEvent
For legacy VPs handlers are defined per page in extui/lib/dgus_creality/PageHandlers.cpp
The "Key Data" is used to distinguish between the actual key pressed and passed to these functions as buttonValue
For dynamic updatable values:
Dynamic updatable values are Virtual Pointers with a value that is pushed from the display when it is changed, and pushed to the display during the Marlin idle
loop
The Virtual Pointers are defined in extui/lib/dgus_creality/DGUSDisplayDef.h
Per dynamically updated virtual pointer there is in extui/lib/dgus_creality/DGUSDisplayDef.cpp
:
A registration in ListOfVP
, with:
The VP ID
A pointer to the memory location to read the value from in Marlin (can be nullptr
)
A callback that is triggered when the VP changed in the display and is pushed to firmware
A callback that is triggered to format the VP for transfer to the display. This is because strings need to be sent differently than floats, or if your VP does not point to a direct value in memory.
A mention in the specific VPList
for the current page as referenced in VPMap
. This is to optimize that we don't update VPs that are not displayed anyway.
Some values like the M117 text are transient and are pushed directly to the display, but are still present in the ListOfVP
Previous version of the code
If you like to see how the touch screen code is handled in the Creality firmware and the original Community Firmware release 3 and lower, please check the cf3-legacy branch. This branch is no longer maintained and only exists for historical purposes.
The touch screen configuration file "T5LCFG_272480.CFG" has its specification described in T5L_DGUSII Application Development Guide20200902.pdf chapter 4. You can use an editor like HxD to explore and edit it (with caution!). The DWIN editor also has a way to edit this file. Many parameters can also be set at runtime.
Font's are currently configured like below:
In the same folder where you have the DWIN tool unpacked a 0_DWIN_ASC.HZK
file is placed. You need to copy that to the DWIN_SET folder, and can flash it directly. The kerning of the current font is not ideal (especially using numbers that are small, like "1"), so perhaps we should look for a replacement.
Vendor documentation is mirrored to the vendor docs folder.
In addition, this is a nice resource.
The core CR-6 Community firmware dev team
Icons from Font Awesome and Remix Icon.
Font from Google Fonts and customized with FontForge.
This is the documentation for the latest release of the CR6Community DWIN_SET application - Re-Factored version 1.1, released 13 March 2023.
This DWIN_SET is compatible with:
the motherboard firmware of CR6Community Firmware Release 6.1
any version of DGUS2 OS
the 272 x 480 pixel portrait-mode DWIN TFT display delivered stock with each Creality CR6 printer
NOTE: This DWIN_SET is NOT compatible with the AnyCubic Vyper display.
The Vyper is supplied with a different TFT.
If users wish to adapt this display to that TFT, they will need to use a bitmap editor to modify the screenmaps, and DGUSTools to refactor the application. That effort is beyond the scope of this project.
This DWIN_SET must be flashed to the DWIN TFT display, from an SD card.
The SD card must be prepared as documented in Detailed SD Card Formatting Instructions.MD
A high-level set of installation instructions is included in the repo README
Detailed Instructions and Examples for preparing-for, performing and troubleshooting problems with the flashing process are documented in Flashing Help.MD
Some users will have difficulty flashing this firmware to their display.
e.g.: The display bootloader may not read their SD card correctly Troubleshooting advice is included in Flashing Help.MD Some users will have flashed their touchscreens with a different version of DGUS2 than the one for which their display was calibrated. Those users will find that although the main menu screen is correctly displayed after flashing this firmware, the buttons will not work if tapped, as if their touchscreen is "frozen".
DGUS2 Kernel files are provided, with instructions, to support users who wish to flash their screen back to a compatible version of DGUS2.
A brief summary of the differences between this release and the CF6.1 release is documented in Release Notes.MD
A brief overview of known issues with this release is documented in Known Issues.MD
Guidelines for reverting a CR6 printer from CR6Community Firmware back to Creality stock firmware are included in Release Notes.MD NOTE: Those guidelines are offered in good faith, but we obviously can not guarantee that those instructions will work, since we can not be sure what (if any) changes Creality have made or will make to their systems.
The CR6Community CR-6-touchscreen firmware is licensed under the GNU General Public License (GPL) v3.0
Formal Release: Re-Factored Version 1.1 Release date: 9 March 2023
The following issues have been observed but not resolved, at this release:
The ABLprocess no longer uses the contents of 35_Autolevel.icl to animate the collection & display of the mesh data. To enable old eyes to read the mesh, the normally white background of the initial screen has been changed to black. As a result, when the process first initializes all of the values to 0.000 in white, those zeroes are now visible to the user, until replaced by the probing process. This will not look familiar to past users of 6.1, but should not be a problem for new users.
Although we have added the display of temperature readings and target values to three thermal warning screens, there is at least one known failure case where the displayed values are all zeroes, instead of the hoped-for dump of the values "seen" by Marlin, if the Thermal Runaway screen appears immediately after the printer is powered-up. That particular failure appears to be a motherboard failure, which requires replacement of the motherboard to resolve.
IF you find any other issues, please message @Thinkersbluff with the key info. TIA!
Primary resource is T5L_DGUSII Application Development Guide20200902.pdf
Secondary resource should be T5L translated docs.docx, which is a machine translated version of this document.
Outdated documents but on some points relevant:
EN_Dwin DGUS Screen Development Guide 2016.12.19.pdf (machine translated)
Check on the DWIN website download section and search for "T5L".
This formal release is identical to 61F_220622_v1, except:
The colour theme of the screens has been changed back from cyan/darkblue to black/grey/red
The jpeg compression artifacts have been removed
The font has been changed, to solve the descender clipping issues
The version # has been rebranded on the splash screen, main menu and Info screens.
A red line has been added between the grey screen banner and the black background on each screen, to facilitate the recognition of this build vs the original DWIN_SET, when providing help based on photos of the screens.
The CF6.1 touch screen firmware was designed and distributed to run only on the DGUS2 v3.5 operating system.
Creality has now begun delivering the CR6 printers running a more recent version of DGUS2 (v4.5, at the time of this release.)
DGUS2 v4.5 and higher require a different calibration of the touchscreen than did v3.5.
Following the CF6.1 installation instructions to flash v3.5 with CF6.1 to these newer printers therefore causes the v4.5 touchscreen calibration to be invalid. That results in the touchscreen becoming non-responsive. Reverting to Creality stock also then fails, until the DGUS2 v4.5 kernel is restored to the display.
This re-factored version of the firmware operates correctly on all CR6 printers flashed with DGUS2 OS version 2.0 or higher, as long as:
The motherboard has also been flashed with the correct configuration of CF6.1-Final firmware
The display hardware has already been calibrated to operate with the version of DGUS2 (2.0 or higher) that is installed on the display.
NOTES:
1. As always, flashing this firmware to your system is done entirely at your own risk. The CR-6 Community firmware developers take no responsibility for any consequences of flashing this firmware to your system.
We have seen STEP1 display DGUS2 v4.5 with a different date stamp than the one bundled with this release. (13/01/22 vs 05/01/22) We can not explain why DWIN would publish two variants of the same OS version, nor can we answer whether there are any differences between the two. (See note 1)
STEP1 - BEFORE ACTING ON ANY OF THE FOLLOWING RECOMMENDATIONS:
Create an EMPTY folder at the root directory of an EMPTY micro SD card.
Ensure that your printer power is OFF
Place that SD card in your display and cycle power ON
The top line of the display will report which version of DGUS2 is currently flashed .
Make note of which DGUS version is currently flashed to your display hardware (see top line on display)
Take care to follow the applicable instructions below.
Flash this touchscreen firmware INSTEAD of the CF6.1-Final touchscreen firmware.
Ignore the Touchscreen firmware folder in the CF6.1-Final release zip file.
INSTEAD, copy the DWIN_SET folder and contents from this release to the micro-SD card you use to flash the display
DO NOT copy ANY DGUS2 kernel upgrade files to the DWIN_SET folder before flashing it to your display.
EITHER: Go ahead and flash the CF6.1 TouchScreen Firmware to your system, following the CF6.1 Touchscreen Firmware README instructions precisely
OR:
Do exactly the same thing as recommended above for the v4.5 users:
Ignore the Touchscreen firmware folder in the CF6.1-Final release zip file.
INSTEAD, copy the DWIN_SET folder and contents from this release to the micro-SD card you use to flash the display
DO NOT copy ANY DGUS2 kernel upgrade files to the DWIN_SET folder before flashing it to your display.
You can flash this re-factored version of the CF6.1 UI to your display and restore the display to running DGUS2 to v4.5, as follows:
Delete the DWIN_SET folder from the SD card with which you previously flashed your display. (Make sure you keep a copy, just in case!) OR prepare a new blank micro SD card.
Copy the new DWIN_SET folder distributed in this release to that SD card
Copy T5L_UI_DGUS2_V45_20220105.BIN from the DGUS2 kernel upgrade files folder into the new DWIN_SET folder on that card
Re-flash your display with the updated card
Verify that the top line of the display shows the DGUS2 v4.5 OS was flashed as part of the process (it will be written in red text over the top of white text that said v3.5)
Power off the printer
Remove the SD card from the display and power it back up
The CF6.1 interface should now work correctly
Repeating the empty DWIN_SET folder trick described as STEP 1 above will allow you to confirm with confidence that DGUS2 v4.5 is now flashed to the display
Copy the T5L_UI_DGUS2_V45_20220105.BIN kernel upgrade file into the Creality DWIN_SET folder.
Important: Verify that the Creality DWIN_SET folder includes their T5L...CFG file
Re-flash that Creality DWIN_SET to your display.
Re-flash the stock Creality DWIN_SET firmware to the motherboard
The printer will now have been reverted to the Creality stock firmware.
Flash the stock Creality firmware back to the motherboard and the display, per Creality's instructions.
Follow the flashing instructions in the CF6.1-Final Touchscreen firmware README file.