Commit Graph
3929 Commits
Author SHA1 Message Date
shade 2cc5bb28a9 feat(panel): на экранах CLI и Firmware скрыты Refresh и Advert 2026-10-20 22:58:47 +03:00
shade 82efc66d2c revert(panel): панель возвращена к рабочему состоянию 88d9e5cd 2026-10-20 22:55:41 +03:00
shade 9ad22be96f fix(panel): стили экранов в блоке приложения; карточка соседей после панели действий 2026-10-20 22:49:58 +03:00
shade 8e16aec108 feat(panel): на CLI/Firmware/Neighbours скрыты Refresh и Advert; кнопки экранов в одну строку 2026-10-20 22:37:36 +03:00
shade 2faab8ffc1 fix(panel): откат сломанной перестановки Advert; компактные кнопки и Refresh правее 2026-10-20 22:23:14 +03:00
shade 9e06128239 Revert "fix(panel): Advert рядом с Reboot, карточка соседей ниже панели действий"
This reverts commit 055a5bd24b.
2026-10-20 22:22:13 +03:00
shade 055a5bd24b fix(panel): Advert рядом с Reboot, карточка соседей ниже панели действий 2026-10-20 22:17:53 +03:00
shade aa7df74ce6 feat(panel): экран «Соседи» — карточка с Find/Clear и перенесённой таблицей 2026-10-20 22:13:30 +03:00
shade 262ff1c0dd fix(panel): на /stats активна кнопка Stats, App гаснет 2026-10-20 21:10:32 +03:00
shade 88d9e5cd51 feat(panel): подсказки команд в консоли CLI (datalist) 2026-10-20 21:00:01 +03:00
shade 18897d15b4 feat(panel): на общем экране скрыты карточки CLI и прошивки 2026-10-20 20:36:34 +03:00
shade 013c1f6665 fix(panel): снимается подсветка App/Stats на экранах CLI и Firmware 2026-10-20 20:28:40 +03:00
shade 98cdf40818 fix(panel): экраны CLI и Firmware показывают свои карточки и со страницы Stats 2026-10-20 20:15:19 +03:00
shade 2cc3dc44d0 fix(panel): карточка «Действия» остаётся на всех экранах — кнопки больше не пропадают 2026-10-20 20:06:37 +03:00
shade 1ffd6a274b fix(panel): CSS и showScreen перенесены в страницу приложения (были в блоке логина) 2026-10-20 20:01:28 +03:00
shade e4cb0e1f6c feat(panel): экраны CLI и Firmware с предохранителем, без сохранения состояния 2026-10-20 19:57:29 +03:00
shade 81e9f5ea7a feat(panel): антикеш на всех ответах и кнопки CLI и Firmware в строке действий 2026-10-20 19:49:41 +03:00
shade 7b2146425c revert(panel): страница панели возвращена к рабочей версии (вариант 94d2ae57) 2026-10-20 19:42:30 +03:00
shade a311563eb3 revert(panel): убраны вкладки экранов, ломавшие страницу; антикеш оставлен 2026-10-20 19:35:54 +03:00
shade 0ca4cc49ec fix(panel): кнопки экранов в общей строке «Действия»; жёсткий запрет кеша ответов 2026-10-20 19:27:13 +03:00
shade f7b4042b0d fix(panel): убраны обёртки экранов, из-за которых после входа был пустой экран 2026-10-20 19:20:22 +03:00
shade 6620bb4a88 fix(panel): вкладки экранов в строке «Действия», «Общие»; в CLI и Прошивке скрыты чужие карточки 2026-10-20 19:16:40 +03:00
shade dd493d35ba feat(panel): вкладки Приложение / CLI / Прошивка на одной странице 2026-10-20 19:08:48 +03:00
shade b37b2a8945 feat(cli): команда neighbor.clear для очистки таблицы соседей 2026-10-20 18:59:57 +03:00
shade 1936e70686 feat(neighbours): имя и координаты соседа из анонса, поля в JSON панели 2026-10-20 18:49:42 +03:00
shade f6754c045d fix(panel): переведены последние короткие строки и сообщения JS 2026-10-20 18:27:32 +03:00
shade 38019065c4 fix(panel): блок консоли (быстрые команды и CLI) оставлен на английском 2026-10-20 18:25:37 +03:00
shade 906f6fa7fa feat: лимит флуда анонсами и бюджет канала; перевод веб-панели на русский 2026-10-20 18:23:05 +03:00
shade 94d2ae57f1 feat(build): gzip страниц веб-панели и проверка размера образа; модули AdvertJail и ChannelBudget 2026-10-20 18:15:04 +03:00
shade a4e80805d6 прошивальщик: баннер и проверка свежести — не отдаём ссылки на удалённые файлы из старой вкладки 2026-10-18 09:29:01 +03:00
shade b8d38db198 docs: план на следующий релиз — убрать мёртвые префы вентилятора 2026-10-16 18:23:41 +03:00
shade bdc8a19bd2 fix(flasher): восстановлена кодировка index.html (русский текст был испорчен) 2026-10-16 18:10:59 +03:00
shade 98c6272c24 feat(flasher): блоки версий, заметный поиск платы и прошивка своего файла 2026-10-16 18:10:02 +03:00
shade e1d40a5a81 chore: манифест прошивальщика под релиз 2026.10.1 (224 файла, 112 целей) 2026-10-16 16:38:10 +03:00
shade d383732a31 fix(mqtt): версия в телеметрии снова с суффиксом проекта
- поле firmware_version бралось из FIRMWARE_VERSION, куда при сборке передаётся
  только база upstream (v1.18.0), поэтому сервис видел ровно 1.18.0
- строка собирается в коде: MQTT_FIRMWARE_VERSION = FIRMWARE_VERSION "-posadmesh-meshcoretel",
  публикуется v1.18.0-posadmesh-meshcoretel; одинаково для локальной сборки и CI
- исправлены оба пейлоада: online (со статистикой) и offline
- запасное значение FIRMWARE_VERSION в MQTTUplink.cpp приведено к v1.18.0
- README: запись в журнале изменений
repeater-mqtt-v2026.10.1 repeater-mqtt-espnow-v2026.10.1 repeater-mqtt-bridge-v2026.10.1
2026-10-16 12:04:59 +03:00
shade a761c68f45 docs: мастер настройки — батарея, калибровка ADC от значения платы, экран загрузки
- 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)
2026-10-16 11:54:24 +03:00
shade b3a6be4a7f feat: ADC-поправка батареи для всех плат, вариант A на экране загрузки
- ESP32Board: общий механизм adcMultiplierBase()/adcMultiplier(); setAdcMultiplier
  возвращает false только там, где батарея измеряется не через ADC
- платы со своей формулой переведены на общий механизм: Heltec E213/E290/T190,
  heltec_tracker_v2, Heltec v2, ThinkNode M2/M5; Station G2/G3 и T-Beam сообщают,
  что подстройка не поддерживается
- мастер настройки: поле ADC стартует от действующего значения платы
  (getAdcMultiplier) и работает с тремя знаками (x.xxx), например 5.420;
  0.000 возвращает заводское значение платы
- Meshadventurer: добавлена поддержка множителя (раньше делитель был зашит числом 2
  и set adc.multiplier отвечал Error: unsupported)
- экран загрузки: meshcore.io, версия с датой и posadmesh.ru; строка < Repeater > убрана

Проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt
2026-10-16 11:35:07 +03:00
shade 82ec2f4c83 fix(ui): всплывающее окно для ответов устройства в мастере настройки
- ответ CLI показывался строкой поверх экрана и сливался с содержимым, особенно
  в верхней части (например OK - reboot to apply на экране частоты)
- теперь это модальное окно: рамка, свой фон, перенос текста и кнопка OK;
  закрывается коротким нажатием, пока открыто — экран под ним не меняется
- окно показывается сразу (сброс таймера отрисовки), при закрытии экран
  перерисовывается немедленно
- setToast/renderToast заменены на showPopup/renderPopup
- документация: posadmesh-docs/device-setup.md (раздел «Всплывающие сообщения»
  и макет экрана), README — журнал изменений

Проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt,
Generic_E22_sx1262_repeater_mqtt (без дисплея)
2026-10-16 11:16:16 +03:00
shade 8f27aa9202 fix(ui): мастер настройки больше не отправляет set radio с нулевыми значениями
- applyRadio() отправлял команду всегда, в том числе при выходе из меню, если
  в этой сессии не открывали ни один радиопункт: рабочая копия (_radio_*) оставалась
  нулевой, устройство отвечало Error, invalid radio params
- добавлен признак _radio_dirty: команда уходит только после реальной правки
  частоты, полосы, SF или CR; при успешном применении признак сбрасывается
- перед отправкой значения перечитываются из настроек узла (loadRadio), а при
  каждом входе в мастер рабочая копия обновляется (_radio_loaded = false)
- README: запись в журнале изменений

Проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt,
Generic_E22_sx1262_repeater_mqtt (без дисплея)
2026-10-16 11:03:21 +03:00
shade 1e751a85d4 feat(ui): экран батареи и калибровка ADC в мастере настройки
- UITask: новые пункты меню Battery и ADC
  Battery — напряжение, процент заряда, полоска и текущий множитель ADC; короткое
  нажатие показывает «сырое» значение АЦП в милливольтах, длинное/двойное — выход в меню
  ADC — поразрядная правка множителя в формате x.xx (как полоса), под цифрами
  показывается измеренное напряжение, поэтому калибровать можно прямо на экране
- процент заряда берётся у платы (getBatteryPercent), а если плата его не считает —
  линейно по getBatteryMinMilliVolts()/getBatteryMaxMilliVolts()
- множитель применяется командой set adc.multiplier, значение 0.00 возвращает
  заводской расчёт платы; проверка и сохранение остаются в CommonCLI
- поразрядный редактор SCREEN_DIGITS теперь обслуживает и полосу, и ADC
- документация: posadmesh-docs/device-setup.md (таблица меню, раздел «Батарея и
  калибровка ADC», два новых макета экранов), README — журнал изменений

Проверено сборкой: heltec_v4_repeater_mqtt, Meshadventurer_sx1262_repeater_mqtt,
Generic_E22_sx1262_repeater_mqtt (без дисплея — код исключается препроцессором)
2026-10-16 10:32:27 +03:00
shade 8fa0bfe1d3 feat: MQTT-окружения для Waveshare S3 LR1121 и переход AGENTS.md на работу в main
- добавлены Waveshare_S3_LR1121_repeater_mqtt/_espnow/_bridge: из новых плат
  upstream 1.18.0 только эта на ESP32; ThinkNode M8 и M4, Wio Tracker L1 1W и
  Muzi Base — на nRF52, WiFi нет, MQTT-сборки для них невозможны (им место в
  форке MeshCore, не здесь)
- EnvironmentSensorManager: возвращён scanI2CBus из upstream (слияние его
  потеряло, потому что мы когда-то заменили полное сканирование шины поштучной
  проверкой адресов); при этом сохранён наш таймаут 20 мс на ESP32 и наша
  поддержка адреса, определённого платой
- AGENTS.md: работаем в main, ветка develop устарела (эпоха EastMesh); upstream
  тянем релизным тегом, а не веткой dev; версия upstream — v1.18.0

Проверено сборкой после слияния:
  heltec_v4_repeater_mqtt, LilyGo_TBeam_1W_repeater_mqtt,
  Meshadventurer_sx1262_repeater_mqtt, RAK_3112_repeater_mqtt,
  heltec_v4_repeater_mqtt_espnow, heltec_v4_repeater_mqtt_bridge,
  LilyGo_Tlora_C6_repeater_mqtt_espnow (наш фикс ESP-IDF 5),
  LilyGo_TBeam_1W_repeater_mqtt_espnow,
  Waveshare_S3_LR1121_repeater_mqtt, Waveshare_S3_LR1121_repeater_mqtt_bridge
MQTT-целей стало 112: 42 uplink, 34 espnow, 36 bridge
2026-10-16 10:20:54 +03:00
shade 80d36d20bc Merge upstream MeshCore v1.18.0 (tag repeater-v1.18.0) into main
Разрешённые конфликты (12 файлов, из них 4 companion взяты из upstream целиком):

- examples/companion_radio/*: взят upstream, companion в форке не собирается
- examples/simple_repeater/MyMesh.cpp: убрана наша интеграция вентилятора
  (setFanPostTxHoldMs/setFanMode) — upstream 1.18.0 сам грузит настройки вентилятора
  через attachDynamicPrefs, а его CLI (get fan, set fan auto|on|off, set fan.lo/hi)
  доступен через board.handleCommand из CommonCLI; удалён наш дублирующий блок
  get fan/set fan. Оставлена наша сигнатура format*StatsReply(char*, size_t)
- examples/simple_repeater/MyMesh.h: оставлены наши WebSensorSnapshot/BlacklistEntry/
  ChanNameFilter и getCLI() (нужен мастеру настройки), добавлен upstream isHiddenNode();
  FIRMWARE_VERSION по умолчанию — v1.18.0
- src/helpers/CommonCLI.h: оставлены наши FanPrefs (совместимость NVS) и добавлен
  upstream DynamicConfigSerializer custom (getCustom() нужен attachDynamicPrefs)
- src/helpers/ESP32Board.h: время восстанавливается сначала из NVS (наша надстройка,
  переживает отключение питания), затем из RTC-памяти upstream, иначе опорная дата;
  deep sleep по-прежнему не трогаем
- src/helpers/sensors/EnvironmentSensorManager.cpp: взята логика upstream
  (detected[], один драйвер на тип), поверх возвращено определение адреса платой
  (boardDetectedI2CSensorAddress)
- variants/lilygo_tbeam_1w/*: взят upstream (задача вентилятора, NTC, гистерезис,
  CLI и сохранение настроек), наши правки перенесены как делегирование его API
- README.md: оставлен наш
2026-10-16 10:05:18 +03:00
shade 8ad032a311 прошивальщик: манифест под релиз v0.2.0 после фикса меню (sha 6f67162f, версия без изменений) pre-1.18.0 2026-10-15 23:08:08 +03:00
shade 40f1726f1b прошивальщик: манифест под пересобранный релиз v0.2.0 (версия без изменений, sha 2831eab6) 2026-10-15 22:01:28 +03:00
shade 3487352665 прошивальщик: список файлов разбит по версиям, свежая версия сверху 2026-10-15 21:24:03 +03:00
shade be15e247fc прошивальщик: манифест под релиз MeshCore v0.2.0 (форк на базе 1.18.0) 2026-10-15 21:13:16 +03:00
Scott Powell 81dbae592f Merge branch 'dev' 2026-10-15 19:42:40 +11:00
Scott Powell 07a833bbbe * version 1.18.0 2026-10-15 19:42:01 +11:00
ripplebiz 9043a2bbf8 Merge pull request #3596 from recrof/wifi-companion-boards
added dynamic wifi to: heltec wsl3, v4r8, wireless paper; rak 3112; seeed xiao s3 (wio)
2026-10-15 19:35:32 +11:00
Rastislav Vysoky 97c0aec8d6 added dynamic wifi to: heltec wsl3, v4r8, wireless paper; rak 3112; xiao s3 (wio) 2026-10-15 09:57:31 +02:00