From 3793b64373e49cdb58735f8d98e15727495a85c0 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 16 Sep 2023 09:31:20 +0100 Subject: [PATCH] Exit boot screen with any key press + compander update --- README.md | 2 +- driver/bk4819.c | 10 ++++++---- firmware | Bin 164920 -> 164920 bytes firmware.bin | Bin 48416 -> 48424 bytes firmware.packed.bin | Bin 48434 -> 48442 bytes main.c | 15 ++++++++------- ui/menu.c | 3 ++- ui/menu.h | 2 +- 8 files changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 3946a71..eed3aae 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This repository is a cloned and customized version of DualTachyon's open firmwar https://github.com/DualTachyon/uv-k5-firmware -A cool achievement if you ask me +A cool achievement # User customization diff --git a/driver/bk4819.c b/driver/bk4819.c index 78c82a9..044d6bd 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -528,6 +528,11 @@ void BK4819_SetCompander(const unsigned int mode) { uint16_t val; + // mode 0 .. OFF + // mode 1 .. TX + // mode 2 .. RX + // mode 3 .. TX and RX + if (mode == 0) { // disable const uint16_t Value = BK4819_ReadRegister(BK4819_REG_31); @@ -536,7 +541,6 @@ void BK4819_SetCompander(const unsigned int mode) } // enable - val = BK4819_ReadRegister(BK4819_REG_31); BK4819_WriteRegister(BK4819_REG_31, val | (1u < 3)); @@ -548,8 +552,7 @@ void BK4819_SetCompander(const unsigned int mode) // 10 = 2:1 // 11 = 4:1 // -// const uint16_t compress_ratio = (mode >= 1) ? 2 : 0; // 2:1 - const uint16_t compress_ratio = (mode >= 1) ? 3 : 0; // 4:1 + const uint16_t compress_ratio = (mode == 1 || mode >= 3) ? 3 : 0; // 4:1 val = BK4819_ReadRegister(BK4819_REG_29); BK4819_WriteRegister(BK4819_REG_29, (val & ~(3u < 14)) | (compress_ratio < 14)); @@ -561,7 +564,6 @@ void BK4819_SetCompander(const unsigned int mode) // 10 = 1:3 // 11 = 1:4 // -// const uint16_t expand_ratio = (mode >= 2) ? 1 : 0; // 1:2 const uint16_t expand_ratio = (mode >= 2) ? 3 : 0; // 1:4 val = BK4819_ReadRegister(BK4819_REG_28); BK4819_WriteRegister(BK4819_REG_28, (val & ~(3u < 14)) | (expand_ratio < 14)); diff --git a/firmware b/firmware index 89a410444fe6fe09570ac096b3b3c40fdb26e864..e1fc53e86e3127b471b2327df84174c441624677 100644 GIT binary patch delta 3706 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 delta 3064 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 XRywS1S-EchtSd%e$fQKWOD6h%M~ZXd diff --git a/firmware.packed.bin b/firmware.packed.bin index 47f4d4355a6cbf4eb7c801a00ae89db5bf699b3d..04e203f8a51843ca35d4d71cd6f4386e87dd4c7a 100644 GIT binary patch delta 6016 zcmX|Ehd&hl|95oeStZUqd+$E7o$ZY56%KLP+;Jiw$Jr``b22hR8I?OHa#u#fC=znA zXLd?RvVQk@d>@bBAMkoSp6}Olz1}T<>B)cT2|@rsLxC{B1W-b{0T>4WI7yleP;o#Y zDOT#30kBR&%fT4{CZrL?Y6d_M39b4T0JuTYRL=we_()w>WG(=NNNbu*^xRB}&6oPT zxK3=}Lg~daC8g~P&b8kI#tPo+_yc~DN9sHxkb>mW%B5A}ORD zQ$J>`reB0%T1TST@Q-c_$k$k4{c2G({JgKLb21LDV{G3xY(E6lT69hcq62CQ7B#i_ z2_A(aK(N-ACP5TTs!h+=kk9p6*)vQwM?kOk)as=T0X*y_$EgreXJK>TY9j}E1XqZJ zu0|eius^wEexX6vF7SOltAl%Q`oH`ww@nPX1<+-V9s7Ofzka8S$(QF2=lvn-cg>wW z&O1puju91TD`o(FjLwgl_7RvNNF0=G!MIglcng{ATbmqDr;*rg^%($$Bx?sL4uBCU z(&y+R%bmq26?Ud)-IxM&R5M_VB!O-Ruy348wVAso2app2u9lJ3qV+idRV1lYCVBw1 zKq>tRpt)c?eGKrRpdlj_@S{K}(~Twc2MnM4)py#Jl#|JM0dPVp&yryPj*k+$ObZ6? zL!|g5?S*96xPPzR*;f=}O`rse$;MjD;hL1?yQ4;Evpcj|`U3V`h0DlDy|j#qMcayr zfK@Kqe4;Q)=K|?kt~CQN?FJq8E~y+R3^03^&LMNx&MAUp?P};*S8c7Zt~7tIjIq-@ z6j$ME{?Z9ahI=Qwa?q(!ug`tDnXvL?;RJfjgq>QM5{`74>?UjIYBh1Y;Jm*a8cx0#(br{p3w_#swWM40b>HCKVR0($`6-i z_ORRW_7V&qOoKjVX@i06QM2@2q!xJ4bl3|X&cMj4Mb=#F?8kLAO9Sp676ZvJR_+uO$-@;d8TuS9lQ4`0VkYDg8_d;q~N zi71@>aX6kX1X}wb7+ROZXJcw!LjCxFjm|0?n?>0scR0T?IVDw-0(lx8`F@{Y(2Rbf zI56)QXY0tMYZh?TF5B^X?NATe;Y=ms-HT1F@Tg`7S=CH2T&wW#9*LEQB3ibiIG+7C zM)Y;%kb9r7!j_AS^B=J(oUm;x-GO;<7UrY0WJQS zx^!@WDwnlUp$b3iv<4+?v22HL+@&>bpG~>3c%PFw&#n~OIZ>scEYToog}vzX*6v99 zo?(&VBYsPt3>J7drEcsGW|A(KDvSVbHbKM*6{CzT$qNG(5Mv`7MzW>fA^VFvTO4(Q zL`cU>p5OaGl;xRKJT)RAXX za#t6uB_=%n?Bco(5LbQUvbt0ZjKsOk8jFAO-8I`a6>?ArlQ=DL!ioe>%fm59(+(5J z5fYUMzfV6(_#}88f~*#ICaH&9+xP&%zcgnP@6aya>Un>w|DeM>r=;FL_zMxz%y&p- z)U6cZuQzTF_>{p3CTBfmbQJWlvhz1y8+qO&r=u9`f3JodgW^4_y{CCE;&$WZm7UxB zGrcx?zy3*8I{zZpjg7VgbfMty{(bSn^Cmi<2b6lO4l2CTE2$mui|aZ0+D+hH$B?r2 zJeAakYD?g^Xp0XYHx=;6h&9PWkGE*qxp!A39dn$kjp_qyhjO{d{ThAj0^XBEgw|Sq zXQG^pQdGd&8%uG-_cK=+j5`#a$M^m7#a{L(fmEA+sGqAW<*~`S?Ui&q|C#Onr0=x6 zhYjWd&1}hQQr+pJbUui6XDOT9qR?*>pyPF#*(lx?18J7VZDX#SZ4YQ>`$0<+UF7$* z1=+5yr$Q*5{^|;ul{L@EYoa3HUt!7g*}ERhD1S0Ml@|6n5A5}TWNvDr?mh_Lk?_!x zmQ&ZUNL&_Ft~)9u4rbPv8T1EG774$EXx#4d<=ZE3M5 z6Tv~IwkJ7w)3<&axOesP{q0HJN*!=LEUD`wD09eR?YYcF|Laa_(%eL#*v(UpdG}P- zw>RiaPphA0nb|{q#4lk^Wo6=G(!=n5f8^V-5{s#|O?xBggjh2u;kxgyV0BZUCqYy& z{gBwSQRG%hU8RdbXq-QJQ(#$$psO1H?yN)PnDdeYG9J}>xJh$C%gU!6jK?cH+O$zk>u_i;-C3>#Lp^EUX!{tG6#wh{LnZ8g zBDiG-=?X+oE^7pu)oy+O`WT4ZOw_GZ6s$FW5wKH-23I@e z@d?!MXSco-?3tpbi0ZUjgYy-Vs{A*P-I~gr3<9ixtIgfLBeD5$o_bhLU4e47f_gvk z?jEaK{`e$c-{T^l)r_V?-l5)AsqTMhB7DB#EERpF$XeJBH2qL$X`}MoVq?+WxDEQ7 z^T8uuy)?_*Mce4!fYt4{gs$yslz@lM4o)CywnqYQVgE~dC8Q=FIkCoGBC1oT1tDj zv&@!Y(Vv!Hwr;!cdH;+=TlBxYZftJ)NO9-)5)|$o{`ab`sg34}Lp04XfGtYjo z?U=P{e)Ps1w&gxNo9FlBtV?}o z58KMpGq>L)`YSEe-=indJ~w!l)bFc+5DC-#9XhzDISj43w#6{fb?NUBaJJCmMHgQS zsbxu9r_tggKdUB z+O$b){d!+I?67MH?7I%1CBaVen7DaQjU{CtZiO#->tsaoLujB=5H z?~6w9cJ||e-=ZS4i3ppO-iMnQajNH0{$XcM(8}O2@r(U-#vgKhv*5ugHnt)z^a>l3 z2zv!C{^_KGG8|)RMzle&CG_}e?9)@@NBHiS+57@L?;5roUjTQCmq>%y0v11}OetHu zp@#SS z6--Y(JRP|8MZhN`$>Oi}J(#tk$Z$;0+2cCe-F4Q;P30-U?kkc76DSKwvTjTBxTdzO zZpUj&hVzYJzn{TZ?A+!{sa0zF(|p!4TyG3{KAc>f4JupC+ZPhzUD_B~e%bR-%;_Xr zCi}|{zuprbWQ&0+B)IvC0A;v;yT*zblo!D*;i5%e;c_^7oNFzY<9wsMMj8^xd+ z<$xY72MnjPCyBb~xDycz{(06%_`t*~b2n)hk?HIdJ&&hZMU7Ewgm(I!A@o9S(dLe) zhovcp&acDtMsaqYvE(B%CM@DC=0l*N0a{!*5!>8Nm~j4p&5Qd36y_{XWAJMH4i0vM z3(<=sn9=8J244&Q7U8`?4X{YMTs?54ZI0lb{tiE5bJfRpB;7{c zt6KDv*>x*lK}tgiD(?-#(Jh3a&**vw7h<~rVT*buDjr-r-z(a35b!OzHubgrot%9m ztWx8pERNWMh&||QYE`IG2&QaGtL|^}CfdUg5ryrsNl5;aS(Wn0KUZ6SK%wakorW> zaUmGdl#TbFYqO27YuFaGm!;z19?(|IA8 ze7N<&x3k8VPMYxW(QPsB{)xcysd!3VsB*5v0jUq+Xi#_mDXbmGWj~GMaZmpe`tfa_ zps0{Nj$EAmP}5xfPPt)A8|(D7?}?PoIdlad?%VOpkiWis+yIb5ZsFS;ioCidP72M*B7mK<{r!>?XKE#+HpudKoWb)rfoJAb!e>8qGc8 zK;Ry~!FCVRzNwy$Dck=0w^e@svjLUEaE9l7`D$_NhY;KihF_9UFBM<5G05T1?Z<2f z)dB7q$#qpUMS+m!&VkKOL4MM&ZGWwsGtVF$K6@ zjvL*Ma5uK;6IJC(JV~dx*U04XRp*_|k-qx?(er82HiTj0M>XI` zLV$C$>K?k=Te{9aNH<`$O1b=d;Q>nLOoJNa%IB$3_Ra?Wi#p;O^Z8O(eq|BAObV^| z`iMd?X-SQ7oV;M{aj7w+^L4rcofk z$nN#G+Q9o^?e;B`T<8TN{(}}Pc9pWUxvq^CR#7Y2jHv-wqzKM&T)XBWOP&1$xb@vH zTurHN9O!!{)T?s6$*O2T^%a=(1H3D>}2buKlqw7DF)8z`IAugQX z@YRlYxuqX5@>;om84uYz+)6TJ83uoja)o&6pG~-ciA6)U^evp2j=LM|*lWG7`-VTG zoTS~jamNWQAc;+v^^lOzL~&eiFMuA;3Kx|5OEu(bV9kSi9a}wG;VQAtmLP{>Pac6S z#~>@A_pPzVdv?UU9v;TmrLWl+1KHf#NJ+@|*F$P;kdQQT2qAw;!e6Q*(nCXS%?JKY@ z{AJrSpHXdasny;Ok%7yj+Bg`n>q(@>l*?RbA*=XYvP#jw&w#+vd7N>Y8y2&NA7F0P zbxBjwb#v_<;~eX{yM+R#%T&-O8mL2v#DCS_t`d#t2vXAs13|} z4*|kWiSF_8!Y3@;vqPfj%2JaaXPH?MMkm0KoM@KnNjbD9| zUbGE_hn=zn_hBp2;hLHCZ#&8ueAKV06)yQsDN63@9YB!5A`yRZv&<3rO9B^R#CNu4 zTkr=0UZ>E#=c=?Ivc-YaSgY3dPwkkAY682}1H6Nck6Ik5eBj~FhuS*t*b2VczAFat zR~cJJye-V7eM5`FIz278ZT%zG*u~~g#mBMLNBF$Q8V}V(Uw&~x6ubd#5)v8Po^ z$q{CaO4?_SF`;40+4~Z5_I*NQflP4}1D1)ZSh<$0m*e-JU3Y`E+7>BG+AVwa^q)^O z4GV@t5c%hKRE03MyB=K(@9bjy2Iq^HDE=PgW?^*ZU zv^q)MaN|XO3uy3s6J61t)@4_oK0x*s;ge3&+^is9dzP#DvPW*Hoeke%wa4z=X^2-% zOTO`gXz0%ybef9V4Aezi3NqmFt5QOjaUJU4()9`%oRgsKUY$W- z8sv+Qk)<+#{>4YidoX~^@t+hc89)epr1Ag=lz>-PNe6*M@I+N8BS;YcLmf;HVOMPC z9dYM5wi(c;mrB1Nhrpd_4uPg|Lt4I|UA(-u7YOthcVA}~l#BP(y}>NCft|N8_VXY9 z$G4^YV{^E0JZ~9zWyuX~BO@+2{54q`iu+Hy3Tv!v%hj($Eh_-5}tdFWSa1lO5 z=7;I8pbyq`YkAEW>$Pn|hU(btU5D>=3bn-=>yd;by&SrCN6vQk9-t1Fkt}z6LJ58= zC)Jt9<L;`L! zOG1|Of}JRo9kTyBV^x33|Yr}@-lN1?w?20)2&PIi6ziurme0#Q7XfqC%C{2oGqs@xHFtNcdY08 zwD9`ZGV@HZ2+vtFyi;B}2pBR&!X#%29+F|FY2V82biCRjWJ6kX9CJd?do0Yw5|x|T zQ%rJ*U4ZBL(xOjVSYw2C$eHR+vfue4=>Rq)f(flwXvMS2NhMY-jJhJtN3-EZ9q1MA zg7t8nRQ>XK8y>R%O73I}k&X7je=5qLV?W){ot=~RIlXmks_0&;4{o`$*Sv5y3nYLi z;tI#x_Ebtfla-f0!^_2hFVR(9`X~X02E^sH^}>h78QilUBanA9&nwKytTo$B@Q0k< z{re;Jkdz{qE$2U0LGZi*H9qISVjtC4C!AKu@MY-Kpxkxo!q-)w9ei_$`aM|FygfB3yt^gs_@7EAL3s zP?ZZk^(kKnG9BxKfpiu4z)jdr!6%fX_zRJ}+HrqUlT3q+wUS{`9=jC{=IwxfwQKWX z#{^5;+#l-6`^6wB%pt$zz`5egt5+MIip^>jmQ3a7P}?$tlKN^&`MQG)I_CM=^gw!V z;>EKTZ<}04j8vT1z-5t9LPJ{5nTti-R&0Iye~^@)D>5rOux}h@VEmk@mr`q+em*@$ zm6GE&o^c&Usa~j5cInD1aJ2>W?0G!0Tr;jrFdjA^-t*63CC7u#xzyXtGEH0X6&%eA z75;5^5*O>fx*&A9!|d(QWOyO!fSZn0uOMEKsVs!mhQ6ud*am(R>1foUT6#d|7-iMc z%Sp<4g1aL;7t^i3ZAT6S{c;W4fJP$r{Av zPxo5|1x&}E_oN>TJ24KmDHold3%}sl3Rcu4l-<+(%tk-mR+STt5f~qTykw^yFbUbM zDY@i{5sAB>=mV?GhD`$f))_-bjTOwn-Nq7!Vd04$pV5;t??r?p!Yb!{UX40^9)P41 z+DW?9PZ1J&{dIoWoH?U_n|HX|(lXtrzSb!NG888r4#aEK_)BZ+goiEGVYmumO#B~b zf;cyaQCUEiBKlxsv`q>6D}+AmBciGQHEh@kHrS@s1Qj@Xp5`2UN$_YTMe?bwQ?kDz z@+o}jSV=H7)6h}F=A?FQm)i{oKyF{5(gQN{DbI*I{cY~vH+no;(MPrehSRf=D7!yO_5ds)6r5WTw>=USBka}DY6z!<@g615_;0vfd(ZhjD2Fb4 zLEK4xXg$v&59+tly8iO&z#Wuk?jOTEGk$Q*fo4RUAlp(QZ`jSjUYVZkVJEeb-m4|2 zDvqv>4PSU*+j7J+=qIl~-IQ(slfBuI65>A}b(s&Gu6)3Sq6TK_1GCHx(t8ELCXAC3 z3oRC%dEVae*uDVFnkBjMjYx{Hz8^``VhtgSr43=F9|uK|cVR7rX8fE3qXNx+?tIaVyI)sN z%}Wn4n~0dAxFA5(9)<~J##V4{n#W08Padf-ok^9zY_ zfr75<9J6@s1?0e~!GsC3qE$=+cjumuP81`hUro#8rv9>2Qu4xC43)jn6i$(F(cE8gy^a7#BDg|Hk(_mX9M@ z@^v&?&E3f(Hiw?J3;6%ae|aXEazP-a3e`PI!Z>SW_P`5Une+<|G;06_xsc;4Hvat0 z*b<_NfO}+D%dL;9O-ltOU$5CqK1`tvVeFK=PET}{0Qtjz6}WY(R{E4@17Uv%oIjJZ z_qFILbkppf5^VB{^o+_E^f^Fj-@Z1tK#o_3Fg2q73WK{yHm0jAc>^tFHDHgE@5_Vf z?iF1(jLdSXxL+bJ$&L$U&G){=b%P!Rwv>0j2p1mYDFYX~x!FU`NeIS;CDYgJAz9RE z9uRzgT4N<^C;F2BA z?=lXNyKWxsCVX0)2QMw9Ir;vrF8Czl_xsExr3EntNXe9!#_oOw(k#eB`t#QtiCn4Do#MRBaj_l;nqUe)q5VZf=fszb}3T$a3D&iwS-9qG5<%^oeE zrgXNA#YribM^0}6;D3C>iX^>AMIdto$<};poF@&BbeWqQQ)i{rjrGF2|8bLQiTE%w-eE&3v3mawzqL zzcd*2rU1?+>H{kOR;cO7y|ZGaL-eXNY_AWdlWmI%=q*pg^m6NnTmmOX1u^Sey<{P! z_bi?$4r!wQP_xY9hw&*OQvO!H3!iWXh_J+Ce^`@kCI1NFQ{4EHFRWwhL-x{`XZWOW zO%nk58xY!$DZYx*fNIy=Ra?JAiWqW(zvK(?ruwW|yE__@8;zD^NeTbWz&b+qgJz*s z4b207G!I-^9C=6hILV9@;Px+2`CKCc{=!^OyNIaR%$+r?qfxhN@&0mTRa#UCcO89j zvizKqB^&mrch67lWdg3(PB*?0A_uI$TjGkrp?URZZ#@S!1j{;w-k520>#S}TDrL$^fAvhtpbP=*6|RKnEYdJKRLB&>-)dQD>6m|}Z=;zonJ{9;I zt*Sh%A1^wt`>ApS{FbtM%RynZl0T4;ht+B-;W7iHHL4eyW;$9;lncW8#W7o!_c)K5%Cs{%LRE5hi(3Wj87M&NMBBAz4Bd1qjK+D zd2-~D2@OLgp`l3f+@Ri61{P9Y;Nq%zH%1hTNQcVsUR3EC9cCMah;ywJpJ<4S!m#0jzLeScas1^?fASTB!VJY&4!t=B)^G$ z5lrNqHC8`;!EU}5IupDj#Zk8_{H!DuY`#YL13Hz1a2FhmMhrRo&f92*!D@dS?*C4y z)(hK5ltJOb=ha&CtUaC<&(M3fad~4Ydm_@qr-Ng_8#_@oYg2M_L{F@KoAyTJO_(qm zo0|!_{m{Wf2t2pzeYsSA(HirB3Hu)P>((>wSvp{?T7;=Cni6~lv!ou}s2sh^Yrb}Z zH|lT<(JvS{VoZg{yr2c}Z{NNAop$|QK&{)3L4`pK*S1H*1uL@poqd{+n9=e>F2CW1 zuK?){uWh7@MeYh}S5anN4wKJaGJ___KIMGm zsJFIAZ`rC<7~G zM9<3$uYMvURVcG4p^O!}o2g6;te1Fn1^Cr0=KPwa@Zu>{s%=lWv*@l6!*fFW`8}A3 zWdVLE?4yX>JR866wT_CQ-Q28ookW5=J_gS3hMp%`UhBzCHskIV3c*rN!(rLLi;0vm z2?sqpXYvVv50q_7I801P6bvPQ8)OI|Id}+j&hE)7Qgmx1G#^@$yO=(+yyTlTbJ%$< zV6(sG3Tpr&4&Sjy)zpUdtG+mZKjpQ>Jpdn@8S#(78P@=8U}e+PJY*sp6-=d{kN zFnnGFf(nl+uRA=x%JMI9Ql1m2&uOTdJdeC^N&fp2#JH^yF{URxB$SSO<5`!CNL7GG zgm&wMDKF(xrL}Gmd*NH7C*!%e3_~JAt}{$Dwd0cyHa0S9heGU zCPOL}`0{LGp;iMqH-?BATRPDM#3w&{M?vM289kTUyY+VH7m=`u;(Z8Ua=&pRWrorI znv7{yx^HFJ)slp>V876q=&alkn00N0lC08?egk8Q$iooU4!Q1Cw_pC1bopAyvBe3)6a*x0nwWLCPm zQfm5C(P6}~j9bFPC9G^Ulg}qv)I*%3DUa7XQ@0_(>_neTK~)RP1wNSEg=?BYia1A_aPC`kcY1*mp{ zm4(yhVkfMDBS2Y_hx$F@o2qYO)*cK-`5TG<2B}f6|2zi!DEwH+9NLnvJ{;rmMpFl8wxHU40(X*;6%!^*obiCkgso?Yk*Tzj$tL zU$TPLRJ#vG zZCZc}9marx;a}xV{r(q2s9qy6O@jyTU)=d&4c>cwqJ9w;!%PccbnD{}8-3oq^;?lW zIeddDGbklDN&Dp*Yk6kvjXD!+Rd^&$jmy16m4{ER89_0{s|L1}5w7d9YudhoE9-(+}c1t*n*jGFXXnq_6&Ua^&2`uBogS2`;Ykl~X>{96rXB zEqZwjk(aX((G62K;QM;?9-YlzD7V9Lb$RISteSVFDRaMtAs_79X8lktNscNfegTtq zPpV;haU%#>PHTa_pdsXX=aArPZ?y%WQCi7vNvXJI_GoFPa@sP=9?st3#Cuus_MH2c ztOcv6MlYV^VWf^ub8$FsQqbzz>~mDNv>9L2NQG9JbqfLpeYUKJcTyD^paQMkcNW$r z)Vjp4b33pD&D;esqdJ3N^1KZ(%)ch7xP@p_9e$^5wG3L|=ys($Pu%qZIoZW%

G; zO(BRS^_`|w<=MHrutN&UHFiU)+7o)%rCyx{--*Mi9_T9M!X09r{@`~Uy| diff --git a/main.c b/main.c index cef6c9e..e03bf3e 100644 --- a/main.c +++ b/main.c @@ -66,7 +66,7 @@ void Main(void) SYSTICK_Init(); BOARD_Init(); UART_Init(); - + UART_Send(UART_Version, strlen(UART_Version)); // Not implementing authentic device checks @@ -93,11 +93,11 @@ void Main(void) for (i = 0; i < ARRAY_SIZE(gBatteryVoltages); i++) BOARD_ADC_GetBatteryInfo(&gBatteryVoltages[i], &gBatteryCurrent); - + BATTERY_GetReadings(false); gMenuListCount = 0; - + if (!gChargingWithTypeC && !gBatteryDisplayLevel) { FUNCTION_Select(FUNCTION_POWER_SAVE); @@ -124,15 +124,16 @@ void Main(void) if (gEeprom.POWER_ON_DISPLAY_MODE != POWER_ON_DISPLAY_MODE_NONE) { // 2.55 second boot-up screen - while (boot_counter < 255) + while (boot_counter < 255 && KEYBOARD_Poll() == KEY_INVALID) { #ifdef ENABLE_BOOT_BEEPS if ((boot_counter % 25) == 0) AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL); #endif } + //boot_counter = 255; // halt boot beeps } - + BootMode = BOOT_GetMode(); if (gEeprom.POWER_ON_PASSWORD < 1000000) @@ -151,9 +152,9 @@ void Main(void) #ifdef ENABLE_VOICE { uint8_t Channel; - + AUDIO_SetVoiceID(0, VOICE_ID_WELCOME); - + Channel = gEeprom.ScreenChannel[gEeprom.TX_CHANNEL]; if (IS_MR_CHANNEL(Channel)) { diff --git a/ui/menu.c b/ui/menu.c index d043ec4..320796b 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -246,10 +246,11 @@ const char gSubMenu_F_LOCK[6][4] = }; #ifdef ENABLE_COMPANDER - const char gSubMenu_Compand[3][6] = + const char gSubMenu_Compand[4][6] = { "OFF", "TX", + "RX", "TX/RX" }; #endif diff --git a/ui/menu.h b/ui/menu.h index 367f774..cc4257a 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -122,7 +122,7 @@ extern const char gSubMenu_ROGER[3][6]; extern const char gSubMenu_RESET[2][4]; extern const char gSubMenu_F_LOCK[6][4]; #ifdef ENABLE_COMPANDER - extern const char gSubMenu_Compand[3][6]; + extern const char gSubMenu_Compand[4][6]; #endif extern bool gIsInSubMenu;