From a761c68f4511f97fdf12dd41e7da976e6c4f1aa2 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 16 Oct 2026 11:54:24 +0300 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFdocs:=20=D0=BC=D0=B0=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D1=80=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8?= =?UTF-8?q?=20=E2=80=94=20=D0=B1=D0=B0=D1=82=D0=B0=D1=80=D0=B5=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BB=D0=B8=D0=B1=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?ADC=20=D0=BE=D1=82=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=BB=D0=B0=D1=82=D1=8B,=20=D1=8D=D0=BA=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - device-setup.md: раздел про ADC дополнен (старт от заводского значения платы, формат x.xxx, коррекция на всех платах, пометка base), добавлен раздел про экран загрузки, обновлены таблица меню и макеты экранов - README: записи в журнале изменений - release-notes.yml: релиз 2026.10.1 для треков repeater-mqtt, repeater-mqtt-espnow и repeater-mqtt-bridge (база upstream v1.18.0) --- README.md | 3 + posadmesh-docs/_assets/wizard/13-battery.png | Bin 4954 -> 5394 bytes posadmesh-docs/_assets/wizard/14-adc.png | Bin 4825 -> 4957 bytes posadmesh-docs/_assets/wizard/16-boot.png | Bin 0 -> 5426 bytes posadmesh-docs/device-setup.md | 18 ++- release-notes.yml | 114 ++++++++++++++++++- 6 files changed, 128 insertions(+), 7 deletions(-) create mode 100644 posadmesh-docs/_assets/wizard/16-boot.png diff --git a/README.md b/README.md index cac9343c..f6c618ba 100644 --- a/README.md +++ b/README.md @@ -397,6 +397,9 @@ MQTT-репитер использует: **Исправлено** +- коррекция ADC стала доступна на всех платах и отсчитывается от заводского значения платы: механизм вынесен в базовый класс `ESP32Board` (`adcMultiplierBase()` + `adcMultiplier()`), платы со своей формулой переведены на него (Heltec E213/E290/T190, tracker_v2, v2, ThinkNode M2/M5), а Station G2/G3 и T-Beam с PMU честно отвечают, что подстройка не поддерживается; +- в мастере настройки поле `ADC` открывается с действующего множителя платы (Heltec V4 — `5.420`, Meshadventurer — `2.000`) вместо нуля, формат `x.xxx`; на экране батареи заводское значение помечается словом `base`. У Meshadventurer множитель раньше был зашит числом 2 и команда `set adc.multiplier` отвечала `Error: unsupported`; +- экран загрузки: `meshcore.io`, версия с датой сборки и адрес `posadmesh.ru`; строка `< Repeater >` убрана; - ответы устройства в мастере настройки показывались строкой поверх экрана и сливались с содержимым (например `OK - reboot to apply` в верхней части). Теперь это модальное всплывающее окно с рамкой, собственным фоном, переносом текста и кнопкой `OK`; закрывается коротким нажатием, пока открыто — экран под ним не меняется; - мастер настройки: при выходе из меню отправлялась команда `set radio` с нулевыми значениями рабочей копии, если в этой сессии не открывали ни один радиопункт (например сразу `Save & exit`) — устройство отвечало `Error, invalid radio params`. Теперь радиопараметры отправляются только когда их действительно правили, значения перед отправкой перечитываются из настроек узла, а при каждом входе в мастер рабочая копия обновляется; - `set mqtt.meshcoretel on|off` не срабатывал: обработчик сравнивался со строкой `set mqtt.mqtt.meshcoretel `. Алиас `set mqtt.meshcoretel.ru on|off` читает значение по правильному смещению; diff --git a/posadmesh-docs/_assets/wizard/13-battery.png b/posadmesh-docs/_assets/wizard/13-battery.png index 674d4f7ec75988ef5e1fe1cb7bc0fad953c2f438..7ed1a41b58085d25758fe436fe5bce8bc8f12dd4 100644 GIT binary patch literal 5394 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 pCBw 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 TZ)|GPuo=JIZCl|FN6!5phVe(( diff --git a/posadmesh-docs/_assets/wizard/14-adc.png b/posadmesh-docs/_assets/wizard/14-adc.png index 87edb44186b3bbb29270feddc8b28cd95d17bf30..753e7c300e651e867ad24654bbed0451e517005f 100644 GIT binary patch literal 4957 zcmbVQc~sJAzyFy{R+>)Rl;tuRXq#y{YPeu#sbHxsO6FFXOJbTB8saw1TTWS+W%q8){mMwH|?=bwMxO~}~p zjc9!N(y^x`F!_{=iwnL^9qOIEtupTpj0h;p>EW4=F~e+&aWjDm~Nb zPB?Wcm#=LZ>8SW}kB(4TvEHU4?7gAi2j>OKTXMtMcuWCv5C;E2#f zvCpj}-~gPcp_}fNhg}Vq;W-L=kp}cF?Cad?tNwYj$u6z>mMnARz5M)OIacX@d-QFB=Bu&*Zso=!od5(D_$k*7M*#~-NXp ze?#SeTiSk+^sc)q3Whm|I>yHnBo=m;)ZY2r^Qt6J`#}ecjy~?yjW>YKYkmgD`8O#ZxJE!4 zI#$<51_t~$hl0{`D3b>I`q)S!kzH$UZjKX=_ctPaYhygbQM_1#N*6ksi-K%yY~b+l zaH?gLXdBAFz=04P{D7~lqV8CG_S1z1oeLK(Ai}ztZiJbs$+9}~v16J1KTHC#&KOLw z6B$a4nGYA0g(wOS?9Ui_LtBAw;C=|+r zU~hkkKQ?w2Mx)VG%X6QPOHmMUe|$HSNHsW+nd{96|I&tpugaAJ?#!o8#vOFj>_~?R zTsJLFl4!;dy?T5uEnBaTvb6NHr06bRejm6uMa zB&{(@9~mCThv#aV1URCJf>i!a|0c&!PGPoPCv=N{civtFds>tV8l$be) zXPJk6K$8`Ed+h9x6~SyQ;oP~>7U`lzi?}f@FE6h|u35FpQO7d!VT;L%lYV~4!tWDH>67p7I&kZ;?USO^p*0`w#htMpk=&fVRrj@B!WdN=;4sd?Xe`21TM%FKpg``aRFl&EVn zYS*r#PpYb_BvuK4-PpHp-jsgKvXGty5+1pcF+iXU*-_g>b6iJD`OU|~A_wNsj zb1^p%_i}TCY^2FHitAP(AB}}2GRdLx5D(bDDK&*gryI#QzVT^YWq4e3vsh1RU}$)N zP!~6Y2n+}ap51P1Ys;;?rehuLD4Cp0qh)6sl3H)sQaO)2@6CAc*|P@`*7fwDe4T-T zfsn<@vEGU@Hg=V->*f8$B62)c&I-Avu%TypYIUUW80^hFSKO?^t0Choe|ku%85|tM ziar+KJSiF}NS5$A~ZUfd~fq7AdO1)>MWYLth5a${ml@ z(9nR(g4xt+JZHPGL?FnKe<)x*?!>G2j(vJTWzkR@W!KDmuE)$OVujI*aX6fi*SC*m zL2MF917BU$VQhexb_A}m4_D-4 zC<7`=#kUu1sN9$IliB(yQPn86rz)z5e`WR7U}@aJ`{a?Y!cLr=CU4F~PoPgcUkE>Y z_Kcckir4RGX*ocMiK*`H?EhUp@%78$GjcXi*X+cpsD)#MdG=_W3Vumr`nnD@rF}Ok zg0nM)?~ts6i5p16m9j<{L(2*#mVQuMYrLDB&xkIpZ`6$siAcWH+UhEt_;#kVoGp4c zx>#V1IdC9t`h#Z}MqO3)eNIa2({R74ipJ$q2k*OMJ>*f0L@cIS#e6#}MB7kq#o^dQ z1PBh-M}~%mT7e)en zoQ*I)-S#rTj$Q0W%>K2hv(r-^L3GJNI;A^;%*3Jmz=+VXQGC1G-S~TBvaS)SxBgeI zgdsik`uYZ{!_~DLNPtd}r;}?$$;=_eoI3))3?9;GH(e%(UOu`1I8kF0zFmeO_UxH) ze!w{xUj$qR8#mVb>#4U3FD;n|u>X&OeY|}5Ag{IH;6~WMB`39-Fo1>cIwY6xqDI?? z?%#ivPZ(%A&C2qAeEe65MX=?)16legBO{kNf8igS__BA9?9j>iI%3h~z&>|}*3cW< z`62XTrm`azOSOs;dBJI0ap_t={&+k*7cd9|$e2z`N!ft1vhsS8oSe*8*S7c`Dk~FP#>jbUkN}Iapm3M8EK&$@oi5G~#z(A)S zCXvDa{rAPq&3!`QBkc@cMHu~5;85Lg2PhCyJ~j2zmy!Thjv=Y1n)H*yltMm=?g zX@ve+EcOb&tIKO{X43|LX&Sd^bb5) zr84QovnES|KucyQ?WPMM*CX=}?^ZAYY1wvHIJA5?6%c@Rc67WRBN_34U2?466|Q#W zbc zDDtiI5%)g(t!$JSE+dog(Bl;zPl}3)8W8tf=;>DHKD)voVy4k(w1?J-GJi!4c3pgY zd=*cZO!`CG!Ie5#Yuqh;;8Bv#2N41*0`k41tbl(KY5ZphYY}u3EPQ~4L}d-l+&Mok z?L%ki3uK!4E!sb={+nXBGTaT}t?m!6&-LxQm25py@U!gMZz|~-dCu7u)We4lBc-3; z*@-K7ag5l}&+qOcL7{!bBON7%Mos|pNEY43mjI$U!VDa@j$p+1=y4CMt316YZkIdw3oUsM zJxpNV_?fZ>#QZ*k;Vr>}l26fQ_%(sVk=}QUq6}QsPAng-3ybKgLlpSbF!>EhYw#S* z^wVjC0D$aGXJ2sAhNFJJD3$x;y* zQP5}~@y#86A#v#ziY$<>vi;647n~nZ%*fBY^_-sM_?i`wK0W_ISUdD!&g<0|FE$QV z-(6!Pcv>lFO56I~u`7WcaZML~cvZ$m-Ap(1`)auDvaJ}!zZKTa?+TxI*;Sz)!CWgm|$k3Qt(nP+56v)1_FKJuDCy<}1$+|X$+DTnc!|%3?chG2BLguxRkr23U zMv}#cZx}e$#?3GzN51V-_~a2?HcYB@ve5GV@~9&~qFK+aqeL{j(TSv(_>nU8`i6#v zL1v;{I*OML9%}r|whC_FB(%mgir8iha>jkBZ4FC6Y^g~wl+tc0YD!9Ckwyh7MXCbYR9<^JWO?;TqLXA7gL9BLsW%+J3CGpm{w1<^HqG&o{Xah1O$L0{=_bEu3yUS z@yEd^dU0{Fv86Kbf$>i6>ry=Ds6V-_ZB4?>mQVNGdzk!;R?Zo$(h-0DI0aU@*XdIN zIx?0;^Kt;*S_J^s9+d+CD<=SW;`q%pz#pe*o9x_aD_Lwe;-oAcjh~x7L67G!`}qe- z_!1RhhsDY|V4Ot4t5>hy=DvTw6Fc5~W^`XyXQypnPY;tY!D>(Tre-d?`z0ey5Qrm^ zxjdr?yXf)edWak`YzOzFsj(MG#UJ~}AtsZi*3oB%>v9)4RduIX1$lY8*cbN?jV>(> zCSPJ2;_{87bg|M!F-Sf8{=w4jc;7!r;RB?oq=iovP>pxfX@>f0U~#iK02pli=6@e> z(_IAsxVxg@u%7>mmjU5=r-4{3PM{F3Uq92d{@~Ur4tF&G6r}y-kf4a+T3hLx%UTE#Z)~_Y4v>?R0~2|pNQ!ON_EBRU9UWAWCB7Yc z`t%63Y2Cq*zqRco8+bV|fK22tZ82R04ZXe>ZMa1Gnl)=c7Z(?D+$IYPi%}sg{P3=E zH;yUb?%p+I6Mq~(H{A<{_7&_D57l^su^$9@uOl9(#DU#8yL2d4m)9eQG=X5Xl|opGfK|?- z?J?2SwG%KaT##K|T`0npE4K=6-wv2tFbwIrRX`-}!9LI4c?Wz@^!o>hzJaHn+Cq54 zuw33<-zc{O_qT$Vmd7}XN>FBV+ zX&!8fo;ueNjK&dG}xFCv;EhV2Ef>VuH%>FLwM$V-B|AF4$-w)2fpu)~h zwt;>r;^6BQ+hJdbKTdUlQ*Yl!w(m1H_r)Y7H47)@e=Gj_p#D3maB_NHBpb~6^Q{TH z2gk;|F~^Q&bf|g`K@en9>rzI5VDj0aANgN^M#&Mfe($(#e8*_G);G%x1KH5o3}T}5 zb%6bF#bwLoX8`8M7kb`}Vfb2t_2vv3jRrB9u5`DmlR0K*-X5XHvHNo1#s~7$JFaco zMIstS4DF_)(daLtHrcz^NkYLde!L99PKzM+HsuQb>_+Lk*A_snt!8xEk}w~No@nv3 zvpd6gz+fIj(j^JX9)%i^`pV18lj79Oal&lw%*-wmLqiwAt)HzBF_W#H66z{NMbuYto@`-6`{=OKy=z-sELMQT#ZPzO)J?>Uy(eQo; zeyk?6g~0BInco1xxQ(bAd2m#jejt&b?L)x?(50BkM3|G3L1UJ?8k)|X?MMWTd<~`VD>C$NE;Gnsv#)%lvG_3vvmJ8CaIrfks zKc;=B7^dIo{CAslU0+D`u1&#kNT6B5&>85{`Ez>O&H^hqwbyIi{pOWbd(OG{gpb~(DEZGNsC%>!^{ z1}xZUkQq8z=0MapF)(n%RGq9rP^nZD;p)|T98UcV9%gB66wOree(jv&G6Aq#y^>O% zg$j-pl5b$0oxt2wH9~|22iv9ypsP?W`kbw#r~TYys%f2nFFXTCp)HkcrSqTqt&K(B zs_qTEB*ZQXd1DcxcZsX!ix5bpZ3??E5ph}OaGS89>U$GoQ&%JpYn`@OoNtC?BU#fh z-)CYL{GL-dNV46x;Ul^IZaJXLN=$!7%l*)uBuw8p?s2UmLe60QZv7I z$TvPAc>Q}Cndd%Bhf#*e)HrZb(4H*ezSP7`XvH&@2Fe^z@R%Lw(<+ZpWzKJt^+nTh zsC>?r)0)0e=vwzsiiTC4v-qxGn_jSH?S>V!{7?AxXhZIU_BZ5Vbk=zx*ON|6S*U>4 zY}oFhZfmZ+4-RaY&TE^<>|TBE#^X2*a-q!cU$Wubr&qzI7*=$B(=2TnEr7EXlDPlO zVaWn)4%8$KPlGbnsg1Tp0nd%?S1Ei=aPI)LYlSnC=YjX}DS(tV>3XQs84L%^*|Q|5 z)|YD6_xw3nke!VXzw3Vp#*8=rOo3-MsAhD!L?e{d5SnSl2AC1TSr!Y{oFVD4_uz%wOU_(dl{nxYCqan-7@ zSsH8(C_8)O|8oy!XbnSEiUZ{2s_fB&uK}Z>{1r4DLQp7h*QDa#DVZq(KLGb7Z zdbXCw=;-JmM?Km+-x?T?e%jrQ`ejNAaMQo`;XhS<(9=TYiR%1Xw3e0@-McaJ_LpS_ zH!+Tmboc}>C3eF3dGcLoQ9K7)!_h)4o@0X>e)xgJHpqooRiyA2_b*J$X0~NR$&JD# zCq~DPD%rk(o#zaKl27laN`A~iSFc+AwT7+w6db!|aG%}<%(eRM-;CeGkMn#`L<|@m z4{+*V5m;O=n4~Vu&!Esv(S=ZB)R>*{!-rd6#!IHA`Qz+tcQp1W#@QK!ip+6#Qa*K- zG+Ss8a1nxWYKv};EiNtjG&AfVcv*@<4%c|QKfaFYzY`WY-t6>cOVZiC{WMXL!C*9H z$N%{}Cu^~Dv!9J@v-oS)DJu`4Lz(4HAiL+D_Q=41ivZ>w!urS&4`~#O_%=y2k%+Xm zwwCcOtDvA@Hzj^%XmqB0IVE?GpFZXEU?pfNhBojww&J`UjQ&ofP^ChTNGkVnBG4aIS4VjU!6;aSto_;ANEdky+7_gZFc*5~(SLcY^BI!bXSJ-=7qCu{(#lMy7!Ipk72YJjz=6ESIEmh zwl4}$yf*Wc#pY5{3Z8pZqfTY*+TAbPt>EyHZH5y@(lrhwWG{aH7(~Yjx&3`7DkE;d z(YS1h>Ya}>*t$}m6t_CGFLnJ-y1LKbGj32@+RGi_36QJ4d9#lAMX}YW=-Jb!HbrLG z$Gr^aF8tKg6gh5fXEDKD(**N$y0y~}zZ5)|=U(g6&&So8#=cHHg~#I`P6JHILqdL4 ztshOF0+&oSRO)=K{G)ul3)8~kC^EqYxbsVEl$5~ppFh0WMh=iIL5ckFiYNvw7V@%v zBKOtLVtSU&C~nht-~D7_Zaxu$%Y!{B?zv}}E;auk|M#aTcRVDWdOuKBdb;keEL$bc zP7d<1fxX!~T}UIIIJpX9DdB?G6rYbSk+|Gt^!D{N?st~`6L4ng*@*fschPptrSWl} z{5mHZnrVWad`GW3ugmJmb!kG~z_j z^d*U?2{rbQU0hFF+ltE0SXh+6^WfUA(s$o-inuxsMNEQWW$2b{V;L0Slu$dNd{hJF zMjUDSEwJ+%Smj!=ZKSKqnkrhVbgSA;`1HG?R@fY^pAyGL#7wlfNeZZ@cmtTpbeN#} zWR{k7wSuFD`8ikWu|rX`7RJjaR!UW&);S5U2}v}Kue6ynRnauNHU22TiYHzL&#gwR z#>!b~;Cf*WVAiANZ@9#Bo6m~{qlOm-8!paHP($a^F0bACKx4L{vFx&`Wq+B279DOo z8G?gi7%}l=jYs_-Z`Z;BI`{m-r*NK!%;k{;Mo4gQ_;A#zkPtiRl8A+5gp8Zat6)QnTC;;60RYS<&-?>XRa)QExx{u(J7X`iqJ^S&(H6TSAlmuCcn3o&|igx zpF diff --git a/posadmesh-docs/_assets/wizard/16-boot.png b/posadmesh-docs/_assets/wizard/16-boot.png new file mode 100644 index 0000000000000000000000000000000000000000..c360b892ebe00baa071977d6afcd4dd161e30423 GIT binary patch literal 5426 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 literal 0 HcmV?d00001 diff --git a/posadmesh-docs/device-setup.md b/posadmesh-docs/device-setup.md index 71d731e3..9bfc3807 100644 --- a/posadmesh-docs/device-setup.md +++ b/posadmesh-docs/device-setup.md @@ -33,7 +33,7 @@ | `SF` | spreading factor, 5–12 | `set radio` | | `TX power` | мощность передатчика, 1–30 дБм | `set tx` | | `Battery` | напряжение, процент заряда и текущий множитель ADC — только просмотр | `get battery`, `get adc.multiplier` | -| `ADC` | множитель ADC для калибровки измерения батареи (0.00 — заводское значение платы) | `set adc.multiplier` | +| `ADC` | множитель ADC для калибровки измерения батареи: открывается с заводского значения платы (Heltec V4 — 5.420, Meshadventurer — 2.000), `0.000` возвращает заводское | `set adc.multiplier` | | `Repeat` | пересылка пакетов включена или выключена | `set repeat` | | `Path hash` | размер хэша пути: 0, 1 или 2 байта | `set path.hash.mode` | | `Advert int` | интервал advert в минутах (0 — выключено, иначе 60–240) | `set advert.interval` | @@ -124,9 +124,21 @@ Процент берётся у платы, если она умеет его считать (например T-Beam с PMU). Если не умеет — считается линейно по напряжению между `getBatteryMinMilliVolts()` и `getBatteryMaxMilliVolts()` платы; на большинстве плат это 3000–4200 мВ. -Пункт `ADC` правит множитель ADC поразрядно, формат `x.xx` — так же, как полоса: длинное нажатие входит в правку разряда, короткое `+1`, двойное `−1`, длинное применяет разряд, короткое после применения переходит к следующему разряду, а на пункте `Save & exit` длинное нажатие сохраняет значение и возвращает в меню. Под цифрами видно измеренное напряжение, поэтому калибровать удобно прямо на экране: подстроили множитель — сразу видите новое напряжение. +Пункт `ADC` правит множитель ADC поразрядно, формат `x.xxx` — так же, как полоса: длинное нажатие входит в правку разряда, короткое `+1`, двойное `−1`, длинное применяет разряд, короткое после применения переходит к следующему разряду, а на пункте `Save & exit` длинное нажатие сохраняет значение и возвращает в меню. Под цифрами видно измеренное напряжение, поэтому калибровать удобно прямо на экране: подстроили множитель — сразу видите новое напряжение. -`0.00` означает «использовать заводское значение платы»: команда `set adc.multiplier 0` возвращает расчёт по умолчанию. Значение применяется командой `set adc.multiplier ` — той же, что и в последовательном CLI. +Поле открывается **не с нуля, а с действующего значения платы**: у Heltec V4 это `5.420`, у Meshadventurer — `2.000`. Так видно, от чего отсчитывается коррекция, и не нужно угадывать заводское число. `0.000` означает «вернуть заводское значение платы»: команда `set adc.multiplier 0` сбрасывает подстройку. Значение применяется командой `set adc.multiplier ` — той же, что и в последовательном CLI. + +Коррекция доступна на всех платах, которые измеряют батарею через ADC: механизм живёт в базовом классе `ESP32Board` (`adcMultiplierBase()` + `adcMultiplier()`), платы со своей формулой переведены на него. Платы, у которых батарея измеряется не через ADC (Station G2/G3, T-Beam с PMU), честно сообщают, что подстройка не поддерживается — команда вернёт `Error: unsupported`. + +На экране батареи действующий множитель помечается словом `base`, если подстройки нет и используется заводское значение платы. + +## Экран загрузки + +При включении узел показывает логотип, ссылку на базовый проект, версию прошивки с датой сборки и адрес проекта: + +![Экран загрузки](_assets/wizard/16-boot.png) + +Версия — это база upstream и дата сборки (`v1.18.0 (15 Oct 2026)`), адрес `posadmesh.ru` ведёт на сайт проекта. ## Всплывающие сообщения diff --git a/release-notes.yml b/release-notes.yml index 6627b183..2460315e 100644 --- a/release-notes.yml +++ b/release-notes.yml @@ -911,7 +911,113 @@ releases: - type: changed area: release text: "Репозиторий переехал на , workflow GitHub Actions удалены: прошивки собираются локально через `posadmesh-build.sh` или ручным workflow Gitea Actions, а теги и релизы создаются вручную в веб-интерфейсе git.meshinfo.ru." - breaking_changes: - - "Формат тегов меняется на `repeater-mqtt-*`: прежние теги `observer-eastmesh-*` больше ничего не запускают и остаются только как история." - - "`EASTMESH_VERSION` переименована в `POSADMESH_VERSION`: локальные скрипты со старым именем соберут версию без суффикса PosadMesh." - - "Линия companion-прошивок удалена: трек `companion-wifi` и companion-сборки больше не выпускаются." + - track: repeater-mqtt-bridge + version: "2026.10.1" + tag: "repeater-mqtt-bridge-v2026.10.1" + date: "2026-10-16" + previous_version: "2026.10.0" + summary: "База обновлена до upstream MeshCore v1.18.0. В мастере настройки на дисплее появились экран батареи и калибровка ADC от заводского значения платы, ответы устройства показываются всплывающим окном с кнопкой OK, исправлена ложная ошибка invalid radio params при выходе из мастера, экран загрузки показывает версию и адрес posadmesh.ru. Настройка частоты, полосы, SF, CR и мощности доступна с экрана и кнопки." + changes: + - type: changed + area: upstream + text: "База прошивки обновлена до upstream MeshCore v1.18.0 (было v1.17.1): влит релизный тег `repeater-v1.18.0` через интеграционную ветку, сохранены возможности PosadMesh. Добавлена плата Waveshare ESP32-S3 LR1121 (`Waveshare_S3_LR1121_repeater_mqtt`, `_espnow`, `_bridge`), всего 112 MQTT-целей." + - type: added + area: ui + text: "Мастер настройки репитера (дисплей и кнопка): экран `Battery` с напряжением, процентом заряда, полоской и действующим множителем ADC, и пункт `ADC` для калибровки измерения батареи поразрядно в формате `x.xxx`." + - type: changed + area: ui + text: "Поле `ADC` открывается с действующего значения платы (Heltec V4 — `5.420`, Meshadventurer — `2.000`) вместо нуля; `0.000` возвращает заводское значение. На экране батареи заводское значение помечается словом `base`." + - type: changed + area: ui + text: "Ответы устройства в мастере показываются модальным всплывающим окном с рамкой, собственным фоном, переносом текста и кнопкой `OK`; короткое нажатие закрывает окно, пока оно открыто — экран под ним не меняется." + - type: fixed + area: ui + text: "Исправлена ложная ошибка `Error, invalid radio params` при выходе из мастера через `Save & exit`: команда `set radio` отправлялась с нулевыми значениями рабочей копии, если в этой сессии не открывали ни один радиопункт. Теперь радиопараметры отправляются только после реальной правки." + - type: changed + area: ui + text: "Экран загрузки: ссылка `meshcore.io`, версия с датой сборки и адрес `posadmesh.ru`; строка `< Repeater >` убрана." + - type: fixed + area: adc + text: "Коррекция ADC доступна на всех платах: механизм вынесен в базовый класс `ESP32Board` (`adcMultiplierBase()` + `adcMultiplier()`), платы со своей формулой переведены на него (Heltec E213/E290/T190, tracker_v2, v2, ThinkNode M2/M5). Платы без ADC для батареи (Station G2/G3, T-Beam с PMU) отвечают, что подстройка не поддерживается." + - type: fixed + area: adc + text: "Meshadventurer: добавлена поддержка множителя делителя батареи. Раньше делитель был зашит числом `2`, и команда `set adc.multiplier` отвечала `Error: unsupported`." + - type: docs + area: docs + text: "Страница «Настройка с дисплея и кнопки» дополнена разделами про батарею и калибровку ADC, всплывающие окна и экран загрузки, с макетами всех экранов; те же материалы опубликованы в вики проекта." + breaking_changes: [] + + - track: repeater-mqtt-espnow + version: "2026.10.1" + tag: "repeater-mqtt-espnow-v2026.10.1" + date: "2026-10-16" + previous_version: "2026.10.0" + summary: "База обновлена до upstream MeshCore v1.18.0. В мастере настройки на дисплее появились экран батареи и калибровка ADC от заводского значения платы, ответы устройства показываются всплывающим окном с кнопкой OK, исправлена ложная ошибка invalid radio params при выходе из мастера, экран загрузки показывает версию и адрес posadmesh.ru. Настройка частоты, полосы, SF, CR и мощности доступна с экрана и кнопки." + changes: + - type: changed + area: upstream + text: "База прошивки обновлена до upstream MeshCore v1.18.0 (было v1.17.1): влит релизный тег `repeater-v1.18.0` через интеграционную ветку, сохранены возможности PosadMesh. Добавлена плата Waveshare ESP32-S3 LR1121 (`Waveshare_S3_LR1121_repeater_mqtt`, `_espnow`, `_bridge`), всего 112 MQTT-целей." + - type: added + area: ui + text: "Мастер настройки репитера (дисплей и кнопка): экран `Battery` с напряжением, процентом заряда, полоской и действующим множителем ADC, и пункт `ADC` для калибровки измерения батареи поразрядно в формате `x.xxx`." + - type: changed + area: ui + text: "Поле `ADC` открывается с действующего значения платы (Heltec V4 — `5.420`, Meshadventurer — `2.000`) вместо нуля; `0.000` возвращает заводское значение. На экране батареи заводское значение помечается словом `base`." + - type: changed + area: ui + text: "Ответы устройства в мастере показываются модальным всплывающим окном с рамкой, собственным фоном, переносом текста и кнопкой `OK`; короткое нажатие закрывает окно, пока оно открыто — экран под ним не меняется." + - type: fixed + area: ui + text: "Исправлена ложная ошибка `Error, invalid radio params` при выходе из мастера через `Save & exit`: команда `set radio` отправлялась с нулевыми значениями рабочей копии, если в этой сессии не открывали ни один радиопункт. Теперь радиопараметры отправляются только после реальной правки." + - type: changed + area: ui + text: "Экран загрузки: ссылка `meshcore.io`, версия с датой сборки и адрес `posadmesh.ru`; строка `< Repeater >` убрана." + - type: fixed + area: adc + text: "Коррекция ADC доступна на всех платах: механизм вынесен в базовый класс `ESP32Board` (`adcMultiplierBase()` + `adcMultiplier()`), платы со своей формулой переведены на него (Heltec E213/E290/T190, tracker_v2, v2, ThinkNode M2/M5). Платы без ADC для батареи (Station G2/G3, T-Beam с PMU) отвечают, что подстройка не поддерживается." + - type: fixed + area: adc + text: "Meshadventurer: добавлена поддержка множителя делителя батареи. Раньше делитель был зашит числом `2`, и команда `set adc.multiplier` отвечала `Error: unsupported`." + - type: docs + area: docs + text: "Страница «Настройка с дисплея и кнопки» дополнена разделами про батарею и калибровку ADC, всплывающие окна и экран загрузки, с макетами всех экранов; те же материалы опубликованы в вики проекта." + breaking_changes: [] + + - track: repeater-mqtt + version: "2026.10.1" + tag: "repeater-mqtt-v2026.10.1" + date: "2026-10-16" + previous_version: "2026.10.0" + summary: "База обновлена до upstream MeshCore v1.18.0. В мастере настройки на дисплее появились экран батареи и калибровка ADC от заводского значения платы, ответы устройства показываются всплывающим окном с кнопкой OK, исправлена ложная ошибка invalid radio params при выходе из мастера, экран загрузки показывает версию и адрес posadmesh.ru. Настройка частоты, полосы, SF, CR и мощности доступна с экрана и кнопки." + changes: + - type: changed + area: upstream + text: "База прошивки обновлена до upstream MeshCore v1.18.0 (было v1.17.1): влит релизный тег `repeater-v1.18.0` через интеграционную ветку `integrate/upstream-1.18.0` (266 коммитов upstream, 201 файл, 12 конфликтных файлов), возможности PosadMesh сохранены. Добавлена плата Waveshare ESP32-S3 LR1121 (`Waveshare_S3_LR1121_repeater_mqtt`, `_espnow`, `_bridge`), всего 112 MQTT-целей. Новые платы 1.18.0 на nRF52 (ThinkNode M8/M4, Wio Tracker L1 1W, Muzi Base) в MQTT-треках не выпускаются: WiFi у них нет." + - type: added + area: ui + text: "Мастер настройки репитера (дисплей и кнопка): экран `Battery` с напряжением, процентом заряда, полоской и действующим множителем ADC, и пункт `ADC` для калибровки измерения батареи поразрядно в формате `x.xxx`. Частота, полоса, `CR`, `SF` и мощность TX настраиваются с экрана и кнопки, значения применяются через тот же `CommonCLI`, что и последовательный порт." + - type: changed + area: ui + text: "Поле `ADC` открывается с действующего значения платы (Heltec V4 — `5.420`, Meshadventurer — `2.000`) вместо нуля; `0.000` возвращает заводское значение. На экране батареи заводское значение помечается словом `base`." + - type: changed + area: ui + text: "Ответы устройства в мастере показываются модальным всплывающим окном с рамкой, собственным фоном, переносом текста и кнопкой `OK`; короткое нажатие закрывает окно, пока оно открыто — экран под ним не меняется." + - type: fixed + area: ui + text: "Исправлена ложная ошибка `Error, invalid radio params` при выходе из мастера через `Save & exit`: команда `set radio` отправлялась с нулевыми значениями рабочей копии, если в этой сессии не открывали ни один радиопункт. Теперь радиопараметры отправляются только после реальной правки, а значения перед отправкой перечитываются из настроек узла." + - type: changed + area: ui + text: "Экран загрузки: ссылка `meshcore.io`, версия с датой сборки и адрес `posadmesh.ru`; строка `< Repeater >` убрана." + - type: fixed + area: adc + text: "Коррекция ADC доступна на всех платах: механизм вынесен в базовый класс `ESP32Board` (`adcMultiplierBase()` + `adcMultiplier()`), платы со своей формулой переведены на него (Heltec E213/E290/T190, tracker_v2, v2, ThinkNode M2/M5). Платы без ADC для батареи (Station G2/G3, T-Beam с PMU) отвечают, что подстройка не поддерживается." + - type: fixed + area: adc + text: "Meshadventurer: добавлена поддержка множителя делителя батареи. Раньше делитель был зашит числом `2`, и команда `set adc.multiplier` отвечала `Error: unsupported`." + - type: docs + area: docs + text: "Страница «Настройка с дисплея и кнопки» дополнена разделами про батарею и калибровку ADC, всплывающие окна и экран загрузки, с макетами всех экранов; те же материалы опубликованы в вики проекта." + - type: added + area: release + text: "Прошивальщик в браузере () получил прошивки этого релиза: файлы разбиты по версиям, свежая версия показывается выше предыдущей." + breaking_changes: []