Commit Graph
1413 Commits
Author SHA1 Message Date
shade 6ee3f05f74 fix(panel): таблица соседей появляется сразу, без ожидания очереди CLI 2026-10-22 11:18:29 +03:00
shade 58ad1b54ea feat(panel): данные пресетов, регионов и чёрных списков перенесены на наш сервер 2026-10-22 11:09:13 +03:00
shade 4b4838d8b7 fix(panel): перетаскивание карты больше не зеркальное 2026-10-22 10:55:46 +03:00
shade c8e1447f67 feat(panel): управление картой — зум, перетаскивание, имя нашего узла 2026-10-22 10:48:18 +03:00
shade 69600ef078 fix(panel): карта вынесена из #statsNeighbours — больше не стирается при отрисовке таблицы 2026-10-22 10:43:57 +03:00
shade bf3e33521a feat(panel): колонка Lat / Lon в таблице соседей и видимая ошибка загрузки 2026-10-22 10:38:33 +03:00
shade 3222be2d05 fix(panel): загрузка соседей запускается при активации экрана, а не вне функции 2026-10-22 10:33:24 +03:00
shade c45b0e2d0e fix(panel): карта берёт координаты узла командами get lat/get lon 2026-10-22 10:26:26 +03:00
shade 283d764458 feat(panel): экран соседей сам грузит данные — таблица и карта появляются 2026-10-22 10:18:19 +03:00
shade e0ec168913 feat(panel): карта OSM на экране соседей, центр — координаты узла 2026-10-22 10:13:32 +03:00
shade 3f4a3e9e39 fix(panel): ячейка Name в строках таблицы соседей 2026-10-22 09:55:25 +03:00
shade ff3401e5a3 feat(panel): колонка Name в таблице соседей 2026-10-22 09:54:07 +03:00
shade 1aabeb5d68 fix(panel): на экране соседей снова виден Refresh (перебиваем скрытие панели) 2026-10-22 09:48:08 +03:00
shade 052de0478d fix(panel): правая группа кнопок (Advert, Refresh, Reboot, Logout) прижата вправо 2026-10-22 09:44:07 +03:00
shade f69071cab4 feat(panel): панель действий в одну строку; на соседях Refresh и подтверждение отправки 2026-10-22 09:40:51 +03:00
shade b021cda0d8 fix(panel): Advert и Refresh рядом с Reboot; на экране соседей их нет 2026-10-22 09:31:39 +03:00
shade 790c550b90 feat(panel): экран «Соседи» — кнопка, карточка, Find neighbours и Clear 2026-10-22 09:26:30 +03:00
shade 2ace845023 fix(panel): на /stats активна кнопка Stats, App гаснет 2026-10-22 09:14:54 +03:00
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 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 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: запись в журнале изменений
2026-10-16 12:04:59 +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 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