From 71143e797bdb37e190cecc6c5aef0dfd39bd4191 Mon Sep 17 00:00:00 2001 From: philmoz Date: Tue, 3 Oct 2023 19:47:56 +1100 Subject: [PATCH] feat(color): Remove splash screen and boot loader background, add version info (#4139) --- radio/src/bitmaps/480x272/CMakeLists.txt | 4 - .../480x272/bootloader/bmp_background.png | Bin 5813 -> 0 bytes radio/src/bitmaps/480x272/splash_bg.png | Bin 5813 -> 0 bytes radio/src/gui/colorlcd/splash.cpp | 78 ++++++++++++------ .../targets/horus/bootloader/boot_menu.cpp | 28 +------ .../src/targets/nv14/bootloader/boot_menu.cpp | 29 +------ 6 files changed, 57 insertions(+), 82 deletions(-) delete mode 100644 radio/src/bitmaps/480x272/bootloader/bmp_background.png delete mode 100644 radio/src/bitmaps/480x272/splash_bg.png diff --git a/radio/src/bitmaps/480x272/CMakeLists.txt b/radio/src/bitmaps/480x272/CMakeLists.txt index 9432649ad..a1458053a 100644 --- a/radio/src/bitmaps/480x272/CMakeLists.txt +++ b/radio/src/bitmaps/480x272/CMakeLists.txt @@ -17,8 +17,6 @@ set(BITMAP_LZ4_ARGS ${BITMAP_ARGS} --lz4) set(MASK_LZ4_ARGS ${MASK_ARGS} --lz4) add_bitmaps_target(${BITMAP_TARGET_PREFIX}_splash_logo "${RADIO_SRC_DIR}/bitmaps/480x272/splash_logo.png" "4/4/4/4" "${BITMAP_LZ4_ARGS}") -add_bitmaps_target(${BITMAP_TARGET_PREFIX}_splash_bg "${RADIO_SRC_DIR}/bitmaps/480x272/splash_bg.png" "4/4/4/4" "${BITMAP_LZ4_ARGS}") -add_bitmaps_target(${BITMAP_TARGET_PREFIX}_splash_bg2 "${RADIO_SRC_DIR}/bitmaps/480x272/splash_bg2.png" "4/4/4/4" "${BITMAP_LZ4_ARGS}") add_bitmaps_target(${BITMAP_TARGET_PREFIX}_button_bitmaps "${RADIO_SRC_DIR}/bitmaps/480x272/button/alpha_*.png" "4/4/4/4" "${BITMAP_LZ4_ARGS}") add_bitmaps_target(${BITMAP_TARGET_PREFIX}_masks "${RADIO_SRC_DIR}/bitmaps/480x272/mask_*.png" 8bits "${MASK_LZ4_ARGS}") add_bitmaps_target(${BITMAP_TARGET_PREFIX}_slider_masks "${RADIO_SRC_DIR}/bitmaps/480x272/slider/*.png" 8bits "${MASK_LZ4_ARGS}") @@ -33,8 +31,6 @@ add_custom_target(${BITMAP_TARGET_PREFIX}_bitmaps) add_dependencies(${BITMAP_TARGET_PREFIX}_bitmaps ${BITMAP_TARGET_PREFIX}_splash_logo - ${BITMAP_TARGET_PREFIX}_splash_bg - ${BITMAP_TARGET_PREFIX}_splash_bg2 ${BITMAP_TARGET_PREFIX}_button_bitmaps ${BITMAP_TARGET_PREFIX}_masks ${BITMAP_TARGET_PREFIX}_slider_masks diff --git a/radio/src/bitmaps/480x272/bootloader/bmp_background.png b/radio/src/bitmaps/480x272/bootloader/bmp_background.png deleted file mode 100644 index b2b1a48409c652f8e76d93fd5a478e07db60bd95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5813 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 diff --git a/radio/src/bitmaps/480x272/splash_bg.png b/radio/src/bitmaps/480x272/splash_bg.png deleted file mode 100644 index b2b1a48409c652f8e76d93fd5a478e07db60bd95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5813 zcmWld2Q*t>9LGcL8Cy|XMQc}4VvC}7l~SulD<$?w)ZTm3TA`^_|3;}+ zs1dU^|JU=*eeaxme(&9Lf8%~XzZYj@@Q{{@g9-!!(duYxngGuSz_6nr1MVd`Gff~6 zQ50N5!$?O%gV)2${RQ0B2?TJuuGBK31-rV8J;dZsYM%OfcutJBKLL}3sLsvhGg}vT64KQZ*a`AGOJ4~=jpuZ` za(DFZH+K^~sY&#a=5zEeQ(tFMJLFaOHnsntEF3R_Os;%=auUpjw^;BENmdqemu?dV z4@u8g#mdE&$cYskD0^mR2}YgdBL|A88CATj{Z5m-e?3TDmMM#-47XFQS%O>Z=EQEj6_586JW8RJCZGOzrp#nziENWD10# z7ZJ&}f^YObNwYs-HHxC@+l#nvCoJSf^-;=+Mx~eBK^W%%-6T3AevFcBCXzGFtI zY2$u%bLD}e-*L=9%FH|-Iy9;`KH$35nUmI&e#=@cfy8rjCkSM)Sw#9HeY;bGEkQ;I z9CSAK&HLvhBZ%hH30Pfbfz!cG&$khe+704a#!5ALCK{AP$S40I9RJ!p8s7F}AR$VW zg7h=$q%Ur5(bP=S9Gr5&jO~;Qmlqd7Gwa6gp@qWGHBL z@{8eFGX3f9!YZa7mLaS3P+t5?vkn?xrxHa@wC5Rl7{miA$_$t4rc&j|GEpZByPP`? z(iT}lp;?BHgYLFuGJ0}7YmeYn1(V?OP%t&z3!+KJ^ho&VM?7lXMRpoS8NYrGbvt)nSlA9Z`^aBsh#+H9E6LR zX!=a)$u)az+XZ74SuBWJQBO;CtXBi8>cXR_I)-!aDD{o$WT=6s%xAzNLf?5KcS&ey zNHojZ<{DJq8aCPX3Y29sK4&)z&(pnEU_f4AQ1aw1vrn&ZA6s8w^SqnTM{w4Lw71oY zG>_=+u0(Mjsahx`zC0DZyYIGTL+ zEk%-sA^P38rtlx$czz#+TanM5*~VCt`luqoKqOFT4VNSg1RTv5k5NVA!C*F$_fxxS zQ9kbKmW#yE&tsQ7V%zOPC20_LC{7bh?YqqI2@YM6$mbLlzN^QjwO6gZP2!`U0?j3P zvE_j!tlh^!KF!wU<#VcI8&j}Tz^}LIpJu+sX0p@8P=td}Xn}s|*F0Djz1$hvqQ&F( z!SN`sZv=s4hr0ov>#-N9&>#d0CLyYCXsC!XlKgWVupY@W3}>uPI}t`6pGvhy?pr+dAcvO z(1MDPq$vv}HFgh-t`^-KWB}3VUG9YAW>5Hj`p+_P7uyOjynm;EONPWKTgc4JOfpAr zc=L!C8#%$zu>_{)hPL4gLy|Kxn3!Ro!S;3UvLW$yiE7zSZ-?;O=_DyUD&5`PWRc+Y zqkv({_p{sfP;LiFb{V_()N8cj3$twCR^c3_B?~6$kNZz5XFGtsdq_rR{tL56lzg%j zcZ%orRgfzJ@m!wE{^d(@6k1};hSQ6WhfSS#$U7g6wnrdnA3b^m)NfBu4@C#q$pQnR za(SRm0l^xTR)>AG^X=aeP{JY6VR~<$#nAKozPdb@?6z}vrza;T ze?wIZnM|k87~b66d}?hSHNl~%sE9l}6iF8ZcGFu;12a|?aXN6eFbmIiimMhK`ejT@ zjirtiaW{UoDAI8pl&B>z_r>!@Sy>tKWS1|Tw{2%f+~#WlsmN+wDS4BvF|%wIsI9%7 z2*?@0Bj2vhTqyWFJUl|*zZc-Tb!!^R(IfSvS~J_pNcaAT-ut4~uc-bn$n>`Q2@WR< zb&4?gWQHE8+ZmL~rz=c>N8{$8P@douqSvoq|Luku%Xm%mk76O5(eL!x(D-RmpbiEH z^`QZW6uKf%)INz}p>kLM8;Oek;bRC^vcRB%bYw_0HN@kZNh5*3`9pfF-`#kA61C7F z<#QTb-~p|ytSn%)7o&1P1h|Iv5^(ekW4{$~DT-G2X;!#ly5L*A+pJ{b5)#X^?yWFp zm^>8PnIUYrTcUDFS!vrE4V+1O#>{M`LYzh4rh*;Usr#UmaiU^k&!uw~*9P;ZW@f%S zN{5+H#l*x+O;5KkE%DV(_qdnUBcF+3@Ww*1p4%;?7A z`Z~oBTB##}O~S*+C-OAVZ8YBG$G3)Cv3tll$;VW8fQ-C*_wG|0n{Fhu+gawjk3!eN z0ykPEB)OwQ!-bBS<|EU??`egpPG8`WtZHT&le@BU6EnHa7THsCbDb5>8mek*Bb)sR z_8}qv^69NX36R4Fr*ofr7VxcC%PO=ipFFu7WH_D!Sq$X{P62HZsluVX-(A$ukSi|W z4eimfSE2kiX#8#v?u?pkq$}TQn3uxU?f^=ULIdejoB-WTz>r z>+b8LG%z&WJ3De|K^>66bNTzLy?u^auP;@ix86)f0m9SV-2AUxgHKo4{$&f;I@?Jg zlIi1ZvGlb$Jf`_H*wNawes3tIgKuJDqN=em?&!#uhAbjl$oLKsDCdJn?F6f* zUdiM9f`aD?1(r;U#1Je;_^;O^95C~p1g^>^yFykic%%tCR%)le7Fk_1?HUcZ?PA+K zM1vW|PD8ft*X-vF>F!mz+DlOBl?-{K#v9W>URVjx@m>sfkP z5~(DsxWNpSlyZ|F(NBh77Bp$GsGD}FB_;O;MS|rO6Lnmg;=voT2KWN`p z2j!~EQrcz)|*Zpf7;F`fBCrZxXY-N@y?UpeVP%KNvo34&pPw8FPto7 z_wP)ipY`h|)14&mfigabd>DlbRD0n>=&JBQS<$jo;hm-5P23W!ZJ)P%`*y9+Y`je@ignJj8pj$JO zk4t!HK0n5p&e7+%*{8`#g?!XM^K!QT^=W><;9W z7ykeKDJ=0;&8H905fSuZhRNza=FGgSPi3ge8PUW^k7e1%sG6;8-H(|dgJ<&(nmBf$ z=veememfsoifwk^Ck~Y*BM!CAgD5r4fATF5?RV9E_vQCbO(ECOl3a&OT|SBZADT~Y zfnGfx+~kQV1%=J~?kBt%qfTC)3suqSj)logpy@IGq9cxNS_)og6| zgk0fJ#hUZiu`PZz&c*g9H)!epx^7Tr{l=L4UQwvl`hZw^<9K6T*+X}E-ZeI`yc_2i zE7|W?i|P}Xw&;a9^-#7AgPH*s=d=j8_#yvd@O;?%`K!@3RrvTFh&i2Y-b&J4bM5^w z420DnH>4~k&n2O{YVd_+Npmn2)aHg<^^f)n@=E@(N|7&{94(2nY~igQr)Z< zwQd13(8iC=gD$lxmy4>`)t@^s8(;9HX!_t!8Wd-BzNqogNiE0yg>Hs6m9$v5w6C#Y z(|1;UQLe3xsp|P`3kE#+>Oafsi%V>m_uzYo#7vmwN+MGV^<=l}%4J5%(eTmOTXOCO zmW@~SM8mTRQ&y_4c7nG~0^U(}PYleaBPOQ6Bio_BYB!gu``T15hpdGub;Weuy3>!P z8jHpRF$pSb5zg{pJPnIDFI#$EML{b?M0~RV)RYhusYYRa2MLb-P6rURs&4g5z+{^zHlSM8{7=;=O$>)cXY;D=9<);0{0Y5YIIk*uBuia6cUW3Zr*Wbx zSrV^czLj6WW6)$+Jga#gfU>#(cs+Yz{4717Qe48^WLjO|sA{eI^jivmApLcGYncXR z(Gnyj{x@Yg%+1}Vtsfd$%74Zz%e%>B$ED!CUJf|ZaD8eA|!-Qigj-;(FPcHMC zi>e#AgP}4a*)hJ1v*BPJZXOte*88;W1AtrgZZnmam&-sfY+(8<;e1O>ofb3fpUim3 z*V<}_r!Q(1HXI`=j>Fm+c}T&Yh0^W&`_gU;EpU;A1aRs~r=arcxTS-1j?5a*O5UN6 zMYe@^5Dx@t(TG1+#u$vr4^M3PNOB}q)z?SwArqIEm(6G`J3BZVxR}97n}EiC@h6}w z>NnnY0PAraK`URax*WL~dlLx=QV{z9k(n3&EngoGaM>4cJe`@j`O>-ahzx>+tKsk! z33oF8h)frtN&pCm{_+b6!M)1--ryu$I#N%-vH3jC6eiQIoV@|+^i0HJg#hva2<;t& zYKuU4hRJZbDa#+Sx1NAINPSc}<|k~wJ>Trl*#fdRnI2UNzK@%nbd~om((e_b(deg1 zP)O51(X_kRX(oU`06BE~C?LR$v#;#?{u35g1R$`c<{sco;QLGc60MqGl7G11qX27| zjUt?98xc_4`vJ8(_2kwED=-ORzB*4-;7|vk{DXONp2s`Z0CFt#@Pu@_%GMlm5sM=P z0~!Yw_J)5w zkU{J(yI4j4oyAc@m9Dch1wa8q78e)WOzdVzT#T&dG+rRo@u+0{P+W? zj=?nWSn8oif`1Yv04Docp!kolzA8R}BL8mP^z-u*RSV}S;xj9LJw^7h(HEiCCT8LM z_aX6oYY5Nm?CjLk)IVCix;k!k@b_ms5JiARtVWlt-7Udi2|fzz$LCLZTJj8 z#pWa|BXf!(j zNQS&Pk?LNS+K2XBT`31&oxbGazP02U0N_KaU>p|HD4@O%(`7Mceh!CIHn`1KmoOzt z$tx*!(T7~BY({8$F5UPKfQ{f*_lmxPs95)_RhQA*yeWRQ6eBdJ`e2f$mX_Zm$my%T zeoX>;FSggsQ#jnemHhnuJ(0**08*SZj<~b@062eYYul5=DF?JMK=A~ z)Alx^ynLa`QN`Zv*GbC3&UeY$`*&HsT4XN)$)Pp0;bVzN-rd3p77b#g6lh~lQOw6r z0;_#-wWoq1j4xJ&%^w_Mn1K`JGc?CelB)#>f)Bj7r#OOtDR#O$9+hC$do+Ikpx*o1@kOm&aAqp|kSCXb4&#Xl|BhLRh&|9{ z83=g%5GmjS7`CLO1c0ZGK;;I8x3YYX9v2_fKEIid?VJ7q&6Nu`oQq4`C4mmb*v9x@ z9bWwL&g&tLli#s7$`hq@v*Qh-9K)xIz1Q3bpn8&#<8z;`gp9?P-BnPoO8)Ir$bkhh z1@Dm8CN3~sC=!4hKS)_^^u!P8ZpUnV_UB&rUNz~QVmwNcSXCirgz7n%UxND4?BPWd zmE8TWWzposp&#>Xy5;I5^{-NlIht%TjX6q9dq-*d0+SulV>G&?PBNJjka#Zm;7F~5 z4>r%#Gy(aCzR`C7CXW#EjiU>~M&_3>uTY?&DF+J%6J(Zdx^l<(px#oR;sOmH91wjK zta!>tD)sZerO)4DmgfD~PW^Dd_(yv5E{ED{cgUt|nOUOKVQl5w3w(>eKK zep$<{)wB&>GVKpY@(m3Nn_WW+13vF~s=U0Ku2;*qeMHO(3sWx`Z58=bkC=FNf8)Ev zF|k~@r^0Q@;<`@*;~Sk4mSAD4FE4uay>kaR)LTb!H=n-Myw&=y>L*)oScDWAD!b$O z;*qeuI6ST9-Dw{QWA@^^*N(fT1Cpq5EeTxE596IaE(aQEEyi!IMx8;wXax@iuSFB8 zvkd&k$?94LvY)+V&`S{CoDMc~NlQ&D)8EOH-S8e!mMW=Xw#XH8RJI*=UB#^J%&v>o z$|uJI|4uZ89Kj@i@d$lKy6rgu@@VF)D1mEwn|qkp8DI9XOk!AP_FIN*-yq6I zcV21aT$u)rvR3qe`4_5SV$ms5>~;{Zg51FlR;gP`U&CIU`$h#ybl)I+Z=CTytwAVn zqk9C`&9bqilZ0#YP31P8TbN_Nu+kRQ1HX+Ct`e`?A4+F)bjuphLZ^c=)2t$=;W`?h z4C_2yw*6ONWrPqPzD7Ufq3in$ag6&&Mo0bTJ%(UXzWGdVZV2l`m*abH5@#2isRL6{ z_}A2^cR!qonBGvXzsjP9Cq5@y7ogmT-hWk!WuvP5$YGIrV_qPRaF)trqCIm8>kDBp j49zQf?M2XlUh$ZF+cc2*{rLm@yaegM3^YHf+lBuRNEaQl diff --git a/radio/src/gui/colorlcd/splash.cpp b/radio/src/gui/colorlcd/splash.cpp index a4547e72e..7c13ff445 100644 --- a/radio/src/gui/colorlcd/splash.cpp +++ b/radio/src/gui/colorlcd/splash.cpp @@ -19,19 +19,48 @@ * GNU General Public License for more details. */ -#include "opentx.h" - #if defined(SPLASH) -const uint8_t __bmp_splash_bg[] { -#include "splash_bg.lbm" -}; +#include "opentx.h" +#include "stamp.h" -const uint8_t __bmp_splash_logo[] { +#if defined(VERSION_TAG) +const std::string ver_str = "" VERSION_TAG; +const std::string nam_str = "" CODENAME; +#if LCD_W > LCD_H +#define TXT_Y 204 +#else +#define TXT_Y 404 +#endif +#else +const std::string ver_str = "" VERSION; +const std::string nam_str = "" VERSION_SUFFIX; +const std::string git_str = "(" GIT_STR ")"; +#if LCD_W > LCD_H +#define TXT_Y 180 +#else +#define TXT_Y 380 +#endif +#endif + +#if LCD_W > LCD_H +#define TXT_X (LCD_W * 4 / 5) +#define IMG_X (LCD_W / 3) +#define IMG_Y (LCD_H / 2) +#else +#define TXT_X (LCD_W / 2) +#define IMG_X (LCD_W / 2) +#define IMG_Y (LCD_H * 2 / 5) +#endif + +#define BK_COLOR COLOR2FLAGS(BLACK) +#define TXT_COLOR COLOR2FLAGS(RGB(128, 128, 128)) + +const uint8_t __bmp_splash_logo[]{ #include "splash_logo.lbm" }; -void draw_splash_cb(lv_event_t * e) +void draw_splash_cb(lv_event_t* e) { auto draw_ctx = lv_event_get_draw_ctx(e); auto splashImg = (BitmapBuffer*)lv_event_get_user_data(e); @@ -43,13 +72,13 @@ void draw_splash_cb(lv_event_t * e) lv_draw_img_dsc_init(&img_dsc); lv_area_t coords; - coords.x1 = (LCD_W/2) - (splashImg->width()/2); - coords.y1 = (LCD_H/2) - (splashImg->height()/2); - coords.x2 = coords.x1 + splashImg->width()-1; - coords.y2 = coords.y1 + splashImg->height()-1; + coords.x1 = (LCD_W / 2) - (splashImg->width() / 2); + coords.y1 = (LCD_H / 2) - (splashImg->height() / 2); + coords.x2 = coords.x1 + splashImg->width() - 1; + coords.y2 = coords.y1 + splashImg->height() - 1; lv_draw_img_decoded(draw_ctx, &img_dsc, &coords, - (const uint8_t *)splashImg->getData(), + (const uint8_t*)splashImg->getData(), LV_IMG_CF_TRUE_COLOR); } } @@ -63,26 +92,29 @@ void drawSplash() // try splash from SD card first if (loadSplashImg && splashImg == nullptr) { if (!sdMounted()) sdInit(); - splashImg = BitmapBuffer::loadBitmap(BITMAPS_PATH "/" SPLASH_FILE, BMP_RGB565); + splashImg = + BitmapBuffer::loadBitmap(BITMAPS_PATH "/" SPLASH_FILE, BMP_RGB565); loadSplashImg = false; if (splashImg == nullptr) { splashImg = new BitmapBuffer(BMP_RGB565, LCD_W, LCD_H); - BitmapBuffer* splashBg = new LZ4Bitmap(BMP_ARGB4444, __bmp_splash_bg); + splashImg->clear(BK_COLOR); BitmapBuffer* splashLogo = new LZ4Bitmap(BMP_ARGB4444, __bmp_splash_logo); - for (int i=0; iwidth()) { - for (int j=0; jheight()) { - splashImg->drawBitmap(i, j, splashBg); - } - } - splashImg->drawBitmap((LCD_W/2) - (splashLogo->width()/2), - (LCD_H/2) - (splashLogo->height()/2), - splashLogo); + splashImg->drawBitmap(IMG_X - (splashLogo->width() / 2), + IMG_Y - (splashLogo->height() / 2), splashLogo); + splashImg->drawText(TXT_X, TXT_Y, ver_str.c_str(), TXT_COLOR | CENTERED); + splashImg->drawText(TXT_X, TXT_Y + 24, nam_str.c_str(), + TXT_COLOR | CENTERED); +#if !defined(VERSION_TAG) + splashImg->drawText(TXT_X, TXT_Y + 48, git_str.c_str(), + TXT_COLOR | CENTERED); +#endif } splashScreen = window_create(nullptr); if (splashScreen) { - lv_obj_add_event_cb(splashScreen, draw_splash_cb, LV_EVENT_DRAW_MAIN, splashImg); + lv_obj_add_event_cb(splashScreen, draw_splash_cb, LV_EVENT_DRAW_MAIN, + splashImg); } } diff --git a/radio/src/targets/horus/bootloader/boot_menu.cpp b/radio/src/targets/horus/bootloader/boot_menu.cpp index 765a7d609..9b7e00b4d 100644 --- a/radio/src/targets/horus/bootloader/boot_menu.cpp +++ b/radio/src/targets/horus/bootloader/boot_menu.cpp @@ -40,11 +40,6 @@ const uint8_t __bmp_usb_plugged[] { }; LZ4Bitmap BMP_USB_PLUGGED(BMP_ARGB4444, __bmp_usb_plugged); -const uint8_t __bmp_background[] { -#include "bmp_background.lbm" -}; -LZ4Bitmap BMP_BACKGROUND(BMP_ARGB4444, __bmp_background); - #define BL_GREEN COLOR2FLAGS(RGB(73, 219, 62)) #define BL_RED COLOR2FLAGS(RGB(229, 32, 30)) #define BL_BACKGROUND COLOR2FLAGS(BLACK) @@ -71,28 +66,7 @@ static void bootloaderDrawFooter() static void bootloaderDrawBackground() { - // we have plenty of memory, let's cache that background - static BitmapBuffer* _background = nullptr; - - if (!_background) { - _background = new BitmapBuffer(BMP_RGB565, LCD_W, LCD_H); - - for (int i=0; idrawBitmap(i, j, bg_bmp); - } - } - } - - if (_background) { - lcd->drawBitmap(0, 0, _background); - lcd->drawFilledRect(0, 0, LCD_W, LCD_H, SOLID, - COLOR2FLAGS(BLACK), OPACITY(4)); - } - else { - lcd->clear(BL_BACKGROUND); - } + lcd->clear(BL_BACKGROUND); } void bootloaderDrawScreen(BootloaderState st, int opt, const char* str) diff --git a/radio/src/targets/nv14/bootloader/boot_menu.cpp b/radio/src/targets/nv14/bootloader/boot_menu.cpp index 590b276ae..1280f0223 100644 --- a/radio/src/targets/nv14/bootloader/boot_menu.cpp +++ b/radio/src/targets/nv14/bootloader/boot_menu.cpp @@ -35,7 +35,6 @@ #define USB_SW_TO_INTERNAL_MODULE() GPIO_SetBits(USB_SW_GPOIO, USB_SW_PIN); #define USB_SW_TO_MCU() GPIO_ResetBits(USB_SW_GPOIO, USB_SW_PIN); -#define SELECTED_COLOR (INVERS | COLOR_THEME_SECONDARY1) #define DEFAULT_PADDING 28 #define DOUBLE_PADDING 56 #define MESSAGE_TOP (LCD_H - (2*DOUBLE_PADDING)) @@ -50,11 +49,6 @@ const uint8_t __bmp_usb_plugged[] { }; LZ4Bitmap BMP_USB_PLUGGED(BMP_ARGB4444, __bmp_usb_plugged); -const uint8_t __bmp_background[] { -#include "bmp_background.lbm" -}; -LZ4Bitmap BMP_BACKGROUND(BMP_ARGB4444, __bmp_background); - #define BL_GREEN COLOR2FLAGS(RGB(73, 219, 62)) #define BL_RED COLOR2FLAGS(RGB(229, 32, 30)) #define BL_BACKGROUND COLOR2FLAGS(BLACK) @@ -86,28 +80,7 @@ static void bootloaderDrawFooter() static void bootloaderDrawBackground() { - // we have plenty of memory, let's cache that background - static BitmapBuffer* _background = nullptr; - - if (!_background) { - _background = new BitmapBuffer(BMP_RGB565, LCD_W, LCD_H); - - for (int i=0; idrawBitmap(i, j, bg_bmp); - } - } - } - - if (_background) { - lcd->drawBitmap(0, 0, _background); - lcd->drawFilledRect(0, 0, LCD_W, LCD_H, SOLID, - COLOR2FLAGS(BLACK), OPACITY(4)); - } - else { - lcd->clear(BL_BACKGROUND); - } + lcd->clear(BL_BACKGROUND); } void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)