Welcome! Log In Create A New Profile

Advanced

Bootscreens

Posted by rq3 
rq3
Bootscreens
April 12, 2022 06:42PM
What is the actual compile process for the Marlin bootscreen? Under Color_UI, I cannot compile the full 480x320x16 bootscreen due to lack of flash space.
Setting the bootscreen to small compiles and works, but the bootscreen is...really small. Nor can it be animated.

Editing the png for either image does nothing, so Marlin (or properly VSCode) obviously doesn't re-create a new cpp file for the new image, yet there is no reasonable way to make a new compilable cpp image file. Using the Marlin website converter requires 128x64 BMP files (black and white). What if you want more than 2 bit color for a 480x320 screen?

Color_ui doesn't even allow custom bootscreens as _Bootscreen.h, let alone animating the bootscreen it will accept.

Suggestions? I'm no coder, but I'm all ears.
Re: Bootscreens
April 12, 2022 11:17PM
@rq3

That is the realty of micro controllers. They have limited flash space.

If you stick a high res high colour display on it then yes, a full sized full colour image takes up a lot of flash.

480x320x16 = 307200 bytes of data that is 300K

Animation on that at worst requires an additional 300k per frame.


The marlin Bitmap Converter, is exactly that bitmap, ie black and white. This is designed for the 128x64 based mono displays.


You use the provided tool buildroot/share/scripts/gen-tft-image.py to generate the C data such as Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp


Or you use TFT_LVGL_UI which load images etc from the sdcard.

Edited 2 time(s). Last edit at 04/13/2022 12:50AM by Dust.
rq3
Re: Bootscreens
April 13, 2022 05:31PM
Quote
Dust
@rq3

That is the realty of micro controllers. They have limited flash space.

If you stick a high res high colour display on it then yes, a full sized full colour image takes up a lot of flash.

480x320x16 = 307200 bytes of data that is 300K

Animation on that at worst requires an additional 300k per frame.


The marlin Bitmap Converter, is exactly that bitmap, ie black and white. This is designed for the 128x64 based mono displays.


You use the provided tool buildroot/share/scripts/gen-tft-image.py to generate the C data such as Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp


Or you use TFT_LVGL_UI which load images etc from the sdcard.

@Dust, many thanks for your comments! I have indeed managed to stuff the 320x240x16 bootscreen into my 512K flash, on top of the 300K that Marlin already needs. The hardest part was figuring out how to center the image, until I realized I had already figured that out when I modified the progress bar in the Color UI. I will never be a programmer.
Sorry, only registered users may post in this forum.

Click here to login