From 682517b0ed7dd6960a183430351b7c3ff77b0be0 Mon Sep 17 00:00:00 2001 From: mhotar Date: Wed, 25 Dec 2013 23:41:27 +0100 Subject: [PATCH] putsTime(..) chanaged to save some flash - newline implemented, thanks to ChrisNisbet01. I will try later to save some flash with It. --- radio/src/fonts/std/font_05x07.lbm | 2 +- radio/src/fonts/std/font_05x07.png | Bin 619 -> 620 bytes radio/src/fonts/std/font_08x10.lbm | 6 +- radio/src/fonts/std/font_08x10.png | Bin 823 -> 837 bytes radio/src/fonts/std/font_10x14_compressed.lbm | 2 +- radio/src/fonts/std/font_10x14_compressed.png | Bin 1508 -> 1518 bytes radio/src/lcd.cpp | 95 +++++++++--------- radio/src/lcd.h | 5 +- 8 files changed, 53 insertions(+), 57 deletions(-) diff --git a/radio/src/fonts/std/font_05x07.lbm b/radio/src/fonts/std/font_05x07.lbm index 987e3568f..ebbf93c6e 100644 --- a/radio/src/fonts/std/font_05x07.lbm +++ b/radio/src/fonts/std/font_05x07.lbm @@ -1,5 +1,5 @@ 0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x6f,0x00,0x00,0x07,0x00,0x07,0x00,0x18,0x30,0x18,0x0c,0x06,0x08,0x7f,0x7f,0x7f,0x08,0x23,0x13,0x08,0x64,0x62,0x36,0x49,0x55,0x22,0x50,0x00,0x05,0x03,0x00,0x00,0x00,0x1c,0x22,0x41,0x00,0x00,0x41,0x22,0x1c,0x00,0x14,0x08,0x3e,0x08,0x14,0x08,0x08,0x3e,0x08,0x08,0x00,0x50,0x30,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x40,0xff,0xff,0xff,0xff,0x20,0x10,0x08,0x04,0x02, -0x3e,0x41,0x41,0x3e,0xff,0x00,0x42,0x7f,0x40,0xff,0x62,0x51,0x49,0x46,0xff,0x41,0x49,0x49,0x36,0xff,0x18,0x14,0x12,0x7f,0xff,0x27,0x45,0x45,0x39,0xff,0x3e,0x49,0x49,0x32,0xff,0x01,0x79,0x05,0x03,0xff,0x36,0x49,0x49,0x36,0xff,0x06,0x49,0x29,0x1e,0xff,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x56,0x36,0x00,0x08,0x14,0x22,0x41,0xff,0x14,0x14,0x14,0x14,0x14,0x41,0x22,0x14,0x08,0xff,0x02,0x01,0x51,0x09,0x06, +0x3e,0x41,0x41,0x3e,0xff,0x00,0x42,0x7f,0x40,0xff,0x62,0x51,0x49,0x46,0xff,0x41,0x49,0x49,0x36,0xff,0x18,0x14,0x12,0x7f,0xff,0x27,0x45,0x45,0x39,0xff,0x3e,0x49,0x49,0x32,0xff,0x01,0x79,0x05,0x03,0xff,0x36,0x49,0x49,0x36,0xff,0x06,0x49,0x29,0x1e,0xff,0x36,0x36,0xff,0xff,0xff,0x00,0x00,0x56,0x36,0x00,0x08,0x14,0x22,0x41,0xff,0x14,0x14,0x14,0x14,0x14,0x41,0x22,0x14,0x08,0xff,0x02,0x01,0x51,0x09,0x06, 0x06,0x09,0x09,0x06,0x00,0x7e,0x09,0x09,0x09,0x7e,0x7f,0x49,0x49,0x49,0x36,0x3e,0x41,0x41,0x41,0x22,0x7f,0x41,0x41,0x22,0x1c,0x7f,0x49,0x49,0x49,0x41,0x7f,0x09,0x09,0x09,0x01,0x3e,0x41,0x49,0x49,0x7a,0x7f,0x08,0x08,0x08,0x7f,0x41,0x7f,0x41,0xff,0xff,0x20,0x40,0x41,0x3f,0x01,0x7f,0x08,0x14,0x22,0x41,0x7f,0x40,0x40,0x40,0xff,0x7f,0x02,0x0c,0x02,0x7f,0x7f,0x04,0x08,0x10,0x7f,0x3e,0x41,0x41,0x41,0x3e, 0x7f,0x09,0x09,0x09,0x06,0x3e,0x41,0x51,0x21,0x5e,0x7f,0x09,0x19,0x29,0x46,0x26,0x49,0x49,0x49,0x32,0x01,0x01,0x7f,0x01,0x01,0x3f,0x40,0x40,0x40,0x3f,0x1f,0x20,0x40,0x20,0x1f,0x3f,0x40,0x30,0x40,0x3f,0x63,0x14,0x08,0x14,0x63,0x07,0x08,0x70,0x08,0x07,0x61,0x51,0x49,0x45,0x43,0x00,0x7f,0x41,0x41,0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x41,0x41,0x7f,0x00,0x04,0x02,0x01,0x02,0x04,0x40,0x40,0x40,0x40,0x40, 0x00,0x01,0x02,0x04,0x00,0x20,0x54,0x54,0x54,0x78,0x7f,0x48,0x44,0x44,0x38,0x38,0x44,0x44,0x44,0x20,0x38,0x44,0x44,0x48,0x7f,0x38,0x54,0x54,0x54,0x18,0x08,0x7e,0x09,0x01,0x02,0x0c,0x52,0x52,0x52,0x3e,0x7f,0x08,0x04,0x04,0x78,0x44,0x7d,0x40,0xff,0xff,0x20,0x40,0x44,0x3d,0xff,0x7f,0x10,0x28,0x44,0xff,0x41,0x7f,0x40,0xff,0xff,0x7c,0x04,0x18,0x04,0x78,0x7c,0x08,0x04,0x04,0x78,0x38,0x44,0x44,0x44,0x38, diff --git a/radio/src/fonts/std/font_05x07.png b/radio/src/fonts/std/font_05x07.png index 863731cd829a3cfc5e3d35c7424084a7293872f9..55d7bc54a97eb498731757c42f3e330906199f08 100644 GIT binary patch delta 535 zcmV+y0_gqg1ndNmV1F4DI1%iX$KU_}0qjXcK~yNuMUGEs(_k3J-*tKr3o{3Cy47A} zYzSi&l%zU084UE`Wo!or4xB`=Fd{LF7~9V>k0OG#I!vbrPZb?KNQt9ndWlr|aHoOV zCU|f|O*@4xgVcP!W&U|jKOP>Q_Xk#Db53>{3!-2pR%aKgo_`taM|`ucnxkeA0V{QT zikauyUUz^M@RbR3)Cl%~MXnUgs#gly5I28LxXf?h0^2$q%RcT64Q2{KatY4Qz7zDx zmRyR0Xq0z+m~45_dKSdzUD8-4=8+tTPZuv`FJL+jVvfeLV!D#DAp^aq#_kqgCO?8# zs%urRz=#d{5Px@_lloSKB}nLBN;M_E%uz(IzpliK-4yPJylvgv<7&@o@G-?gQMiTJ z?Cx6@DEKp6dQIwbaAC`KfDs1ap^2Wfn}3mkB>x#-*fvYOC&#`bejnL8 zTszrU-W>yWbAz8c%;!^QsSuJ^b)BO+-ab8 z2_D=~(@tT_AT^(FnSb8XkB5in{ehL*n2|lk!Z=u|mFc-9pMQpX5#Ow-beM)Qu=JY~ zjGk$J-3nI7SH|eD8SVm$TzX2E{8HGAxbbt$V?iAk*yiC_?qOG?KTE^(0-T+GCm7?s zdEExlEN}ZT-g~dFgJrIBpXCwUMb&tJ%$!*mqHyxo%%pH*}Rve0#6+cB~k3K;cmp=(y=w6cAkU)Q!EsP8;FhW zo<+fiV2aDEO6@K#Y}zInVGteIA=q*zZV`|T&$Q)|x=s;)nf9YOZOwu0Q!&%7sA-?U z(C)$N z@$T}@9$?qk`H6#k0oChmeq>eQ&v&Avv3xXCS_w#0K~y-)Wzj)v)Ibym@Yimsm!i;9g&vB8 zx+fW153?{%zJs5{kFX7)_ORd*F9|HWAHu6jc2m|I#^mZrw(a70T7oMwk&yAtBweh1 zm%wk{y!TH6MXc&t>v%zHwNQnI0*>m{htH6P7AgaQ_xK%zsegsiLia8xc=rAc&_(bS zVQnCIDD#*u<_4q%Po5(HET92cd?B_2RFT_`A7L*J)4;$4Fj&wHpT}lPUkxXwqxN3< zu?f~!;F^wl)kZ&3Lk-oYVr>e1;rqYf5_~__rJhWI3=_^qA&^Kd z5kyg3?yx0-%zyQ|LRenV9Fq7oUsH%(i`=-J7S{f z@q@z%M1%+2brDWE>@m1vJ-3CY+(FQ+Aw?VxM}zzi^Zg%Q(Xha$W_ z<&4@Z?OLaY5SgJE%*9{>1}50O=z3Fi^Ix`-tut)Jf~h;j55ywIqy?2v%0!z(*FY2* zh;AWbN%Aw#%a1sNZJi-FQhv{6i9=oXplTp%!8t`poJ5ZEwFS~M0FmT*X~C?Gu_iVY0J7E%ksKyeFI-NNj6md-Q(c(8aO zULDV&2=~Kbkdb|%9MRnmpiq=kx_d%}+7n$$q39z(c8+k^07c*#r-HT}1ZRYqhk!FE z&bYuWvkZ?YfiA@@O>nQSye4|Rsp>|(y$g9NTWZKQuv+~GzrVq5{KVU)rU2p3CpZZ& zC@!S|Ehgz204N>vj0W8~T{b`t#-4!{5zUp|c&suy@6OXvGnA__O^0&`6l>NZc-QGF jpeN7-7_0snCN9-C|GV{pE}H4 z6J6s6s&zHLB~U?d3s(>X*kvXWus&l;amE;<^yvuL4gvERi({ODpt9_0ODw4)HF<@w zyb9Qs3K*p-OMimQ%a{tf2&T*tlm(XQ1s>4|BL)nC#S0A>j48pE1fI@ut%d*~SOyrc zZ*mN#|BkNRYoMy>1yuF|*SZz803rbwLJARsiaVo@^hZKv9l5t3f(r40^nHXQ2|EI= zMaOU8ne-5hX!&BZ<%7x|OV1;)9bBvd1c9(e1fvc+6o29Mkrdn>Y1Vojgph_}Fdu{U z1yHaD(apMQ_g*&Qjbm)Zg2<2X4-%me+Cq^|%Gl6DpCAkg!g~ls9REzy@)OPw8^;Kq z)<05R;!s~asvIN@ct;4a7wd7FTVNdm2(?U03$!-Wdtwcj;#kMHSVL4r52FK2>ZYo? zs_+77Er08xzNw`uM4v!gm|0K+<{qlLfy;x-*)$0b`rluuR|iut!`a+%;G&Y;b4iwoYX ztDcKqud7-VZ~ujKrW;7suv+~GzrMlt#nav^RWY;W8nSTW^}Y+sCvgiqVk*~kr*#hA~|rZ6akTZ_=UnXLx=5L_@>G(k^X^glLm V{7@K1e=Yz3002ovPDHLkV1la)Q5gUL diff --git a/radio/src/fonts/std/font_10x14_compressed.lbm b/radio/src/fonts/std/font_10x14_compressed.lbm index 89f587d45..1683c727c 100644 --- a/radio/src/fonts/std/font_10x14_compressed.lbm +++ b/radio/src/fonts/std/font_10x14_compressed.lbm @@ -1 +1 @@ -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x76,0x00,0x3e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x78,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x0e,0x70,0xfc,0x3f,0xf8,0x1f,0xff,0xff,0xff,0xff,0x00,0x00,0x18,0x60,0x1c,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0x00,0x00,0xff,0xff,0xff,0xff,0x18,0x78,0x1c,0x7c,0x0e,0x6e,0x06,0x67,0x86,0x63,0xce,0x61,0xfc,0x60,0x78,0x60,0xff,0xff,0xff,0xff,0x06,0x60,0x06,0x60,0x86,0x61,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xff,0xff,0xff,0xff,0x80,0x07,0xc0,0x07,0xe0,0x06,0x70,0x06,0x38,0x06,0x1c,0x06,0xfe,0x7f,0xfe,0x7f,0xff,0xff,0xff,0xff,0x7e,0x18,0x7e,0x38,0x66,0x70,0x66,0x60,0x66,0x60,0xe6,0x70,0xc6,0x3f,0x86,0x1f,0xff,0xff,0xff,0xff,0xf8,0x1f,0xfc,0x3f,0x8e,0x71,0x86,0x61,0x86,0x61,0x8e,0x73,0x1c,0x3f,0x18,0x1e,0xff,0xff,0xff,0xff,0x06,0x00,0x06,0x00,0x86,0x7f,0xc6,0x7f,0xe6,0x00,0x76,0x00,0x3e,0x00,0x1e,0x00,0xff,0xff,0xff,0xff,0x78,0x1e,0xfc,0x3f,0xce,0x73,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xff,0xff,0xff,0xff,0x78,0x00,0xfc,0x00,0xce,0x61,0x86,0x71,0x86,0x39,0xce,0x1d,0xfc,0x0f,0xf8,0x07,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x30,0x0c,0x78,0x1e,0x78,0x1e,0x30,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x7f,0xf0,0x7f,0xb8,0x01,0x9c,0x01,0x8e,0x01,0x8e,0x01,0x9c,0x01,0xb8,0x01,0xf0,0x7f,0xe0,0x7f,0xfe,0x7f,0xfe,0x7f,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0x1c,0x38,0x18,0x18,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0x1c,0x38,0x38,0x1c,0xf0,0x0f,0xe0,0x07,0xfe,0x7f,0xfe,0x7f,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x06,0x00,0x06,0x00,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x86,0x61,0x86,0x61,0x86,0x61,0x8e,0x71,0x9c,0x7f,0x98,0x3f,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x18,0x00,0x38,0x00,0x70,0x00,0x60,0x06,0x60,0x06,0x70,0xfe,0x3f,0xfe,0x1f,0x06,0x00,0x06,0x00,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0xc0,0x03,0xe0,0x07,0x70,0x0e,0x38,0x1c,0x1c,0x38,0x0e,0x70,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0xfe,0x7f,0xfe,0x7f,0x1c,0x00,0x38,0x00,0xf0,0x01,0xf0,0x01,0x38,0x00,0x1c,0x00,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0x70,0x00,0xe0,0x00,0xc0,0x01,0x80,0x03,0x00,0x07,0x00,0x0e,0xfe,0x7f,0xfe,0x7f,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0xfc,0x3f,0xf8,0x1f,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0xce,0x01,0xfc,0x00,0x78,0x00,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x66,0x06,0x6e,0x06,0x3c,0x0e,0x38,0xfc,0x7f,0xf8,0x67,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x07,0x86,0x0f,0x86,0x1d,0xce,0x39,0xfc,0x70,0x78,0x60,0x78,0x18,0xfc,0x38,0xce,0x71,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x8e,0x73,0x1c,0x3f,0x18,0x1e,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xfe,0x7f,0xfe,0x7f,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xfe,0x1f,0xfe,0x3f,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x70,0xfe,0x3f,0xfe,0x1f,0xfe,0x07,0xfe,0x0f,0x00,0x1c,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x1c,0xfe,0x0f,0xfe,0x07,0xfe,0x1f,0xfe,0x3f,0x00,0x70,0x00,0x70,0x00,0x3e,0x00,0x3e,0x00,0x70,0x00,0x70,0xfe,0x3f,0xfe,0x1f,0x1e,0x78,0x3e,0x7c,0x70,0x0e,0xe0,0x07,0xc0,0x03,0xc0,0x03,0xe0,0x07,0x70,0x0e,0x3e,0x7c,0x1e,0x78,0x7e,0x00,0xfe,0x00,0xc0,0x01,0x80,0x03,0x00,0x7f,0x00,0x7f,0x80,0x03,0xc0,0x01,0xfe,0x00,0x7e,0x00,0x06,0x78,0x06,0x7c,0x06,0x6e,0x06,0x67,0x86,0x63,0xc6,0x61,0xe6,0x60,0x76,0x60,0x3e,0x60,0x1e,0x60,0x00,0x18,0x00,0x3c,0x60,0x7e,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0xe0,0x66,0xc0,0x7f,0x80,0x7f,0xfe,0x7f,0xfe,0x7f,0x80,0x61,0xc0,0x61,0xe0,0x60,0x60,0x60,0x60,0x60,0xe0,0x70,0xc0,0x3f,0x80,0x1f,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0x00,0x38,0x00,0x18,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0xe0,0x60,0xc0,0x61,0x80,0x61,0xfe,0x7f,0xfe,0x7f,0x80,0x1f,0xc0,0x3f,0xe0,0x76,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0xe0,0x66,0xc0,0x07,0x80,0x07,0x80,0x01,0x80,0x01,0xf8,0x7f,0xfc,0x7f,0x8e,0x01,0x86,0x01,0x06,0x00,0x0e,0x00,0x1c,0x00,0x18,0x00,0xe0,0x01,0xf0,0x03,0x38,0x67,0x18,0x66,0x18,0x66,0x18,0x66,0x18,0x66,0x18,0x76,0xf8,0x3f,0xf8,0x1f,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0x60,0x60,0x60,0x60,0xe6,0x7f,0xe6,0x7f,0x00,0x60,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x18,0x00,0x38,0x00,0x70,0x00,0x60,0x60,0x60,0x60,0x70,0xe6,0x3f,0xe6,0x1f,0xff,0xff,0xff,0xff,0xfe,0x7f,0xfe,0x7f,0x00,0x06,0x00,0x0f,0x80,0x1f,0xc0,0x39,0xe0,0x70,0x60,0x60,0xff,0xff,0xff,0xff,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x7f,0xe0,0x7f,0x60,0x00,0xe0,0x00,0xc0,0x07,0xc0,0x07,0xe0,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0xe0,0x7f,0xe0,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x70,0xc0,0x3f,0x80,0x1f,0xe0,0x7f,0xe0,0x7f,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0xe0,0x07,0xc0,0x03,0x80,0x01,0x80,0x01,0xc0,0x03,0xe0,0x07,0x60,0x06,0x60,0x06,0x60,0x06,0xc0,0x07,0x80,0x07,0xe0,0x7f,0xe0,0x7f,0xe0,0x7f,0xe0,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x01,0x80,0x01,0x80,0x61,0xc0,0x63,0xe0,0x67,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x7e,0x00,0x3c,0x00,0x18,0x60,0x00,0x60,0x00,0xf8,0x1f,0xf8,0x3f,0x60,0x70,0x60,0x60,0x00,0x60,0x00,0x70,0x00,0x38,0x00,0x18,0xe0,0x1f,0xe0,0x3f,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x70,0x00,0x38,0x00,0x18,0xe0,0x7f,0xe0,0x7f,0xe0,0x07,0xe0,0x0f,0x00,0x1c,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x1c,0xe0,0x0f,0xe0,0x07,0xe0,0x1f,0xe0,0x3f,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0xe0,0x3f,0xe0,0x1f,0x60,0x60,0xe0,0x70,0xc0,0x39,0x80,0x1f,0x00,0x0f,0x00,0x0f,0x80,0x1f,0xc0,0x39,0xe0,0x70,0x60,0x60,0xe0,0x01,0xe0,0x03,0x00,0x67,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x76,0xe0,0x3f,0xe0,0x1f,0x60,0x60,0x60,0x70,0x60,0x78,0x60,0x7c,0x60,0x6e,0x60,0x67,0xe0,0x63,0xe0,0x61,0xe0,0x60,0x60,0x60, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x76,0x00,0x3e,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x78,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x0e,0x70,0xfc,0x3f,0xf8,0x1f,0xff,0xff,0xff,0xff,0x00,0x00,0x18,0x60,0x1c,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0x00,0x00,0xff,0xff,0xff,0xff,0x18,0x78,0x1c,0x7c,0x0e,0x6e,0x06,0x67,0x86,0x63,0xce,0x61,0xfc,0x60,0x78,0x60,0xff,0xff,0xff,0xff,0x06,0x60,0x06,0x60,0x86,0x61,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xff,0xff,0xff,0xff,0x80,0x07,0xc0,0x07,0xe0,0x06,0x70,0x06,0x38,0x06,0x1c,0x06,0xfe,0x7f,0xfe,0x7f,0xff,0xff,0xff,0xff,0x7e,0x18,0x7e,0x38,0x66,0x70,0x66,0x60,0x66,0x60,0xe6,0x70,0xc6,0x3f,0x86,0x1f,0xff,0xff,0xff,0xff,0xf8,0x1f,0xfc,0x3f,0x8e,0x71,0x86,0x61,0x86,0x61,0x8e,0x73,0x1c,0x3f,0x18,0x1e,0xff,0xff,0xff,0xff,0x06,0x00,0x06,0x00,0x86,0x7f,0xc6,0x7f,0xe6,0x00,0x76,0x00,0x3e,0x00,0x1e,0x00,0xff,0xff,0xff,0xff,0x78,0x1e,0xfc,0x3f,0xce,0x73,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xff,0xff,0xff,0xff,0x78,0x00,0xfc,0x00,0xce,0x61,0x86,0x71,0x86,0x39,0xce,0x1d,0xfc,0x0f,0xf8,0x07,0xff,0xff,0xff,0xff,0x00,0x00,0x30,0x0c,0x78,0x1e,0x78,0x1e,0x30,0x0c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x7f,0xf0,0x7f,0xb8,0x01,0x9c,0x01,0x8e,0x01,0x8e,0x01,0x9c,0x01,0xb8,0x01,0xf0,0x7f,0xe0,0x7f,0xfe,0x7f,0xfe,0x7f,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0xce,0x73,0xfc,0x3f,0x78,0x1e,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0x1c,0x38,0x18,0x18,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0x1c,0x38,0x38,0x1c,0xf0,0x0f,0xe0,0x07,0xfe,0x7f,0xfe,0x7f,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x06,0x00,0x06,0x00,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x86,0x61,0x86,0x61,0x86,0x61,0x8e,0x71,0x9c,0x7f,0x98,0x3f,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x06,0x60,0x06,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x18,0x00,0x38,0x00,0x70,0x00,0x60,0x06,0x60,0x06,0x70,0xfe,0x3f,0xfe,0x1f,0x06,0x00,0x06,0x00,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0xc0,0x03,0xe0,0x07,0x70,0x0e,0x38,0x1c,0x1c,0x38,0x0e,0x70,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0xfe,0x7f,0xfe,0x7f,0x1c,0x00,0x38,0x00,0xf0,0x01,0xf0,0x01,0x38,0x00,0x1c,0x00,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0x70,0x00,0xe0,0x00,0xc0,0x01,0x80,0x03,0x00,0x07,0x00,0x0e,0xfe,0x7f,0xfe,0x7f,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x0e,0x70,0xfc,0x3f,0xf8,0x1f,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0x86,0x01,0xce,0x01,0xfc,0x00,0x78,0x00,0xf8,0x1f,0xfc,0x3f,0x0e,0x70,0x06,0x60,0x06,0x66,0x06,0x6e,0x06,0x3c,0x0e,0x38,0xfc,0x7f,0xf8,0x67,0xfe,0x7f,0xfe,0x7f,0x86,0x01,0x86,0x01,0x86,0x07,0x86,0x0f,0x86,0x1d,0xce,0x39,0xfc,0x70,0x78,0x60,0x78,0x18,0xfc,0x38,0xce,0x71,0x86,0x61,0x86,0x61,0x86,0x61,0x86,0x61,0x8e,0x73,0x1c,0x3f,0x18,0x1e,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xfe,0x7f,0xfe,0x7f,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xfe,0x1f,0xfe,0x3f,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x70,0xfe,0x3f,0xfe,0x1f,0xfe,0x07,0xfe,0x0f,0x00,0x1c,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x1c,0xfe,0x0f,0xfe,0x07,0xfe,0x1f,0xfe,0x3f,0x00,0x70,0x00,0x70,0x00,0x3e,0x00,0x3e,0x00,0x70,0x00,0x70,0xfe,0x3f,0xfe,0x1f,0x1e,0x78,0x3e,0x7c,0x70,0x0e,0xe0,0x07,0xc0,0x03,0xc0,0x03,0xe0,0x07,0x70,0x0e,0x3e,0x7c,0x1e,0x78,0x7e,0x00,0xfe,0x00,0xc0,0x01,0x80,0x03,0x00,0x7f,0x00,0x7f,0x80,0x03,0xc0,0x01,0xfe,0x00,0x7e,0x00,0x06,0x78,0x06,0x7c,0x06,0x6e,0x06,0x67,0x86,0x63,0xc6,0x61,0xe6,0x60,0x76,0x60,0x3e,0x60,0x1e,0x60,0x00,0x18,0x00,0x3c,0x60,0x7e,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0xe0,0x66,0xc0,0x7f,0x80,0x7f,0xfe,0x7f,0xfe,0x7f,0x80,0x61,0xc0,0x61,0xe0,0x60,0x60,0x60,0x60,0x60,0xe0,0x70,0xc0,0x3f,0x80,0x1f,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x70,0x00,0x38,0x00,0x18,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0xe0,0x60,0xc0,0x61,0x80,0x61,0xfe,0x7f,0xfe,0x7f,0x80,0x1f,0xc0,0x3f,0xe0,0x76,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0xe0,0x66,0xc0,0x07,0x80,0x07,0x80,0x01,0x80,0x01,0xf8,0x7f,0xfc,0x7f,0x8e,0x01,0x86,0x01,0x06,0x00,0x0e,0x00,0x1c,0x00,0x18,0x00,0xe0,0x01,0xf0,0x03,0x38,0x67,0x18,0x66,0x18,0x66,0x18,0x66,0x18,0x66,0x18,0x76,0xf8,0x3f,0xf8,0x1f,0xfe,0x7f,0xfe,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0x60,0x60,0x60,0x60,0xe6,0x7f,0xe6,0x7f,0x00,0x60,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x18,0x00,0x38,0x00,0x70,0x00,0x60,0x60,0x60,0x60,0x70,0xe6,0x3f,0xe6,0x1f,0xff,0xff,0xff,0xff,0xfe,0x7f,0xfe,0x7f,0x00,0x06,0x00,0x0f,0x80,0x1f,0xc0,0x39,0xe0,0x70,0x60,0x60,0xff,0xff,0xff,0xff,0x06,0x60,0x06,0x60,0xfe,0x7f,0xfe,0x7f,0x00,0x60,0x00,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x7f,0xe0,0x7f,0x60,0x00,0xe0,0x00,0xc0,0x07,0xc0,0x07,0xe0,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0xe0,0x7f,0xe0,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x7f,0x80,0x7f,0x80,0x1f,0xc0,0x3f,0xe0,0x70,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,0x70,0xc0,0x3f,0x80,0x1f,0xe0,0x7f,0xe0,0x7f,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0x60,0x06,0xe0,0x07,0xc0,0x03,0x80,0x01,0x80,0x01,0xc0,0x03,0xe0,0x07,0x60,0x06,0x60,0x06,0x60,0x06,0xc0,0x07,0x80,0x07,0xe0,0x7f,0xe0,0x7f,0xe0,0x7f,0xe0,0x7f,0x80,0x01,0xc0,0x01,0xe0,0x00,0x60,0x00,0x60,0x00,0xe0,0x00,0xc0,0x01,0x80,0x01,0x80,0x61,0xc0,0x63,0xe0,0x67,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x66,0x60,0x7e,0x00,0x3c,0x00,0x18,0x60,0x00,0x60,0x00,0xf8,0x1f,0xf8,0x3f,0x60,0x70,0x60,0x60,0x00,0x60,0x00,0x70,0x00,0x38,0x00,0x18,0xe0,0x1f,0xe0,0x3f,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x70,0x00,0x38,0x00,0x18,0xe0,0x7f,0xe0,0x7f,0xe0,0x07,0xe0,0x0f,0x00,0x1c,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x1c,0xe0,0x0f,0xe0,0x07,0xe0,0x1f,0xe0,0x3f,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0x70,0xe0,0x3f,0xe0,0x1f,0x60,0x60,0xe0,0x70,0xc0,0x39,0x80,0x1f,0x00,0x0f,0x00,0x0f,0x80,0x1f,0xc0,0x39,0xe0,0x70,0x60,0x60,0xe0,0x01,0xe0,0x03,0x00,0x67,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x76,0xe0,0x3f,0xe0,0x1f,0x60,0x60,0x60,0x70,0x60,0x78,0x60,0x7c,0x60,0x6e,0x60,0x67,0xe0,0x63,0xe0,0x61,0xe0,0x60,0x60,0x60, diff --git a/radio/src/fonts/std/font_10x14_compressed.png b/radio/src/fonts/std/font_10x14_compressed.png index a240544ee55d225bf35c52e88733b7096a039793..3918dafe1115a725a0f72659bce9d22c3b0ce3c0 100644 GIT binary patch delta 1457 zcmV;i1y1_p3+@Y$Dlq^60002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i*)A6d^OB^)DQeTPS~4Nkl$}W^1D)7MmW->h*c?7o~VwG#TxKr3*?o7Jnl^=VukaS5ALW{#6?~mfu+XMe|G4 zcxrmA@|<;_vjZL8`Mmm)o!`3NmOVn{yd2R2C48Ukoc0tXqBxoHRO3hOS2><~-m5V@ zj&<+d(YR`dl$|4E{wSw5i&qu+Q}IjGcm?mYO9cf5|6zZk5;#XGEKy2yyk08XW2i zA$;n4SL1S96XYa~MDoL=!-i~p`7j8Ak_R$u2R z(x=cLqihC>Kh<3UZ*8qdPoo!0d+W5?4ewnA>wBY24!W=C8uHOP)ax5%RNhjP{hTvwR;80dfWMF&S~p5c=Z0!dA%p|k?@aB!ht-OTXP#mkUN#RgQc#9!E8T=zBdriO5K; z?wrm#NP06M==xB*{Pc{9m%l248X%Ojm~MYo*8(oe+=J@;$Q@9x&g)rHcl32J0IqsJ_F>w~shR{*a= zaku?M%UDz-)pKIcn(wOadW4r*@~f^9L%VBO4zX-4Xryt?xYVSy53}^a?2Jmb^Q3>K zhc~0b-c_*b17${q@poG9d^3f5G}i2|5vc?yb00JD$6R!XR79$;U1g@RX5GZK@XLyk z)X1->S&SHx0*?L?7h5BC<^?nb>1{VQ;}EL;BHrvT&dtyVv-QA=`g9gu*e*H>ectwr!t-)EHhPuIg{bL|R(6(4&8&HRpNRlaFE_qsWeTyq4l(qaTVBE7S81T}#Bb z#1&~_%eqiS77@Kt_0L0O6p=e6J=iE^Zww3G**azg{@6Z^3O#P+IksL@r8|&_6sj97 zku8P2jB-v_)&~ro6nAb^JzZP-RO*A#`)H4Ol!v}*2J?&)aYO!&^`M?xiWznDu7F=F zAFZ&TS!?j}%ZjvCtg(d`YdSDveJD+l|5v+#oLNgB@uk4kaG}-*E4Dzo%UTt7ou!*n zA7tAQI)dtjSv6YhNw%KTKlg-NjCTR+7i9_x3Q8ZS>_X|G0uTHHQ+i}#a_@4+00000 LNkvXXu0mjfLDt;V delta 1447 zcmV;Y1z7s-3*-xsDlz{6{{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2i*)45iB_A|EgAzTPS}_NklCD%0qVB?iCV|H`@dCJ9 zMDzN7zuzN~Ua!}29LJH|E!=NCm-Advj=uk=l1EWd;Q@*VD!eZoD)P|h$qNx#gtPYA z|JjAuzTaz4Jw7l0qJXC-li562xu9}m`8Ol9e-`+?>jc$bwV{7w^^N6Uw7x{Or3wJCbOewHa5C+w+K-yAvORUbXKi>K>(RTj zcGV6k+eb$KQBG}^t}6Ja(wC_Aik@kgii(Q<=yOL9XtNZSEG63BS)|zOml?w>BjFj} zj3=Y^7(O#mcn^QX+jkg#_p(|&{`~%r^y|$uAmf`+FXM{p7y4d1Zi|8a<*ULuW#y~Z z7f*Y=|DrSatBB3OJ;g40*MpVcC@w_5S7fszPoekSCiE**?QFhVhP$%I@QwW%?BO zG26{R`KLN7;H|Co;PfavkIvU>H@s&RtnbZsa?p82*O1S~p&s9CN98Fs>9@=!9ko$L&l0)xoWW5o z-EZW^W*8ChRUAHx%m{l={aYi-RqILZoHB-bRI7if#3PHoAi>yZeOxX0>1DoW@?tWB zXmIMSiAPJ3*cyBWrNP7t995?lYLitd7V>>%x3(z)DuVT_$c&3eb!<{(Av&HE#K_G z`tE=B(YvE!(XWqpAz4p5-_1Ggod%DdKiaQ1GM_DeWDA4^d^8Hps2NoqkYo86bq}gF zV$S5FLayrjCecjCOiy<)VwU@Md$(LLYgOgQNAq!3BZ$5?(i29{SLw~l9hIng%w*<~ z2Wpq^zN6yRugahXEXq|%x9ZjcMXl;pKlzFScPV0!7ujNXx>~X8E^qT3z3_H}$ z=^fWu(Rvv~?yh9(`igpG&-t46-H)|%b)ocb3pH{(W27usy9aHzTLHWd#nt8$y~d(4 zsh)^EtG~0l>lt5GtzUJG7<#*gC5UBfK_iW8#-S#qeOQGDt9MkgohP+CygMrFSp|P9 z9w>KI7=Net&O38a&)Qo3H6qml%ACha{vk#uqc%tNwX4i+tW_s*E&8%!CN=UaY8E4g zYyn4qiHoffYjpwLg7jWDwju~se-Ur>7w1;s!D<}X5l>gi1(BN?54`u4v(D*p9LMWR zB8Jz9tL`^rGA+GR=+W7lwqG{#QOtj1mf7*P*8?uqH={jYRkCK~JV30xu|OHg&*Y29 zBcc|Rt+_?kD6;O9@?f)+qc$vjXX}_1{A2HFRN%N(=h%8t6?QOqh~74lg$J|XCo1u? z10FDPQk=O_-Rat!rxFil@1u9jqdN3fE10L9h!gTxtOxa+Qq1Ug2mV_1XoqY0tQvz? zUv`wWVvIe$ShoW+#)rxj`G2<)$eFeD5nl@2jTdS>*zpRatBh4)*IBtK@gUoV&>2)O zt*X&tBiVW`_PL@QeZLA&7Znxlg9j?SFB~fJ&_CGXUSbsgP= 'A') skipcol = 4; if ( c == 'T') skipcol = 5; @@ -273,7 +273,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) uint8_t bb = 0; if (inv) bb = 0xff; #endif -#if !defined(CPUM64) +#if !defined(CPUM64) || defined(EXTSTD) for (int8_t i=0; i<=7; i++) { #else for (int8_t i=0; i<=6; i++) { @@ -281,7 +281,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) uint8_t b = 0; if ( !i ) { if ( !x || !inv || (flags & BOLD)) { - lcdLastFW++; + lcdNextPos++; p++; continue; } @@ -289,7 +289,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) else if (i <= 5) b = pgm_read_byte(q++); if (b == 0xff) continue; if (inv) b = ~b; -#if !defined(CPUM64) +#if !defined(CPUM64) || defined(EXTSTD) if (!(flags & BOLD) && (i == 7)) continue; #endif if ((flags & CONDENSED) && i==2) { @@ -306,7 +306,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) a = b | bb; bb = b; b = a; -#if !defined(CPUM64) +#if !defined(CPUM64) || defined(EXTSTD) if (i == skipcol) continue; #endif } @@ -320,12 +320,12 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) if (r> (8-ym8)), b >> (8-ym8)); } -#if !defined(CPUM64) || !defined(FRSKY) +#if !defined(CPUM64) || defined(EXTSTD) if (y && inv) lcd_mask( p, BITMASK((y-1)%8),FORCE); #endif } p++; - lcdLastFW++; + lcdNextPos++; } } } @@ -344,6 +344,8 @@ void lcd_putsiAtt(xcoord_t x, uint8_t y,const pm_char * s,uint8_t idx, LcdFlags void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlags mode) { + xcoord_t orig_x = x; + while(len!=0) { unsigned char c; bool setx = false; @@ -359,10 +361,14 @@ void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlag break; } - if (!c || x>LCD_W-6) break; - if (c >= 0x20) { + if (setx) { + x = c; + setx = false; + } + else if (!c || x>LCD_W-6) break; + else if (c >= 0x20) { lcd_putcAtt(x, y, c, mode); - x += lcdLastFW; + x = lcdNextPos; } else if (setx) { x = c; @@ -370,7 +376,16 @@ void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlag } else if (c == 0x1F) { setx = true; - } + } + else if (c == 0x1E) { + x = orig_x; + y += FH; + if (mode & DBLSIZE) y += FH; +#if defined(CPUARM) + else if (mode & MIDSIZE) y += 4; + else if (mode & SMLSIZE) y--; +#endif + } else { x += (c*FW/2); } @@ -378,6 +393,7 @@ void lcd_putsnAtt(xcoord_t x, uint8_t y, const pm_char * s, uint8_t len, LcdFlag len--; } lcdLastPos = x; + lcdNextPos = x; #if defined(CPUARM) if (mode&MIDSIZE) lcdLastPos += 1; @@ -821,15 +837,15 @@ void lcdDrawTelemetryTopBar() { putsModelName(0, 0, g_model.header.name, g_eeGeneral.currModel, 0); uint8_t att = (g_vbat100mV < g_eeGeneral.vBatWarn ? BLINK : 0); - putsVBat(16*FW+2,0,att); + putsVBat(16*FW+1,0,att); if (g_model.timers[0].mode) { att = (timersStates[0].val<0 ? BLINK : 0); - putsTime(22*FW+5*FWNUM+1, 0, timersStates[0].val, att, att); + putsTime(22*FW+5*FWNUM+3, 0, timersStates[0].val, att, att); lcd_putsiAtt(18*FW+2, 1, STR_VTELEMCHNS, TELEM_TM1, SMLSIZE); } if (g_model.timers[1].mode) { att = (timersStates[1].val<0 ? BLINK : 0); - putsTime(31*FW+5*FWNUM+1, 0, timersStates[1].val, att, att); + putsTime(31*FW+5*FWNUM+3, 0, timersStates[1].val, att, att); lcd_putsiAtt(27*FW+2, 1, STR_VTELEMCHNS, TELEM_TM2, SMLSIZE); } lcd_invert_line(0); @@ -862,21 +878,21 @@ void putsTime(xcoord_t x, uint8_t y, putstime_t tme, LcdFlags att, LcdFlags att2 } if (tme < 0) { - lcd_putcAtt(x - ((att & DBLSIZE) ? FW+3 : ((att & MIDSIZE) ? FW+1 : FWNUM)), y, '-', att); + lcd_putcAtt(x - ((att & DBLSIZE) ? FW+2 : ((att & MIDSIZE) ? FW+0 : FWNUM)), y, '-', att); tme = -tme; } qr = div(tme, 60); #if defined(PCBTARANIS) +#define separator ':' if (att & MIDSIZE) { div_t qr2 = div(qr.quot, 60); - LCD_2DOTS(x+2*8-6, y, att); lcd_outdezNAtt(x, y, qr2.quot, att|LEADING0|LEFT, 2); + lcd_putcAtt(lcdLastPos, y, separator, att&att2); qr.quot = qr2.rem; x += 2*8+1; } -#define separator ':' #elif defined(CPUARM) char separator = ':'; if (tme >= 3600 && (~att & DBLSIZE)) { @@ -886,30 +902,9 @@ void putsTime(xcoord_t x, uint8_t y, putstime_t tme, LcdFlags att, LcdFlags att2 #else #define separator ':' #endif - - uint8_t x2, x3; - if (att & DBLSIZE) { - x2 = x+2*(FW+FWNUM)-3; - x3 = x+2*(FW+FWNUM)+FW-2; - } - else if (att & MIDSIZE) { - x2 = x+2*8-6; - x3 = x+2*8+1; - } - else { - x2 = x+2*FWNUM-1; - x3 = x+2*FWNUM-1+FW; - } - -#if defined(CPUARM) - if (att & MIDSIZE) { - LCD_2DOTS(x2, y, att); - } - else -#endif - lcd_putcAtt(x2, y, separator, att&att2); lcd_outdezNAtt(x, y, qr.quot, att|LEADING0|LEFT, 2); - lcd_outdezNAtt(x3, y, qr.rem, att2|LEADING0|LEFT, 2); + lcd_putcAtt(lcdLastPos, y, separator, att&att2); + lcd_outdezNAtt(lcdNextPos, y, qr.rem, att2|LEADING0|LEFT, 2); } // TODO to be optimized with putsTelemetryValue diff --git a/radio/src/lcd.h b/radio/src/lcd.h index 3d5cc221e..4cfa02c15 100644 --- a/radio/src/lcd.h +++ b/radio/src/lcd.h @@ -139,6 +139,7 @@ extern uint8_t displayBuf[DISPLAY_BUF_SIZE]; extern uint8_t lcdLastPos; +extern uint8_t lcdNextPos; #if defined(PCBSTD) && defined(VOICE) extern volatile uint8_t LcdLock ; @@ -227,14 +228,14 @@ void lcdDrawTelemetryTopBar(); lcd_vline(xx-1,yy-ll,ll); \ lcd_vline(xx ,yy-ll,ll); \ lcd_vline(xx+1,yy-ll,ll); - +/* #define LCD_2DOTS(x, y, att) \ lcd_putcAtt(x, y, ' ', att); \ lcd_vline(x+4, y+3, 2); \ lcd_vline(x+5, y+3, 2); \ lcd_vline(x+4, y+8, 2); \ lcd_vline(x+5, y+8, 2); - +*/ void lcd_img(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t idx, LcdFlags att=0); void lcd_bmp(xcoord_t x, uint8_t y, const pm_uchar * img, uint8_t offset=0, uint8_t width=0); #define LCD_ICON(x, y, icon) lcd_bmp(x, y, icons, icon)