From bbf8a7061e1e0cacb6403b5fb2f15a09ed4cf59b Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Mon, 2 Oct 2023 01:19:14 +0100 Subject: [PATCH] Fixed CTCSS int overflow bug --- dcs.c | 2 +- dcs.h | 2 +- driver/bk4819.c | 2 +- firmware.bin | Bin 49932 -> 49928 bytes firmware.packed.bin | Bin 49950 -> 49946 bytes 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dcs.c b/dcs.c index 4d93c9a..4615dc5 100644 --- a/dcs.c +++ b/dcs.c @@ -91,7 +91,7 @@ uint8_t DCS_GetCdcssCode(uint32_t Code) return 0xFF; } -uint8_t DCS_GetCtcssCode(uint16_t Code) +uint8_t DCS_GetCtcssCode(int Code) { unsigned int i; uint8_t Result = 0xFF; diff --git a/dcs.h b/dcs.h index b8dfdc0..873ddb6 100644 --- a/dcs.h +++ b/dcs.h @@ -39,7 +39,7 @@ extern const uint16_t DCS_Options[104]; uint32_t DCS_GetGolayCodeWord(DCS_CodeType_t CodeType, uint8_t Option); uint8_t DCS_GetCdcssCode(uint32_t Code); -uint8_t DCS_GetCtcssCode(uint16_t Code); +uint8_t DCS_GetCtcssCode(int Code); #endif diff --git a/driver/bk4819.c b/driver/bk4819.c index 49ac4dc..384da6d 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -465,7 +465,7 @@ void BK4819_SetCTCSSFrequency(uint32_t FreqControlWord) // freq(Hz) * 20.64888 for XTAL 13M/26M or // freq(Hz) * 20.97152 for XTAL 12.8M/19.2M/25.6M/38.4M // - BK4819_WriteRegister(BK4819_REG_07, BK4819_REG_07_MODE_CTC1 | (((FreqControlWord * 2064888u) + 500000u) / 1000000u)); // with rounding + BK4819_WriteRegister(BK4819_REG_07, BK4819_REG_07_MODE_CTC1 | (((FreqControlWord * 206488u) + 50000u) / 100000u)); // with rounding } // freq_10Hz is CTCSS Hz * 10 diff --git a/firmware.bin b/firmware.bin index 005ff71ccce563e4d5b6057a0b612044168c655d..90d044b8efa8ca8518996ea70469634122c4e590 100644 GIT binary patch delta 4447 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 D&>$;% delta 4507 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 DS!zY# diff --git a/firmware.packed.bin b/firmware.packed.bin index 86396296e0da5d6f504d3153b6b69b2bdac67c6d..364f0ce8c8a72b90b35051e24dfdfc862bbdd279 100644 GIT binary patch delta 13743 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ð3G=2=gvU z>3WN8wzgR0!cW z3yw~Sx?k)gBVOpYJ0@~j)6Fm?rmWO^^Z&=D9An&m=wfY@RkWby+@y{5M$c+@^GoGb z<;}c!!2RwQHrA@DC5;L5-&xo1PV|3Ub*+SLNA20lmj?9?SJDk`ieFOQFwtbiCy(tL^K8H1@u;j7en&!7mVeRw`1x3r52!j;mkM6e2a1AE*BY5>Kn2m= zUC}AWUhSB^$VDd9D{uZ>gX#A5+vIQYC#5nmv`y-EP(2V7>z#FVV?x5Ldf)#(H8&DY zO_zG3`=aO~NB#cACaN#3rYG-6WBI*Ns%hoHF!qzHe!6Xm1T{*(+Z>6ET*wz`XTJWW z&ZK|+Z!CEh@${IbI@g$dxfrc@X8sB9?DNr@4=(MG3+mr~{?sb5P%AHs6YC9TIFxUy z{T3pG^VOjpBf}3?^+g`<1PbxsEt?>J!EE2Ms(zer90&i$kv+t1xHtUelfU)@Sb%5THeM1g-t z7C6Q3mCCp{`)GW^p+7(W%nK1ouF;?Vu5ham$L^9%X8K}c#oI4$wa`B4T_Tuw_lIV^ z=F7ZC#xvj&d zMM~wVn>K&ivxnN}_a9nbXt7V?UV4W5*61zfmFM z?H)Smg29;zChaZV^#7#E1b(BreD2vvk5**ucs=Q3fK_YE zt>mcSbiKGPTX1zO zljty|err<7t$m?qh z_np>Hd$hlF%YvH=84eju7u>HE99z3{jhgt^Z4a50YG-*&JiIMB{rIza%{nWtaBrS? zZGrw1+lsZhyXD2rKy5;>17gEH>Zb%wsJIL&iSE0en{Dt$^+ky01CRqmKblU+-k^7; z+VIw*lLvwwUhVwmzAZied>E)zET#U;(<%?Nq72k3F0h)V(xeV;6-#`&-oUKf{zL0 zum2s>tLU^mdrg7-tA$LzZr;3iKGCVsX1Nj(p@chZN1)W-SSPm&f6C*SRZt4 z?v!w&3%)`1>KkM%U(C?Xe;ku@BIst1!5h^EotxkW3FlL*>De3da%OJ?)dgx3hOp6f4>tFQhQ3KGq|A>W0MnBk9sxz65Mq)~)c_ z>O;&i{`vmDV|YJuP0!h1Ci8lw*egTJxOmB^k3lOd{KaQ}IC!LH^1Gj9*7cP?H&m}! zd@isY(~_q^}dlv||L{skVMF2g!&M zYajXYpz2z?&L7i{!PgnwmrJjay=XN(dqJV_>y3}3P96-~FSzSp?6PuyftmbgNhvi_~f-Ry3+w7|;g!8`?4|Cro$li3o4!V;^j{yLdWyS3N3=2%-Dv&@Q=VrIc( z8}y&(_^&E8{vIe0Zg-+_R(QSDouJtD8|Lf;b&vl9=bZ3bmi-|Ik`4Dg2{z_$B zl(vdZIq`7%q{;p~)xTd(%ir)tCw*yM^gI$hts=s>KKdqm61jD+a*tGBe= z@VYrg;g8n;n8*Y6{})ebeQDZJwXk0Fli@2V$D3*HFIT;bU6vltFJ|6Z!*V)(( z-z4v6?QpkKHTY#E(PzOL9G$mrid=*iUn8h;IV=?zSf<*7rnP9S90tzX8-gzg_<)IOj%}nD+*qrwKmCed-?=~0(w8*ZG<$dRO3 z*OX*?>jfwTN^U-!);uS0&SvL8Pzb2xEzDo5te7EwNw5CWX;Ak#$Rna>=Yj>d^ObvQ zZn&PDt?=0DgOB8a`u)mNSYO)CC|;4sZCxn!=p^Gb_h(CA`mC!6@DD3LxyL11?PHip zM&`c_s|xlXTe{)buIY^1yP8$}3Pa)|jKmHySv~ZzZaBOs_K6$czwRlZeu3P{{R&@n z%1^QGwg(l(^(T9~-IY#6sV+YuvN56Hbio^+niE0yCM$f=g%!oDzpR?Fm*t86UM=H!v z{#QZc?QQ$mcgJ$u#O556xxl>j8ka$k&b>|7cTdus8D2l}ntJy~rOKd(;eAso64u_{ z^>}Ixlb31twKr!TEV}un-s|yN)(6&evv%jp|5_panU1ZS(R z`Xc|@JdNj{v!Csovqa4LyrhKMgrM^UYE#=KGp_40Px$jrGw4=9%=Y8z?U8ePWG68F zy}sW6sZ#kDlP>%G#Co~x=aaUwB{vqtYH(it5SOsT|91}a4X-bIb)Klc2zaklzrVqO z_iyBMk)P_WXE(AQ>U`+we*O0b=8kk5>3NS=+5Cu2UT$PS^z%s9ONJ-T+rO?{ zaBGk-6U&W_uD=aVYe{KFv%NBBN_KlZM?y)kC}$p&fnWq-Ci zeK+EEn6_k2-a!?$ZTv;n?$25yj!t}hp+Nqg#8#&K+B(OEhgDIZK0noAKbsMIYx03u zg~#W%zPTD;DXwesY?kX6#;8royQS)VnbL%w{r};f*U89PWIJUFi|}o)_B7uY>Px#t zXL28{d0ncx^_Zf<8G}u78@wy8PSLusXL?N1ocULrCNqa>J-+#dXH%Ze8aBs#=gEEk z4ZWK`SIM83I9D2+lo)bkil5i+C%e_d|8izun7T_u;m_@_&G!WZ?3Lr1e@iT@SD#(` zqrNURr98L!ST}Q7uShMkz@A5@$}`*^b7)NE`F20!O=iE+J_Y`>ZR%wwC8x{Z_p6+G zx3qE5K~c7)-!8H|(Mr{N`u)4)cj=Oyez}^Ohp%RRdNuV=LB(&Mec7Qb(W)=ELet%h-8w%?V1m&WUMT^7qwbB_X4e;=tWer1S-pDx{M_)B8`>`1WsCG- zcAEaP^qh{$$9kKu@>!|uJl77MV9R+RA|uDLYonslZLbNL@_#L_ohn?Lve4(RYUI3w z#rBt2Pja6TE&TmBeqB!kE7Qy0d-cfBG_RYcJswtx-*?DWi+ zGAyke^A5LOVC~+gd2QK&MUy{sTZ;Zz9kSrlCf9B5@oZ^+CMGRfYA^PQOm^fkmi{eQ zySq+HBmCL@N!|OWp9u;tXzlDsNV}aT?6SF^XDTCO`D9hTQpuj?9Y^*QO|0BfR#11P zN1RP)+mEpJmzx<6P2S9>%vdn_I-e_}@n%{6os5jfCSMnDX52PeT5vAogvmPvGZ~j| zRu=lq#5i}dxadOG>QtK+@y&Zhbr~7wO@1vF?|bX$M2UZ4X$j6hcW)JY5vaL}si{Xr zx-)n~O^#VoW%Ap-HbKmS*8`6yT&|zsvs+$Martuno!!R;Z`=wmb4an8?|s{U@;Uzl zhwiMhkXbl+y0|Cfq0JA)wHX;NP3Dy}X56>gQSvGy$a3lVjIxurOFuSV&^Y&Tf={6G z{Mp(QY&JB6%=mTtp6lH>=S%C4%3AxEze;bBX0Hx0p5G$Tl(k{rx1|-Q(kGvlIm{R` zd7|uX`2WfdhEZ6}*6dKwnpdl(cgF1Zo4L6cLO4^L#lWmp687FKGRoc(Uczd&`iYp`I$;r{G%8W}U*Q=^BPM*9}RhjYnEIorlyK_Q< zVhT%2&4pbdMG|jJR=Q~ZXq(7V!}{>l+etI>m^STvB{X@px~ibx{&NpOYFV`7Sl)wnow>*mM$&lwpl zHlH@U&&arI@@nI!j8`U4G%=M_a(%Wm(rS~{e{tEx*SjZ9F_-xD<%N+d@14o_O+GS; zO}=Pq&-ie&pjj>>zg$t7Qi4@@sl(EyfOKt#&AsL`85y@sR=0F#)SsMhnaQ|z^G(Zg zMnvrSFRD$qm*Gr1GuhHcnsLtLP#Z-Gsnle_Jd z88s)bx3lDal~5t`f1~vGl?SvYf3{PN49j7tXIBnk4f{1cd(UB>-^I5co#dJ3{!-G= zX zl4SO(di9(bnf+ekYHgDX?L9%RvUg;BI{B}?CF9b`<_?aG>n2w^$TOauJk!CHQDE|U zhkVB4o9!K~8M!;w3SFDm?T~$Jk;mj#C;7XJl)%89nbHLw;!GK{Rv6kzvKD0 z{pYZ0VS4`1&-{Mcvjth!``Vt@Tg|;WPhDqHbYbUQIg1VAjZ7IfQ5uPPIRbynCjD*P z5O}uuv&7{0Zi_B) z)ECt5UaX-}9wt7i`{?5XL4nUbrkE{ExP5MNua`Na@#Ldkh5VtJ_fN{Uh_Sq>-yNSU z_Ia|awCm zi+^d2Oii{?8h59CicNWYxvefXK&I!A;I-A03w<3$<2>?@giQD-!_%@N|9MVnoZPjg zvldN0?&~ODF)!h7dU2-5g^Q^tMQwQ>T$;ezUm#z@`qYYBY3n?X$?AULk}73xBFEEa zZb+D7teL9)Lq4VEnpfB%QyI<4)BW6KS*|^pv@bR@?|0dyq!@$Zi?W~k41S2pttt?< zy2&;9x1S{UM?up=K0gGn?-G77S>9inJ4$Ls*1r8y-jtr=p6u(dDw}pOWRqowN}y(q z8vn*_Zo%7Hu{F7_zcdSrvxGNI?)R6}Joemk%i-E$iyu3J<&xGv&Hnzzd6_Wl2|w#U z<$j9;{XJ^pe2Z6an0@{D)+w?uR3li`#fKJy-@h++}}CERyP-{`fnI?_O{Z2qSQE# zEjN-9ekTX})U4>b);%Fh<-sxuhWhxx5Z13&)4kW^^W0u>`Eu6^6 zm_Av&Sd%etvSYC-8Dqztt+=?^(p$J8oX>fmSahPUTB1 z{@K0orl8f`$7__i{zly3+ML*G&d7LR^31k+M&-?t?T(E6^M4<@AHXy5mqx5u-=DH6 zn=?Bc85#Q~ukQ3@+%@@Yr@ZQ(7}WKRWp{*!?8a7pG~z z=kiYro^08r%x}-Si)-R9QPFS5E^cbfahsgo<;Z97YshrwHKdbq(q$gzA@Gfd8Jau~V+3uZ;k0!VGI5SS0e7dKQ_r{Zle$&>b zJriBAVgISkp1pyLoKkK3PljH7ajIwY;=b$5j1MMPPx{NaVRGeUf5yj?Pfk{3%%1#u zvLo}0)ZESbQ#LX&vP^zBO`1t5ee%C)PQqeSlb>yJ+LrcxX|e=QK$DpCV)4nr(_I-; zH_x12$;dgW$h5}P!&lQ`vh>V+&J3lj;+QKpcU_u1d8WT$-qMo1%m12kI-Zm=GuEv; zpfLIK%*c4FTl3VjqoM;}O_8%$f2~nz@s}u$H&J^z<;6V*5uWMp1oUlI2z=<(vD@yeD(>~i;`f6W^L&agdQ zHe&+Y@sPrqwaEeJ=g7>ObMF6_%nE6Zl;AfDPt4GHA{%q%ozeB`ViB=lo?iD7c~`is zEmxj4yL+1X@6A%55UpX|z`l8$iJD{b&kj4F|sEwN2q zYVps$P22P(!sa!8N@a@QXfR=SPWqGO^H$FZc;oZunPSqZr1bj6MQ2te#iv-To3POD zQ?z7Ut&htFuOhC(gV(t3t~#-D)hx9`$0r5&ES-GcZ8ow-u{ z-hsy=@k?LtJd->lx60VsCEct(ey)Ja&X>Vf|FoOqrRrD~ZrCY*f>%-er}y18_ZbxS z#HJtm7c5(2Wz+g)w(eTdl61$7wfht^HKJ6ePLy?L{!p}JL00Z&-vq8t%$wt00rsyof{6kKPmmh?N-OF&FM2r`Q05f2<1A^Gvh*oj9h#C_=LF~+Lo7cG>R`3u6gqO zy|-SozP4%x$IVI3tFGJqS#s!lf_`T4JH;iZkLdKd&Ty2~yk3(3r15vEQeT3fy2th& zt>oV|lk;k(R2=;+^d|8N^J`)L8Iu=(ayYzKVZGEPnVVK3c3Nv(-tJb}>)5x{`mXue zKON4gm)NcA=c`F8-`Juv$0=QMPw$*9vV{?^Ud`i;`1W`DWu+UDoBi*31|)`FIrCyp zvs>BBrYXxGO3icIRIPmS-m#U6zJe#+KZk9ONmAGuvoYB*r$VmeG1pZ|6C1M!XMSI* zS+gK~+UteW0yh2SxsZJNX;Y-tJ~<<9-@iq*_Dl2iY?g}WUZ|~Ck~d)7lf7Yn)RF?J zWfJq)m7<~p&BEj)ibNWjg8oEtJh-&0b`8tFwtI5|Y~+~)zil@9!c*?lwA;8vBV6fP zZV#8jfg*`ek10__3AgKy_|%;Fdaax3P5!0$Kt>;xK=;|qpV>uHe;3_n zQtph^`}&km=E8@-7c7$OM|{7q7bnN<4wW+2SNc0CIw9=W_T$hLFQX<-IQjTXtU(<-54~^ocE3YrHIXpSsE7a-V;+9nM(ojb`_Uo2EjeY-NA>1wo0tO3`$_0qrp zeEVg0)SgMXo&DOreOXZl>Z98{*JoW)UYmcyXKlFM$N!9PI4-&`WC&?C4z)Atm?OQx z)mrO7;LmLbYaJ|h+;&e_uS>Xd#Z&*yg!8_k&;qW9s|w+9>icu!fZczN=dm|E82kBSE-tmw_W za@Y}b~F zPXf(KZ^u2|>hV=B_fXhwbE)qN$&a>ucH^7e^iI=b|JDtO53&#c=Th9eyNGj{=>v(E z%e|Cr0h2;LSfy>A4@;r0Cqc=Pk>#?~m;3LnXpa`5DLTocJ|j@$qAQ zRj)i#=JCijM|owbz0LXbxB0Tx3D1bSHJ!03PY!RL`DWc~w*P`(&upF^SU&S|mL=!K z1ycGuyRE^^$9Jwx38}xeF9h=_@BLSNOuAhffMV1gLxD&iLVZO!0Y@&7YG!vI{)l|7AS$ zc+z_NhMeD0^1Hgr{r^N=VxFWTIoqV@K=T!|_Qu(}gRZ3>*Sqt)ex<#PbO&TzvjUL@$tM(3o$y}MgfZr%tvX=4 z%-)TsUUuGX^I5q_(eqnzKg+fH=aS|}%)hkNHo9zUzJ!T(`olH9e>uaQy}feUZluMB*-?vmaJo#7V zl>R%ZSVNrceB}>5p znAz7$oW3tl8Bh4)6|mv1{m+dDYuzn3pON@mqh8Oqca5aodg<>8>+)1;=PhvDn&0!L zQsP~}2{Ea~*Sj9wuub^O>#-5ZV`s#?|N zefLAaB%9-xd}=OKUF*&`qxxV^&cySJA3Lr4XzEXy z{;fw(K5t=6dwxe%H{EQ3+l2h(ZHH`joxRT@RajS;r6!{M!KG~?*I(a_6Sc1`Nscu! z325nFSEVJ)x5wa!{2GROMcWNE-dZ)1_XBpu3dFQz>{z-n=|}A2Fq``~PMj35Rk>Y1 zlObTcafsggSCc+&aN*P1tMR4#V4K^uuKLTaVM+14OzL_vE9Abtd>(0?erd;N!M}#J z4idYJ=YHQS7`0;E4wi$A7mi(5NsD6c=Gs+QBlb*I;a=dG^NvjHXY{@@R3v37+KO7# z>az892kbmlS=bi7WB(4OA70EZS9i%>-~Wo+@aB3T_$

ZZedgtMMiUXf&J~6$ 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 YZnr=1tySNu*&Xmk^?~nAhWa#D03!gcBme*a