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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 Io0zH@0XlB%aR2}S delta 3700 zcmdnd!L_4jG(V3B9 zdmGY){r?jAdqw-F{GqaUnC~g6+u$jE5N+i?*v9 zF}5=@{@T9Ym{FaD@!9t4=8Wu2f>OU2l#L70{fsLZv^g)ZeKvjf)3T_64tDFo9Vq6Rg2e}y({%mJp_`jWj z!GwcBfpz*>XU5-RAZ5~A3JDsv>fe9oZ2sLYY@^f`k9moi7f!{-bN z$CWt}?%F+PP+(E!NVxf&QJFj8wgiKMaKe@63<}K390}*2vnq2Zm>Yk2&aBLxkYM}) ztcKtC&2wgN?u1{;vl*Um|Le{xa&wTx9ytGd;P8 zaXq8QcHv^i?ToxRf7!id3Iz5tC@_6U+kU--(Uy;qYrAMOBRdnL;B?tm#^sC>(~q_? zUS?FBKC_LnnNef9Y&&B(r@;;e28$gG4944Q+Zp*;7;U%rb~CCov*zz$V5phCvyV|; zwQmOlLkI_hg3}HLhJYOm3}GA$3aK0n3Yi=X3T-lrsOW-#txJjr;T@hT%9V=m(p#tg=nU|k@+@20<>%;?U4 z;vt7J!(?{rdL<)8))n8kyG~(jXRLp|gMncq69a?GN(P1)W(EbFZ43l4D34@7$R0NFl^n)z%YY{L194~BLm+~ z28NkD3<{<@85qQNGBC*QWMEL)$-tn!lYzl#Cj-No9SjWTcQ7zq+rhxVrhL{jDMORX zFxXk}`6c9jF9{Fec_)~ z-m5$%3K%pPF7A28p~Sh8bp^wRIsf~fu_`a{Ov-RH40c}ij7@p2XHrI}VX*U(XA8Vj z6y-ZC7#KcG{b#|@w<$%D;RDw{V}{wDO`8gyP4-OANH?6#FyYxm&*Y4J!`Teo&p6bR zGNyR4uK504><8-#24zsRFia2s|DE;6My2G8ON{d*Hg2+3`2PLmFIMF^=Wg$A&ulP*$o~H)Bk(GBtnqajSdd8v0aN*qpMzAi{6%5nwn)nrl-$fly|K7uUw&|&2!PtgW*HVe+~`yn;>Nj zlZ_PpJwVDb{wr4~Yx7(*_h9%?f+Ft$mXDZzd5u_&tMdlWd5gIp{31mkx7+7xllS&iNo;4CWguXzw1xeoyjQ4s5ISuCZnPx`~M%` z)Bgx>_^|hY8z|jc?qp!F-^sw>F}-mnqj0YOP6meHoeT_B91IGe9KD5;K_Pl4B-t}C zbTc|Q@iV0CWMIhI$-wXrl>E0aF#Oudz_5;oLE-ie28M?_7#R4t7!(S2GB8}^W>9#{ z&7e@m!JtsO6H*eJ>oHuEehvy)Hfzc0jI$WUjko>QF5B@G5OPlgY%e;IXjE-)*pcxK2ldAikU@w*kWkx4$e^iI$LFz?4MGP1|=>26- zW_iG@ChWWaIis>F1H)u-E+uUSLk0$gAK#Zv|3912o7?BFfD(fu(+Y+U?$bl(Fv{0| z{B6L%%Mjqn@FDHDHUkrbpC{9bZ{HjKawsz>F)1=kW?I2+{qK7oT$}t~d=)%?5vxt5o<=cOo+$@$Fnn0`=go5_9oCD|VEONV z7?c)2mjtsv{<;5Li8o`XT5j)Os=fdf)Dckg6iXyIT`Shkaap@xG&;RLAM-pRnw z#=)S_%E6!jD$6(Sgp}`lcQP=XbJ)qiP|LxfaG4X5(z`eq6t3)KV7RxFfuUfloi7VR zgA#+H1_Q%~lt0$q(iN=Qj29SmST1lVX)suLGJIg4Za9xoRNL>5iEnltgEr$ukR*?i zk*ARd!-tQ*S0jn(d+K{Ie0V;+a2}(u_TAsBYaq&HFK{YpdTM$we7O8u6C9}!LpYVx zJk>oIKAf1oejcMJ>)zi#zQ3M+avtM;cIJNqd;fo*HNAg6<3#7g-w%`+6m2{vF))0H z{%!4}Z=zhmtj%)qzrv62M}G)z_^_8j`^N=PqGMUX@WJahh{dsj;e#uf#j}FpgTwUX z1&o^Y^}ki&rThJ#77X2+QWTjdGkggC*}iFkbc)JK=>%tn57&NLF)&PEo-OOivEtkJ z)Zbhx49YAkBpK?J7^eLD9{igFTs$)!wHwpqu94i@E7{7n7o6f(GQMUf&P6mdLI~f>WY-eC#-rpT!w2c#j0_44Kfdq(IYEg* zCBTN|CPf8? zzu&okGuA6GDgOP={`>ED=D&;zf4}Sfb@WbPFl0C&!D#a5`}AKdI^QlbDE$4t?+1gj zjhBswPz7_rEGM;#*4~m8!VCu^ZTaXss)B%-lq#czn}f1TJY|9{rB(of1W@8ugf*27P1c3QZMeZMlnozrX#V==~~#jbWA(+YLr# zc^~D1f8WplW>8ixFktxmUEn8=qO`~N?~H$>ymvhpu1I#iy@^Yk`39T9pYMG?#Jq$n z{%e1}c>DPQw{{K|1}P2(28Z3#cP?TyX4KjKb`fK)(DsC_j4e!J7G}mNmdU2PTnzrM zZsEF6?)G2X8QDB0ZeZKOl%c0oGZWN@0AWUkdL{;jKS=y0Q2%1~^e#OnJ0YIgAT=P& z$N&=OnKNBWiAhe-We!LTgdyTvrgQ2u$qS0i0||jJL|90Asn4X(=&=2#KGT0j#;?`WYD=w`ZC#-DhHSo$hJQ zB+v9~>-H>jCO<|-hUq&knC7zvFJxfYv_006X*MIH==7gfO!ADorb}8g$umyeZfVW5 zo|&~VI)La|(>a}(`WZ#G&vasX&%~Ipz0;M+pOJC*_M2`@>)9A(r+4}? zB{Moqf9uOMn~`C9ryr9&=}n2|AWv$|0`BjdNt>y6b}7$0rEZqCjmDE5m%*|;Fx&$xm?oAUzOheMO! zTOMUBp1jp6nbC2xq;)(aqwC~Ko12U(n}cm5*%W_oXJDw{W>C1w$)F&{#h`GIn?ZqT z2Ll7^4h9Aj4h9A8$!DE^i-A;0b1^6|2(USTWD>xtHs5ne;;7d(G&MBUO|Z1Jbab^< z)z!7M)z!4Lw6wH!)pYc9bWBJ{u+;Pq*0c=Q)J?E-w6s(ONk%g$a4K^o2q!S?Wl&&K z=1BPYoI!zAnIqxra|Q)wWsZc8&lwb$lsOXKK4(z4pv;l*@;QTop)yCp)8`BdjLIAd z51%tAa4B;n+_ihopm1E7BjM(A1_c&nj)bev8I`#cZc8vI2q#>4&Z^9vU~c^5IkPf% zLW1!ZupGbfhv&@R+zG#wXEVIs{MXl(nbBagb)YIA`Fe>hAEUr#(PnlgM)AqAt;-qZCLe9R%&0zj zW?M6(-elSKa89!w3=DQV7#J)!*S7PsFgkDU?N(=IE#1Mu&@_2xpS|kJ+yMuvY=?(^l4LcYZcI;qa z*tglX-24DFl=OEU~pNHqCS}AL20MRwmXxu}lR=B&0>ksq&zP0Bc_w8P83sGQc(%neIiuR} zHpAm*Ng12LD&9YP^eic3qvz{q8$Itm+vs`c*+$P>&)AeVc)CAN%Gls}|5;MTde1x0 zSe4g!CS@2K20I^pmYl)4GD7ax_oaVU)qAhNyJ4{Nx@T<4b3KzXq78$cS3FzbouVk;VZp%gVdg&zhQ3WHiVPq4{uwjO_H5cz z@@%qaaz?J4pB7eXHYz1& zBwu2jC$VvpwZixBXMeFO$2oUKIuK4!- z$A8upOi)AqeSiL+1nV3_{z`-A^x&vf-vE^>gy7$&o>V7LDF{p#eq)74E){}p*M zF@Q`s_8*igSgpmLap*Bzc=v!2teSNN!?b_j*ZpS(^HMxOyycTEXQ&F!`;Rb>#rog( zp2_($-WFtj?50I*y|H>80+B_G{Js3VzpvZfG zn7_bQO9g21+b^s`vAuK4%e;lFalEjeZ_#+zE&0vB1=88Ref{Qb^8 zS$3wlwDAws3VGYtn;5kvZX{*=*J8M^`hmD7DC*QE`_ELY=l=iWd-fmU4IlO%a04Y{ z`<)C7t~(hR{B|-hY~*H8ILXbRaGRS!Vd+)|hR~f143Rq-7^*lJ6hOIr3nzm@;!a4G zU|{HGba3Kl$lA%kP_&bQ;olYphCf>v7#MajFs$QYPoXuMHDUUYO1$}LX3%bu4l#(+98Rl&=VEFre z=VZlMl9Dn1IFt++cvpV^{`$WG1BU^VQo|#*Jg@#Q?Z4H!On{bhmjr9Jr!7(O`tWrgx3JOvFHK3M%_*I~T~QZMQ$V!-gh=r4mZ z%L8ULVc-4F8I@HT7$%EP{yUqKan)q@Io{j>e+85n6q!~qeDIzeJ4e3$>u&=FUWNcq zh7Vc4wHcTg{5+XfeEZ(=mqVFBiAj-RG7~sq7r}KY|5dJF)Mmcv>MdQtpsjV$#S>&! z4w8CS>wn*);Oe>m+ImY@Fln1!v;nIO|I46Kuf(CO$N(~%S;YF^cbC6EzAyR3wxM9J z30R5SWd6C*_49rkF!XNXQe^lb{9Bu$X_F4vVY+|!KiBfo_Pi7Ya;Dnf9nTrH1uklU z^~wKL_vTfQs!;RJaFML=mYeB#a?`)>cm6P`h&@oLVASEgp$JyT{a3+TPf@CZU0KS3 z(TI5k!-sW$-aKd0VZA5~mjC^SL1{6^b4f7g>*S4d#p@^TWMF9FU{F}IlYyazgF)fk zP6mc~I~f?-I2aUKIT#c`rSiIT#c!b3&497YBpFt(^=EPj)ge z6l}HgWnpMgVo=mzVEB;n$J$%Ef>oRG0)r0A1r8+*1`AJy58Qt&z~Rey5hTjRq4ZzT z)Pvze&}9F4qPAauudZXzhDh-!>3iyXFnoCZ`*jUWOh`$`Q^$kh!^7XJp<=QZIF&R# zH9Z(UT%Wvfo~ZPh-)i2{6)f6}HyCvIE(j^9c&d0Xd^q^~$M^S>FV5S~&i+qe@Bi=f zCQqL~(K+?^10@DU8;?m03?JfuTl?snC|59Rvt0bI@Z}AmYaRHR5SXMB6 z@cRv7ajanY;0b2&tYG-yGC6yJW_|N-Rd|8^_@@O!_ofs@=E)2n!hg1JS|FXGvQj$1 znc>5&pH>VE6PRbqdUCAz_C51AmkNV2%L++`dL@P_|GtO+<^Y$-42mFLz;9ONdL;%$ zVGj_`^Y@SMw}1TjzWm3c=dTr5RthLFFn<5u@#l?#fD*?_1{TKe-l15`0@SPPxie(wnlhGdP^nz`0o1i&-WL^y`jm@7maGtFV9->&$g1%7yXp_^dNxH% z4;F2)8{fZs{xSDvRANw-D){l;<*%uaas`7n(}kbkxBXTvFb4BJUHJL^;vdz5ch9-M ze|P@#{P}-%b~W9}wu_|ed;e%N=o?E{XsR%4%U%5Y{o@a1?^hXY46~frZZIk<`Y0Ft z`+oU1gR*h~sQeW9$)hOi@%=mN9~tjm&y6dRoo{dA(q_8Brts(cq#qJ~#ufjy?_Bu) zz2xtIjrSL>KR@8s&cYzY!NA~f5ZZ1I<6uzO!O5U-h?7BK0Vl)c^NVB|jW)kslqy6b}7@uvvZqCjmDD{g$*|;Fx&$xm?oAUzOhhvl9 zTOMUBpS;y7nbCE#q;)(aqvzyGo12Upn}cm5*%ZHSXJDw{W>C1w$)F&{#h`GIn?d2v zb_Rz3+Zh;4I2aUIC!clxEe290&BdU=Ai(ATl1Tuo+I-I?iKAXq*HG6`Gr`o-)Yj2b zRa4W{Qq$Yi)YR0{QPbAd);1v_!PMJ7*xNMRTQkAb*3?uLBpJ=1z^TlUAe_LkmqCF| znIqxna|Q)gWsZce&lwb$lsOVUK4(z4pv;l*_Bn%sp)yCp%jXOVjLIAdPoFa=a4B;n zJbccea9o)q;jZ0t1_c&nj)a@f8I`#cZc8vI2q#>5&Y-}o%#m>ZIjb^vg1PaR=gi97 z2?@p@z-su7-#lmb=1%yfJe%S9=D)tS%#0?Rtpip07+-8ojQ=UbdFL;qj?6`-4?UBU zi`FxGY!)uw&d8hdm)%>YKwvL}0@H`I&DTq8`53u2i#D?}F$zwWZC%bNG5KigWk$ux zGuxUOH73iphjSY2U|_J=!N6d=xwf63h0%6%Z?`%#YyJ)fhMLJc`{Y&ob}%r6a4;x1 z?OZ9SjVc zb}%sP*lgSH&CGge2Lpq_=H5xNjINUyMHw@|a5|$OLlR>y<6OoFh6siQjEfkTFlI0= zV_d_yo^can2ICIKlZ@vXuQKv6<}yBE%wT*8)&(Ambo@NNeK!;>ux3?FweFl20DVED6xfkAaE z1H+{q3=Df#F)$q5$-uzAlYt>(6$8W8oeT^!co-BGv@tU9?POq>$-|&vx|4xHY$pSQ z>`n#-m7NR>+B+E-jCL|GoY}#^aDE2^!?hg@3~b70J(DstxeSAy1)rbtOwO>L96C+D z{-9@ahO^;phF{OvmG^ljWrQ0BJAZkWl(EN?L5tx6!}HJ2n3WPUc6fU^=NQkFc>8Rt zXL3fV;cbRT&yq5>fYrQv_V8I!#wO2K&o+79eYVN-_Onf%H=nU7Z}Lpa5H$>TKKm>w zV}s}IXGt0BJ#Rc?RbJznl%Z=F?0oQ9at3Gp$_Tk%-xvN_<-N*NqJTkz;o_cW97>!k zSywQ8nDf8y8LRRF&!h}T!(iuC&)AgbdM0Ir8U{NrdA7hiMNz)Pf`Q?~)PEKXeVbAg z89s3RGiI3W*|e$P*<{b;jC8}<3=^JB^i0mkH=NDT{ft9BDPxK!>x%E+#eT4^U{D4{ z3d8j9|KC}EY*b3lxWqV5V&f)jh40@_{$f>*bME%;_WUMcz`*b!^`8L)^TZBMh7Y&? zGS6mWX!B%U@$LJU|Ew#RpoaYW{`fx&nBCyPF#X^6JO7O)ADk}CcyaR8>FTD2|B5`B z7(jXs{RgE7R%@YW9C{2F-aTLh>tS8NFzw&>RsWg6yc7=*Z}DWq8LEP_{&RrE7$&o> zV6p!9y<>9v40*?j|H>6g+B_HSJQzN-{O8bMzX?*sFxg1a-vgv7(IPGB5=1WMHV`U{C<%-z}UB3eh_uiJgI=o6*6EpCM%@14GVE28Ms2M8AcB;nz+E zhIKp)3b%JKFg)DBz`)1Fpir=rf#D)IgTiBO28A*X28Gg{kfPRHkKv;9b5Mw~SxZi4 zoF#6&^)Dy^DL-dW|7vE&$g5<@ux%6H3f}1qA0qy7C>b#DuKfP}`F{fj4g)5ohE4n{ zzkh!)*?U$fqwVB{vxI#U|9z@IuEleM(TLCU(k4*IB>jWN@DxzE1pednj+JCFeN}&4 zi{Ylzb4DXJs5-xYAXl(h8$Yjxx~+LK9@>#*Jg@#Q?Z4H!PS{bhmjr9Jr!7(UqjWrgx3 zJOvFHKA8Pw*I~T~QZMQ$V!-f0?=OQg%L8ULVc-4F8I@HT7$%EzDQPnpGB7Co_`YoN z|JmN$K7R$27!;XSFnn;I96Cq7{^M^02402$PlgX^zqJ{d82mh$R($*3@RviGL5WF` zVKUPScI$uN^WeJV|0-87YBS$-^_H$+(AK)>;t4V<14%ur^}p|7aP{neZM~%{n6ynV z+JIFC|7B3ASK?4sWB{4XTyOpFyTjif-xvI1+fcCA1gymA?}6vW-o{?i6+#u!42)WW z7Y)6*6t6{r^5LxC1`NHMxD**a@c-6kXxgL$cCO~%{m-?$v^_6HfgG>&cgJ%^ZGnp# zVAG`ks(bS)NL8qLXShgKc+1UnJh|!L_ZxqhRKy;rRMa!-@ZL}aD`fwx;H{@9Rl%+- z<-lmfyn^Awsy}a@GwHBilm^Rx|HGiP__-vQ{qfKJ=UU7R3iTWe3UwR|3Jn~PvbcLE z149c3gTk_%3=B0K3<@Ve<@8PlhBgicg;ov*1yI?&aVMla-@B86;he)x28LP=28GL< zkTl-K!Ju$uCj-O1oeT^GTkU*V7#frq6g3zaKBWAy_Li<-)n>fFpu=*3LrH_d!js_x z`((p;qS}6cOnkHJ7_=ELg5-FVj697z7(RUby&6eO-&5a%;luOEh4X~9@BUt015qt| zfm2D-Q`3Xt!{y(a;3$Qd!KtL?sqVq>;l$+i^F&$q{{Hd(_2iTD_Omnp6WIIz`>e_R z^Cvnd{(hjuplIVUiGkrm^lxh)eG}yhW^I;>{}q0GKl(#(!-u^L+CMIUk{inkh7Vr9 zK`f3H3?E#qpFVL*7|E&ry$nXEOVCdeIqR2d%;Y0Ax_Du_fByOY%44^36{L9aeUrARHlyKMn+EV=Od&EC4KW`61hCkoe z|N8U&+^;|1BmXifDlq*0&i$LQUV%yR?|1g!f4?*TWmNe4UGJ}>cLIYU!vP6KlRw|5 z|6@8maGtFV9->&$g1%7yW$V+dNxIK4;F2) z8{faX{xS7tRANw-D){l;;jgieas`7n(}kbkH~m&EFa+~HUHJL^>>t&FchBp;f4Beh z{P}-%b~SAuNd`-YLTAp{Tbme-88p9NWVd1}`2YR!zi;0=|7bJl8%tMcsxWKIUHtp~ z?GHuoR~c*!vz*v&Fe=OYC>Q+ue*QOuvT}g|!{6@$KY0|TJ-&Zu{3GSP>$z}6vh(dt zT-wYx*cASJ@B1OdGm64HuvpKW95@Y)2a@F6=j4w79YsNA&I&Z$H zvyhoFV{@^=VMfNp&E`h!jEv%&_ZzFTFv@IxZqCjm$gZjB1l1=f!#D{*)DQU+_lQ+!2u)aX5T6iA2 z#Ovt7Ejn@%$L=*MX->ZD{9BAOv60F0dlbjS(|cqS>;APpo*rORxO?+Emn4pQ^Q1h7 zmYsEq=ieW2m%mZYy5iaNlGy*p_wTz|8EfSfugAWyvv2%SXNs5rypIx6&P`>wMueRg|poOsp2_7JHH(N|LI$+qSoC0^Amn-wB3L2 z-?9mR8h)24NNtZ-pA#V1J8W}rJ3kBKpUrc- z)tOnZUfQtVW%9{Bc~x(lxyOD64 zX);$1 zq?njs}Me74K4B8bZZIM0yc{7*DZiPATbguUNDpS}y|7^r@S(T4F zVq+W?|5csHsCjfRt6uWET)>l!9tm9QSzY2TKEAAMAk!*;&z?0#ewA77I_@JHavfYZ zbb=ce&Po?qB_#gnFLRxM-1(C>B~3SO`fa_-bbP_AeU4w3zAm;{_3B`!l!fG-rL7Wa z1_IuWQ}rdeZkz7Tc{t~t_|?!YEnm3xR?Yar&oRM&mi@l#3$*o=SE_i`3k4tc|EbpH zFkNSnq-T5^XY7I9OE3SZxyjIfO*Vz~)oOXA4f8IsZEAdQ(p}!k(T8o9XVQ1xtsSrV zmP&7w-+5<3($V`KP4nE|7OZu7Uw1=iYgznMS263}FPoK>^5Pq&J#bmI(X#jKud7~D zxI84{w(NML^Y%k!hPmlZQ6>JS>Bs9QEGd}l+t~L|IYB#0*3R^n*Jb5n(vRg`elfh+ zb;IfLLy_sbbVudKb1go+&j2TaLbnI3vA5e&?JCuJhJ7ZqC26G@fC% zQSbi>Nl(s=`{Yh)nmzDVz8>}Cdywmlgi%g()j`H7` z!S!;Px3ywx@?Ca1%m2(TsEh4my0qb(bfkR#LZy(+Mp?cuPsvZ&;l{1B({k?XgGWnG zeBJ5RJ99;H=9P`|>&3rcW3!$wC%M9Dd)m1+eu-V(YuJLMxCe6D4uP7dNM4Li_)GS@>EKB`!7trCc?gWg817DLdSTE zq?&z9u3cE*sa4--y?s7|2q?4l-AuTx73EVi?en$n#^zx*0!@5iGTAlS5o+&$PXL~AYltEXJn zJ>y4yftUNy^|uxn*>Iiq;nbb6|Dbv94=c`_4S64VIG#Uxc(6T%Z`ZZ$4S{h?Th5*A zG8654bJKdhmBb2%H&VwY8h7T?d_YYowyS##~r`j^{Imo-#>dOKUU9+U`5 z{TUA&jLfMnHn^E^Tl|GjOyK8h-OiCxYgPs-e!r9bt@oXrkmic*3m@MRdi>QzB*b9% z*#lq7+otv{J!rdQX3DGSR>4n~tk_(=eD2ypHp{5F|D?(<8(+QpYt`Mk8$EWmbe9;+ zeBZla(uFe|rk>wgYOdkr6-i154tkX)PiaU<_&r_ZS=;LGVrP#%Q$1jEi6MU7%MjHPVcKq|`W-6W}^y9br0 zxCeYvyZGPeeiY~A;$3U?tyi4AdcixTSVNS($KwmTbyD4g`qH1(GKKSd9+xW}ShQkI z#gsh>29xrI)!ILMUFoh{s_wB%ucc}Gfe`iA($jxzI>vp#|Lp{mizV(Sc0@Y4xh&Fo z_wA8=Y+UXyGiw(g^C!xi#E*r_9N%O;k5!^5`q5?^X=NV8+i(ZuTOU3<<4KUY+a=xk zYiE49qu^g#Ki`2{p@jL`Bnj89!J7bfcmHxHA zoz7%$bdl9+2zc>AoTvQdF2*~);qgr>e_z;?aNIrRxAU&o`bCG_JYGkfzdIplYu*XY z$eZrT7Eiql8#Ik{iV{H~P;GtlY~LQQlu(b#N!vX38@>BnzlHPQy)Ua3KDA^gM;)vS z=+C^n`9y+tid>HQx9l^Y&ClB}@O{mEeZTOppR9MMx^LYtzG?HON0wHr+)qo2MgLFz z&Y#9)`Z(E8^;pjx@g7@}G82AFM)}kPIbB=*Dpd8s ziUfxG^I=&YZ>_{VH~6dk-uSA^^p|YR#QnFN)6$E%-TuE8X;IF9xX)m6+}hnj8>SpD zDG=LtVhZciqCCruDLzk*&3;v*bS?Vl#P9ohGoG9|zwt`Io328%(shzjPabx$7yZ&E!rQPFUdj`BH(S-0I@B+SQBm zPpn&WD&y>-H{4H`J-g2kukc?zud$_`UAy~1gGTtH`;%60>pl?V`^e$`Dv6{Ina2L%_h(&OU}$?=+*@7Xkb}sn zKSFmi<~*M8MMg&K(aVdEcO0Cp82qP1z30k1Nt@*&`J3zv}{OjTsa2 z1eHTAc0CaY{JE^(TeCMLaqeO@`E;?b-dpq3jxw+B0xblyjyX1YY zMN`u2jPIqMv?+19dy7dV+I8My$1Qo5tsQ5JAM{Uu^)5Qf(}mCK)A!a@O1vVM8-MPq z$;tayb}HS$u2@O7u73T24c9|X)laDW!79r?w}m-o)mw?o@K_lpr4)|h|Ih7iO#U@} zN*vEhk3xoi8;L@{Ug?g<9eF(5L62{p^m?LvVrP<*o58XUmGDau3pUv{@>#h>+<}06^ z_t}2$wFTL_Sv7NRSuFjv{#9|5LrPKoL7!Uvy>aDt&X^u@DPXAc5V`i#?rylQR0hxO z*^-bn;O6QCu8uitZCbv}f9QASTG}(eyBqc&6p*e-%A6@8UF2NonSA2m*X+veRoj`9 zyLUUSQnY6(%uZYJn&nr$`>cM0FLyFLYj(?PURdx@pJ}B#+a&qeGN~yu6B4vXaytGq_@BCV@a)VD3m(1C)M?ebq7%iDqf@ao<>`Sld#^a96x0`YPw9Mk zGCl89-fnva&NlUL`87$mUh77e72etEUB)~^gtg&4_G&m{Fu7f0M;TY1DI@j$QI%KiVJGFEPOb(t!i5FO#> zDyj5gS>4xz%xmt;s85Xb{`&OasvW`RvALJtD8`+*o<8?h_3owFdi}~@Hy=+4vRm4> z#$)>=fq>hSL?T+RWS>5KTv|aUVA8G`J+sZ-j5_8zY}&?k+xKmO;Z2E>iLSTirA=5- zoz3y^a>$v3iX3~g)Bdc;+VG!!^2tTUi~^hgF3J_EXL2cK7QFU5<940?CZoTVn(2~C z*Y2KWRQi~a6JEKlIU(?2%;Q?OH(oQ(mc3DZ;4{m^?&BU&)>TE{$$bEaJk!m6B4E>tmUkk z&NHFg;7$2@?m0pApO%ZWzO*{1`#;Zj`(LTG{q13ltA2iD{G1-|apn6-j_ulNS8JK` zO}D?v+OYrFHAR0?kJW@@&wZbpaw#_RptQjwTQ4$Y?qE*2H)9u{XZx=DL!0I>8ydNXK3SiXQJ`kt2G&#dM?b!moxo@X_EwK7$dMzVNJlb^55ueyk*Di*YT@cQhIDfjNdQ<(s zw&NRRLKVUV+aA>ItT))C|D__QDqLyG<@O6XNDEs?7AcNE}^g!Jmcqrtowe%x^ey zI?QDL?YY{QvO@WvPFWb#DX6xHP0TCo%GIpT-(NR4aGsaAP!uK~ZTs(fsKmzUXZ@Hq z@z?C^e92qydu;FV^A`$&)xrfQ{jS}_qx>rLMOIdJozkRZ#~7KWaK%ci|GMTNu##(n zeavsKMNb4~diN;r%C7&jNW$~7{FCfH@A}`L{WnfHD8jaP)?VI+>D=MlHaFxSjm%o& zm#?P1_`Us;{p~LeGrmil$OvPvw)}B9Oyc^pP31f{vSgp!{!=fI(!ROv%q=k)qcGQ* z>ysDO8THn_sY|FSQ~JE%Uncw3pbBG;{ZmB!{>5Lil$ho9`Mump(My(-JXrTHFEqUs zdM|q_m(smP{plw^q@~ZgKgp>jyuRl1l#?7=tV3ILt;55PUFN^Mzw>ngYpeP^raC(# z`HdT^j1E8Bm>>98Eb&l({d|p-$FsgR?=&%UGOk&=UbK-ZsLB6arY5fv&*w#Zjg)$& z)WfB(f6z;qq6w@Od9&R?L7LH~pN^}n@qcwR?lrgQi<{_g9_T*7TuxJ?FL9*B0j)-5%sxsFwGw)?9pl z+oKIN%U;Y#=UNPn;4bls4N~AJ}!_^sI9#tHX8{SS%I}a(yMqud#uxX3u8p zXU&aaA&r|hp8Q%bBmb?v@6RFWYtQ+t-IL81dT;xB_3ZD;l@;$2q^p-N*nFR*;L+5X zNmr$2)#pvr-XojT`}|$-{#)xb*qx^O2|d%b{rGILZL+m_(8Qp#{)z{RDwq3R*`igD zSJN$C)9iHg^?B*F@;)DbuU{WG#rfr_iP~%YIW`(feO!1_?98e~n}V*1OPs&(-O}m^ z_vEL3M`rLyE^zYBJ3O`jY~b_hIs2mB1^trqp7Sc+|EqMhe&Nq46PB6IHdLs*wl5?+ zn3;Rq{$7);VyEig#y9oEt<XZ$BpLuwm9y)2a@VuBS+bz!-D_& zO6Z;0=03&u;yzh7K2odyyFj-w&vliq<-cV$**TAUz9?%39GAJA&R)6Oj`RA0a?MTM zJFfPvjSTnL;x}DS#s6{4!4vc6+LAbC0nr^Upt8owe%v<9At6^MhOb?Ij!qr`%^LxITAwQvJPqjT+sX z=ZV!VV_h0C$EzgJgL_+V^*fi)pXs-ca(xcB*thvWtkXkDcl*rys~M*M*z!0`ka3uR^PiTExx@w%(V{f9&ba~(_OYY+W)=cg^( zGi$?sr=i)qs@rVTQTj7ulWGCDI(+?>dGm64HqvpKW95@Yh_a@F6=j8`@nYsNA&x^KRy zvyhoFWOK2>VMfN<&E`h!jEvHo_ZzFTFiLEGZqCjm$gQ(p_;`%KAHT!)Op5I)Y9W*V zTOMV+KKZCsGUJ!cn%41*j6WuK+T3KEv^m)}l1=g5#D{*)DQU+_lQ+!2u)aX5T6iA& zvnSDoe#&wZ$L=*MsZYM^{9BAYv60F0dlbjS(|crR7yfH|JUzgsf6L}~E=e5q#&uaS z4SVZ!Pe0z{EPbPxamk~}Vu7DeZ{BscQqjy#XWRLJgXtCz&H6Hu7|q3BFW;9W{xv;= z$79P5=ZxJo%{~WjWL;Qc(Q}90=O=5-_U46;UP?{%*unQ#W}}tStCMD{_;y_^o|F3iZj;7styHcM0 zUE2L;{_ipcsckcu8BUi>EV~^qbz_6_*O{+91a-E?$vA)UcK&_4V>7RxEiGQI$Jy0>ZxM)4&{msh7+ZlP^{#V`R7SWitt2WJS#^&cGwtS4c zHmf$XGcjJ6tlPSrapmNzt(O@mOkUa6%=mJ$ZhJUq?t70Zoi`G0$87Fx=VxJT+B~;g zotgFgr49RcO+MKtuga?uAfwJL`0Z`S7aeu3+TEFo8s+ZyCau=fI#6``y~mUnHxh1h zOy=#^7ELX*Y3Z5w&~M50v}atGHta8vEwEzR?A!0n%-Wa8P~X3K?j%`8*LAIY>Ye_< zd3?{!v;Xa1vP9NeUGkW^Q}FKs;i6_@Mnt)v?DufmR``s6+N%Pa7W?@R{RFP1J)3lS!+tK= z0;|#m^VHA0jxOB3{c_-heJi+(3-@`SkDheXG=6gGH2L~Da@v1B1^&K0mDM{wjd{!C z^t)w?ci1P1Gp`EKfB9;9k8=nA%?m|QP2Hl}x0GM554a?j^RMa0^Om0nn$`N%(#|Z{ z6&I=QEEL2MSaNWMRNHjsyGQ>y%#V1Ya_>dr=gsSL%v+5U9)5Wcy5ec^K88x2Q$-Um zeu{NuO)H!loU7t>vi>)#=cZ(VIj1HZT@}J}Bk5XH50~yC*8 z=ReAFJ#$cl(N*t{wRU&!RY7N^g>F8(v$%mdFFj%9*rW3^d?q^3$O6YIBmgVbS zFZz=-_gdwIx0FQUWn63fr^KU>o}IImSR3WcxqyUBXp zQ)Jq&hmzBOYz>u@-D&bjQh%Gc#mdve#V5T)EPqUi_fcL>3oE5uIPBoVGgb*>ALY() zff>ml>nJZy9KW;wEDus&Rx6vosvfR!TP(CRvT&^DAIW6 zG38`-!taQ)K5GxJy|==kUio&Y4Nu5k<7&N^uXgop@X4RNK&qztW7sY^ejcZJ>3uqd z-`}0wq^tfWhbjL;$ht#&HI9X99NA>GPF?)hnzpcPJ&9k>niUrLhc>3^L@n}o@<&&q zrQ0#s!td|$mtXj!C)W$+8vbUgSAN*MWdG+wn_?0ocgJol{N;bx@%qi;Ym3Zmbq^c= zW_Z(kD8TN?q?+DULc9lzBgG_UE3M$$ePIGi()W*vr_6Jcg_-8%So?$=U+{0M_>swd zXKz2tiMU%CzH-Adfk1_nmQ`1{EUr!dakM_{`9GmHlXb6^{z}aKr1?Q|?%7=v?LTDI zZ%}?R<cK-`$qlj#h(Gz58bW ztB==zI(I#imGS@fb>A`W|J7lc>FKwWGn)@#(}u}@l1`RRB`xm5hNjgB6-^M!vk z-bi~FZF-LPLDmF@{zr15nnzzv@tmTb@@(U)EhdMnk}M~Ebe!TQ#=h*kWl^OB*OTeO z`Kd?tDevw-7HW2UpULchM!^xmtL_SDd{W#0U;SeI$DOx#*4OmE-`1Ry_OL`>guUJ1 zJ73c8%x?Son{2C;zD~<_VYw{-XoKhWDG3Q46$jI6UV2?yeL}if%0A_QrRU2K)rp4F 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 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;