From 5836d7f8ba488a790e81ddc30f0fd999680539e4 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 7 Nov 2025 19:34:16 +0100 Subject: [PATCH] Added support for RNodes with PAs up to 37 dBm. Corrected Heltec V4 board parameters in rnodeconf. --- RNS/Interfaces/Android/RNodeInterface.py | 2 +- RNS/Interfaces/RNodeInterface.py | 2 +- RNS/Interfaces/RNodeMultiInterface.py | 2 +- RNS/Utilities/rnodeconf.py | 2 +- docs/Reticulum Manual.epub | Bin 3548723 -> 3548723 bytes docs/Reticulum Manual.pdf | Bin 4176195 -> 4176195 bytes 6 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RNS/Interfaces/Android/RNodeInterface.py b/RNS/Interfaces/Android/RNodeInterface.py index baae79a..f7bc65c 100644 --- a/RNS/Interfaces/Android/RNodeInterface.py +++ b/RNS/Interfaces/Android/RNodeInterface.py @@ -516,7 +516,7 @@ class RNodeInterface(Interface): RNS.log("Invalid frequency configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False - if (self.txpower < 0 or self.txpower > 22): + if (self.txpower < 0 or self.txpower > 37): RNS.log("Invalid TX power configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False diff --git a/RNS/Interfaces/RNodeInterface.py b/RNS/Interfaces/RNodeInterface.py index f9f3790..4afdd0d 100644 --- a/RNS/Interfaces/RNodeInterface.py +++ b/RNS/Interfaces/RNodeInterface.py @@ -280,7 +280,7 @@ class RNodeInterface(Interface): RNS.log("Invalid frequency configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False - if (self.txpower < 0 or self.txpower > 22): + if (self.txpower < 0 or self.txpower > 37): RNS.log("Invalid TX power configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False diff --git a/RNS/Interfaces/RNodeMultiInterface.py b/RNS/Interfaces/RNodeMultiInterface.py index ae55c1a..bf9d0dd 100644 --- a/RNS/Interfaces/RNodeMultiInterface.py +++ b/RNS/Interfaces/RNodeMultiInterface.py @@ -1012,7 +1012,7 @@ class RNodeSubInterface(Interface): RNS.log("Invalid interface type configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False - if (self.txpower < -9 or self.txpower > 27): + if (self.txpower < -9 or self.txpower > 37): RNS.log("Invalid TX power configured for "+str(self), RNS.LOG_ERROR) self.validcfg = False diff --git a/RNS/Utilities/rnodeconf.py b/RNS/Utilities/rnodeconf.py index f079710..ab41418 100755 --- a/RNS/Utilities/rnodeconf.py +++ b/RNS/Utilities/rnodeconf.py @@ -319,7 +319,7 @@ models = { 0xC9: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_heltec32v2.zip", "SX1276"], 0xC5: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_heltec32v3.zip", "SX1268"], 0xCA: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_heltec32v3.zip", "SX1262"], - 0xC8: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_heltec32v4pa.zip", "SX1262"], + 0xC8: [860000000, 930000000, 28, "850 - 950 MHz", "rnode_firmware_heltec32v4pa.zip", "SX1262"], 0xC6: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_heltec_t114.zip", "SX1268"], 0xC7: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_heltec_t114.zip", "SX1262"], 0xE4: [420000000, 520000000, 17, "420 - 520 MHz", "rnode_firmware_tbeam.zip", "SX1278"], diff --git a/docs/Reticulum Manual.epub b/docs/Reticulum Manual.epub index 080210fc277100078c06f621be81264a2e1437dc..2c6ce3b24d105f44e71884d138ac5b705a3febbd 100644 GIT binary patch delta 1752 zcmX}tdpOf;00(eCwp_QgA=z@>+_py9`MFE!COeI_bRkskUC5M*Oi?a{YM9#zm7Sbi zifTnBs#ObhQpnsUkz97tq3|4?*RRg`-wy1KiYyRBV#> z`Gg*rSL2yNrucxTsZXal9~lwj45<^}PuEE2D$gHU#{H1#cG1W2LYk_m`ee*rpND0e zbo9&kX3?RJV|TdnW0-uQ-?oh(7+1%g#BW9YK^*1070{lv4> zDAxM~DbxGOJFd1J6{_4RajhIni@4v}A!egEAUv&o*I+JRzU zR*wBWHdpI1gH?58HHXt*e5xbS6WjW{rh}Pthw92p3Vq$W_td_68@xvN_pXGb>G>e? z7qM-L{-9@nVAgP5yc9p3{VMpiHmytV+iS<~J+Ywz&W`Vx{68(L)JB=FVvU6DtM&MG zsbS8u2`H`X@;7$3jtIlkrN?9C46^2m!P&*9pK%+GGDgH-JL4wtz8*T;kG!}4`$2sS z?S@^5Wg;{k`0*rJ8n~+>(cOCPZEd9dK)u|;fSOat8hDhj#U+HYmQHuJ6UiA(w%oh9 zElXvi4dbmtPhg*)3q%x6>%Gg|M)dYD$k_!JA8SN$or`49KYs%XO6Aw#hxW+GAE4M?nuqc zVd1qy;Tml9Wfvgc%RHhi(hz+a`$^r|muoh=aj#{dw@l4BLnGrECbFAp=fu!puB%wN zI?I&hb_rK%5X{URJO3<@NpfNoE>G>VnHk1oKNR9-F?B9--fib}12YjZ_1j{S$j`w4 zX@?1GTad-zd!O;IlVy=1q+l;jms9KbdUjcaY)Y*wM0XNnEJthIQtWG$oI?k5W3$#& zo;uq|%e_a|uQNCi>QpZ{p5##PhDpC(Gs?LjKU9nIU*oQM>rn~G>1*r(Qut; z)5rYLb>nke@!g{;GPnF=cPG#x-kMdT6O^{jrDc z5Bv)vH@>-oFZRLrrm#F;vJF-~Y9cOAR2u{lXYtgQ-y)*OXmzU^5GKOmJsP@WpDA~*DYlugE+Rep9TIB*WHq1<7ur> zACb=_`uqPrV)&W7-HQer=g$<~QxC{H;hjg@_S|mAj?|;sVX3{?_GE(UAGAlmCAk;Z z&dg@*4=YMnRX+77obtF*i~IRd?&!Ip6|u+6x*PTtb>C%16cj}i3=3PTge@^=r=z5C zAw7}1qq^OU4=b;4c-|s{GYiySN@=1hemU(O>Q2QFuTv6lau}PlsiF_n9zT_wwLd#3 zSzhc>HJ5RJ-oVpC38kf=prE2a2iH-V#XPE;prEi(6H-tHZFG$sJw{LhH&soq(fbS} zJihq|LPA=#h6WPyM4Hw}D4%G-F9cznA{2p)2`8{niY?L|-vFJ|MAD2m^vVfI%{=HU z3Q6Kz$YC9llzJdC^0;IQMiEc~PyiZO1SkV4fGVH{r~?`R2EYP~0Zm{DfCKP=7N8C2 z080T~U>TqX5C9^u9MA_007JkCFa}Hj5*@^Vxdv zs)gzNR6W=p2~YH32P7yGel{)y*bQlt{%al*U>Ip;2(Tj(Y>7W7bBI5e-z36z$j~Se qc0mGl`Hxk?pyhA_dZ7}UnZTQoQ|CvM;Av#mK{9*>+1eBtcKH{T2kE!~ delta 1752 zcmX}tdpOg390zag?B1?yejMeorL#pII}m|kyh?M)@Uu_9h!pY@V!?h93**r# zZx{6C82r;Ta?nSonqXl3~j$EUiF!nvsVjSFT}@Yms3||al*AI zdW>@`hw2Z%ZSTQT5A@FxILs3><5G5bnMQ}H*$p0d@8I64rz*^@I*3s4nBm(}JAJuG zZM`lPGps1@lP4!M@Ul;yOXVYkGi{7HqZ?y*h{25DwU&s!qCW>Tm(8X%4o8L1(`ban zZX~kp??+yg(T8Gsd+oiEu1g*%n1mU|eM9f+X$L5GUZwM@o6p-*S`J62awMx;vs;4_ z9WbW@Tb{d@?65?R)X@zlbIRr%hM5h6-rM4rceK1e;>J2(pw={(v-P9?7s*%%ruKVx z`S!@j1evsHUWc^hn~)z`?4*ClH>lWT9e*<+`gOE()?faW-MFXLoj+U?S0_RKj15Ri zMWr2m_s0tlS=02)TzS(a?YPNwWijm-=X#jwZw*x*Rd{-&cAL)5Y8NX_H!kXy(GjwX zZ+YaJ!tQwsLPY(uDN^YKouyuG-EL2PaHV6&fRh>-r>y(N(DTcvk(GbVWznG%+dmXE zI##74FqVp2EhsHDul}(-VTU-HkQL4}NxiiT&hq(Ac&f z>G?HSKHl8Mx-{o164xs-zBsTMw1J&%$UA)%vQ*mE?iXK<4@xpvKO6^Tv(wS>4#qw{ z*PLm>S7+AdYQ$~|(YL)P9qI{i&HSn#a6d2MJh6{36W~ZBf1D_--4euSq+s4*M{QoK zq6PJ#b1us+-|MtV+qpls(A(t0{06Q`W?yp zbWIy$Ll5L2T5>EUk%>_=N=!qBMi zYCE?ptLQ2zDXA+he2$9DzpM1%l$17WBb3xYdy+e)I*wBYBW^Eo=n5R_E5rymT&!HW z6b{)!ZA&14j=&yUw-0(1a0pbO{$`hWqj9KZlr z00-a!L%;}F0T2KpU<{Z5rT_^r16Bg70CQk9Kn5&;H2?)z3s?f{04u;+K-RRexDMYN z{jN>v&nJX@WOGAvp-U-fv=J0E+7>#&8=mS=6YBq8LlyxGty}1`c3~kaI9$L&>*3IV zg*L!p5$;z*!$B@^ll))v1P4KIqrgG-aInMwT0VjQb-V%(QQ?sc57FRYVfgcuAlwkD eQ(dS8D@~wn@LSJ1X$r~Vtw<7d4i2*ee~4l{qtKV_0jHI-?hwxZgh1cfhkO5 z2D6xhh9pv$#{w3ygk`KCja956gLP~m3mu!-!Zvo0Lmma}qKG~0;{b;!;qTWGj&Xuh zoZ%c7DB}_)EZ7jJz=4E96)tM1qk$`Uv2OU~J55;9Q9|`w13&j4acAHswVP&G4V7yK g%C;lnHUm?IGP32hG$SXd2Nvy^j&Xuh zoZ%b|G$CNZf(-{QJV;#N5-qgRNi@U1>ghrV(-qG6CicsJk#u7}qpNEvJsCPyq)e;P bw8Owwo{~~VB6K_z1f5Fjze)1;