From 2e880a61e1ef5777606289770e613879b5dd4795 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Wed, 18 Oct 2023 13:54:43 +0100 Subject: [PATCH] Unlocked TX still bound by the frequency table. --- app/menu.c | 1 - firmware.bin | Bin 59036 -> 59040 bytes firmware.packed.bin | Bin 59054 -> 59058 bytes frequencies.c | 8 +++++++- ui/menu.c | 10 +++++----- ui/menu.h | 4 ++-- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/menu.c b/app/menu.c index b6cee58..39d83fc 100644 --- a/app/menu.c +++ b/app/menu.c @@ -119,7 +119,6 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax) case MENU_FREQ_LOCK: *pMin = 0; -// *pMax = ARRAY_SIZE(g_sub_menu_freq_lock) - 1; *pMax = FREQ_LOCK_LAST - 1; break; diff --git a/firmware.bin b/firmware.bin index 7db26f2e22e6946cfd5cca174b84768601f9b2aa..b869645603590a0b0b84ca0c90a87358ecd02686 100644 GIT binary patch delta 1102 zcmYk4ZA_JA7{{;Yd3FTPVq^@P1o2D-}iN2 z*Kw}>7^7-y^J=$oPHlg^JIR_bud3^BXPT)8 z=S5CWiwr}$h#edgIi}Wh1}wwvZ11W`3e1RvpbYk?GhHdx;U{AvE$k1OV)q?2q?)B1 zd<~j~ju>J$;#+`f56AMHZFML$JH&`H=2zrhl$ z%!n#|@3Q%dIV%#RiDfQJ#J5})8N?4mGVvpmz%W_(XP^RFp%Z#x0M0@Y`=jWq)GFdq zJ=hK6m}>uE*34MKF2m@YNG{(;UvZH6|01_jwSTz5N?pa$UBU?I4mjizdyN|U_+=~g zIhI}kU3e3xEAjPCMo(t(e%vsbG&Bdk!H+^V(6!x0&I`}NBBO=S4dfeWuRKxgE9y{B zu4TOCeA&A(YmCJS*hF(zP+ep%51|i!PpltlNZsnaX&#;;Ja38p|Bk}c{F)=zS-Xew zJa#7k#UT1Sx!dSXG>75hXq?!^dNSyq9^OcftJ8>gb8RK)E4L7*;B(LryfiPSRH~-F zTC<>mxQexEsDT(mzd`Oh>byp*|HF5PPlB$|jeg}Ar&8*NaDTIF1@3{K<_B^?I=O~k z1l`q(5XG0!@vo@va2kD@{GaF@D8%d6O=gcUog3D|dewfa)Mey37y5lhv%1y)iRIc% zKHzi@Y+YM~)BnNqsQ$$&&~Qw}2E3UG`Qf@?UD&H0AA4d|>JiEwh4-NcK8G)ys_0{@ zf5eTz&(4u(cE-Pl^6awOeYQ7f=X>&fw%1o!;4Acd)lbn3S9y`2z&UlzR$4AlNSSjR z*^C5p?_wHHVj7Xn;yxVoG6tAM^U~=J-NI6tNogVK=b-DtpBF*eCvqcTPXUVH9ZO0!* zv(RrWQE%d#zZYpiEs+x)=sNMcCVx|;AH4vdz(qJ3FY0r&2fdDdjLx8Upc7VL1DvSn z^4@v7eoIs&OcVFG>@j@vyvQhi4E)4T{0Iz_gD-;`XoU~pQ}`0Th7$JQLXS|ZgiFm} z%f#!ty)SBKY+!$fxn)Z6easad%>O63{kr|kR>z;jk_E>|ABRq#s5E`;qy3J5H|f1# z3h&@_ExyUiIG1xKQ+Jw*9EDvNh9 ziryo)iEg5~4Cf;sBYqV1gXt+{8#%64#8q5d4d%)s;#7PtS^=-Dh%L4H^`S#{sG0Zx zYqf9?RvG#jxv!}62C;dE?-P%Jsc{ay=2^q3hbM4sOfMGEh7I1Dohi>o4@O4PaJUyq{DXIK3wjz3cSgYfOSOQA35jvLgb(I`mYo} z`2x!N736KrXEt)a3!va{69N?ZPJ gd{AV~nT&PEd=^iP?_;QgM=rf>|KfaTrCOH!4L{6Kwg3PC diff --git a/firmware.packed.bin b/firmware.packed.bin index f4c5c7a59dd6970a174654b111a4b76030806661..1a266f8e78b443e6d2d13b8410b512ac44af41cf 100644 GIT binary patch delta 2179 zcmV-}2z>Xh%>%N{1F#GQ0qe631^F5WdiK>=1i4Y9|9E<226Z)tJaHz4JF`E*#KXMFH{9!vmu2y0|EGxS%_Z^ zz$-k2Sj6E@bd6@_`m@D|69a$WFo6P299k&S*}8qiK>vo_eo!1+0TK4_()27+uzj2P zC@6PDG?I%e?Z8qrwMdk(U|?Gt0Ze=}h1QEs4kh3q2>^dI0aOKY*q3W0j12oO_~Oa2 zQAf!V6GFD{SP!;OD?EgQA>nTQjb`R`h_Ju0M{qi2`kp8Bv0HIWb{?}=jL`yNv-#r5 z`L{>uO7KFKZ@dqdn;1NVt0&=Zk8WnhuZgg~)NpV*sMMY(Kd@VIjCURwq&0y8OdeV& z6gawF_$B^^FMm)R&)^Z(?=kcYrBQvmSI8(=V$qVTE5pE2gS1GLSF?$a;{qL>;1Ske z)ATIAR(-n^DJXZ6*OIF{#K2Oov`CcTvx$-;0~N=zN9jQlLbe&X50-Z?JcMQ=;chCk z!If776$(87fAj}b1*tukOPOvA+v)z|$)uAlnIA#T{GKPSQ(IB1a2^=iGJyh>{aOfF z+q!*1#{Q;HoKQR*=MmPP)buP#R(-qE_$XIlGLnmABEWJxwn&uWXkh!ivyGW60|AVa zxtu2@T|c^Asv`b|s+~|gpyv_Ri7@mG2e5sc)A%S?nKF`#=cK_>?6U=(^8$b9%_vu$ z)sm|RCBSlYS4gz!gkakZ0!(~&O4h6G2qoaM*#KW}<5VT~-rV*)iq7+NUI*}8o?#Qvt-o=`lM&k@$y)$}aQ zvwfRYD=2pw8j_2|$G}qmvPhJoVqp9J226Z&lM$m6WdVx}`%N3-={#3Q$wcr%me^bm zwlyp~gd-;5Zs&?-=4+3zzvZQH8ul2T2gtTtar1B<7$h@+0^R&t2yi~SU0BBcrgC{u z9Es);)|D{y42MyDyD-ftS0XTyi%rD9QcJN&l#{cGqele+Hj~k)GXXZU1*w+<1&{?) z1>TdPtUngfJ-S`g$Nr|vdQco;&k@%7*7PhDRI~Q1F&_uX(|+2mqi3@&%qj*Ib25Pf zq#0T$A3wTX{UZK`B6v_7)RS$}8wqlRVB4t&OnefPk7FVt!l<`068Bnr(uw;JCW^b%iJSyPc>^2s+8)sy zLdSjOKYD8xZ1&p33uekvcr#|P)j$)z4C5a^nFQR~b-!?}3DW>t+sS1$*;nLi{3l

3^@FE=zM!^5^UDS(`ROs9~)f^(fuJg(Qn2m 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 B0G9v& diff --git a/frequencies.c b/frequencies.c index db413bb..8a02dc9 100644 --- a/frequencies.c +++ b/frequencies.c @@ -208,7 +208,13 @@ int TX_freq_check(const uint32_t Frequency) #ifdef ENABLE_TX_UNLOCK case FREQ_LOCK_TX_UNLOCK: - return 0; + { + unsigned int i; + for (i = 0; i < ARRAY_SIZE(FREQ_BAND_TABLE); i++) + if (Frequency >= FREQ_BAND_TABLE[i].lower && Frequency < FREQ_BAND_TABLE[i].upper) + return 0; + break; + } #endif } diff --git a/ui/menu.c b/ui/menu.c index 919fa12..b1fd1aa 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -749,22 +749,22 @@ void UI_DisplayMenu(void) #endif case MENU_350_EN: - strcpy(String, "350 ~ 400\n"); + strcpy(String, "350~400\n"); strcat(String, g_sub_menu_DIS_EN[g_sub_menu_selection]); break; case MENU_350_TX: - strcpy(String, "TX\n350 ~ 400\n"); + strcpy(String, "TX\n350~400\n"); strcat(String, g_sub_menu_DIS_EN[g_sub_menu_selection]); break; case MENU_174_TX: - strcpy(String, "TX\n174 ~ 350\n"); + strcpy(String, "TX\n174~350\n"); strcat(String, g_sub_menu_DIS_EN[g_sub_menu_selection]); break; case MENU_470_TX: - strcpy(String, "TX\n470 ~ 600\n"); + strcpy(String, "TX\n470~600\n"); strcat(String, g_sub_menu_DIS_EN[g_sub_menu_selection]); break; @@ -1068,7 +1068,7 @@ void UI_DisplayMenu(void) break; #ifdef ENABLE_TX_UNLOCK case FREQ_LOCK_TX_UNLOCK: - sprintf(String, "UNLOCKED\n%u ~ %u", BX4819_BAND1.lower / 100000, BX4819_BAND2.upper / 100000); + sprintf(String, "UNLOCKED\n%u~%u", BX4819_BAND1.lower / 100000, BX4819_BAND2.upper / 100000); break; #endif } diff --git a/ui/menu.h b/ui/menu.h index b5051b1..2906ba3 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -139,11 +139,11 @@ enum MENU_SCRAMBLER_EN, // scrambler enable/disable MENU_FREQ_LOCK, // lock to a selected region - MENU_174_TX, // 174~350MHz TX enable/disable MENU_350_EN, // 350~400MHz enable/disable + MENU_174_TX, // 174~350MHz TX enable/disable MENU_350_TX, // 350~400MHz TX enable/disable MENU_470_TX, // 470MHz and up TX enable/disable - MENU_TX_EN, // can disable the TX entirely + MENU_TX_EN, // disable the TX entirely // ************************************ // ************************************